diff options
| author | Edward O'Callaghan <eocallaghan@auroraux.org> | 2009-11-24 11:51:52 +0000 |
|---|---|---|
| committer | Edward O'Callaghan <eocallaghan@auroraux.org> | 2009-11-24 11:51:52 +0000 |
| commit | 5fd452d596fc38ceffb4fc11bc6a535697f346de (patch) | |
| tree | be1e64e03649a9ee782d4436c75d58bde0667c03 /llvm/test/Transforms/LoopUnswitch | |
| parent | c2998766f02a1a66d68cee3560fe2c6a6ebfcd29 (diff) | |
| download | bcm5719-llvm-5fd452d596fc38ceffb4fc11bc6a535697f346de.tar.gz bcm5719-llvm-5fd452d596fc38ceffb4fc11bc6a535697f346de.zip | |
Fix for PR5373, Credit to Jakub Staszak.
llvm-svn: 89758
Diffstat (limited to 'llvm/test/Transforms/LoopUnswitch')
| -rw-r--r-- | llvm/test/Transforms/LoopUnswitch/5373.ll | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/llvm/test/Transforms/LoopUnswitch/5373.ll b/llvm/test/Transforms/LoopUnswitch/5373.ll new file mode 100644 index 00000000000..77b78350c5d --- /dev/null +++ b/llvm/test/Transforms/LoopUnswitch/5373.ll @@ -0,0 +1,24 @@ +; RUN: opt < %s -loop-unswitch -stats -disable-output |& grep "3 loop-unswitch - Number of branches unswitched" + +define noalias i32* @func_16(i32** %p_18, i32* %p_20) noreturn nounwind ssp { +entry: + %lnot = icmp eq i32** %p_18, null ; <i1> [#uses=1] + %lnot6 = icmp eq i32* %p_20, null ; <i1> [#uses=1] + br label %for.body + +for.body: ; preds = %cond.end, %entry + br i1 %lnot, label %cond.end, label %cond.true + +cond.true: ; preds = %for.body + tail call void @f() + unreachable + +cond.end: ; preds = %for.body + br i1 %lnot6, label %for.body, label %cond.true10 + +cond.true10: ; preds = %cond.end + tail call void @f() + unreachable +} + +declare void @f() noreturn |

