diff options
author | Chris Lattner <sabre@nondot.org> | 2009-12-01 06:04:43 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2009-12-01 06:04:43 +0000 |
commit | 3c9aca907970255d37da45528e6578f436de6e22 (patch) | |
tree | 79de30b8e0e014243992d34dbafae47b97b412db /llvm/test/Transforms/JumpThreading/crash.ll | |
parent | 3a438a93366e13b26ad08a1a3363c0fc0d3e2213 (diff) | |
download | bcm5719-llvm-3c9aca907970255d37da45528e6578f436de6e22.tar.gz bcm5719-llvm-3c9aca907970255d37da45528e6578f436de6e22.zip |
fix PR5640 by tracking whether a block is the header of a loop more
precisely, which prevents us from infinitely peeling the loop.
llvm-svn: 90211
Diffstat (limited to 'llvm/test/Transforms/JumpThreading/crash.ll')
-rw-r--r-- | llvm/test/Transforms/JumpThreading/crash.ll | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/llvm/test/Transforms/JumpThreading/crash.ll b/llvm/test/Transforms/JumpThreading/crash.ll index 7e2a2a047d1..b2b9d69e16d 100644 --- a/llvm/test/Transforms/JumpThreading/crash.ll +++ b/llvm/test/Transforms/JumpThreading/crash.ll @@ -192,3 +192,23 @@ bb61: ret void } + +; PR5640 +define fastcc void @test6(i1 %tmp, i1 %tmp1) nounwind ssp { +entry: + br i1 %tmp, label %bb12, label %bb14 + +bb12: + br label %bb14 + +bb14: + %A = phi i1 [ %A, %bb13 ], [ true, %bb12 ], [%tmp1, %entry] + br label %bb13 + +bb13: + br i1 %A, label %bb14, label %bb61 + + +bb61: + ret void +} |