diff options
author | Andrew Trick <atrick@apple.com> | 2012-04-10 05:14:42 +0000 |
---|---|---|
committer | Andrew Trick <atrick@apple.com> | 2012-04-10 05:14:42 +0000 |
commit | d9fc1ce8096f7138c60edc3a6655583bf209780e (patch) | |
tree | f03561dfeb2555e6e05b5a4ed8ce54f6c618ce96 /test/Transforms/LoopUnswitch | |
parent | 64c0748eb34272a6548980b3277aedebb6e6d265 (diff) |
Fix 12513: Loop unrolling breaks with indirect branches.
Take this opportunity to generalize the indirectbr bailout logic for
loop transformations. CFG transformations will never get indirectbr
right, and there's no point trying.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154386 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Transforms/LoopUnswitch')
-rw-r--r-- | test/Transforms/LoopUnswitch/2012-04-02-IndirectBr.ll | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/test/Transforms/LoopUnswitch/2012-04-02-IndirectBr.ll b/test/Transforms/LoopUnswitch/2012-04-02-IndirectBr.ll index c677bde116..c92f0a2be3 100644 --- a/test/Transforms/LoopUnswitch/2012-04-02-IndirectBr.ll +++ b/test/Transforms/LoopUnswitch/2012-04-02-IndirectBr.ll @@ -1,18 +1,13 @@ -; RUN: opt -loop-unswitch -disable-output -stats -info-output-file - < %s | FileCheck --check-prefix=STATS %s -; RUN: opt -S -loop-unswitch -verify-loop-info -verify-dom-info %s | FileCheck %s - -; STATS: 1 loop-unswitch - Total number of instructions analyzed +; RUN: opt < %s -S -loop-unswitch -verify-loop-info -verify-dom-info | FileCheck %s +; PR12343: -loop-unswitch crash on indirect branch ; CHECK: %0 = icmp eq i64 undef, 0 ; CHECK-NEXT: br i1 %0, label %"5", label %"4" ; CHECK: "5": ; preds = %entry -; CHECK-NEXT: br label %"5.split" - -; CHECK: "5.split": ; preds = %"5" ; CHECK-NEXT: br label %"16" -; CHECK: "16": ; preds = %"22", %"5.split" +; CHECK: "16": ; preds = %"22", %"5" ; CHECK-NEXT: indirectbr i8* undef, [label %"22", label %"33"] ; CHECK: "22": ; preds = %"16" |