X-Git-Url: http://plrg.eecs.uci.edu/git/?p=oota-llvm.git;a=blobdiff_plain;f=test%2FTransforms%2FGVN%2Funreachable_block_infinite_loop.ll;h=a47e9e4c3a044b2bfc136fabc1266742b73ab08c;hp=fca5a28b38dd63b09023038bdefc2a49e12d6d51;hb=75ce6bba4e612b2fa474a0772cc2331c909b95f7;hpb=5a130506287bd2e0ea8f8089a4091e60ea154729 diff --git a/test/Transforms/GVN/unreachable_block_infinite_loop.ll b/test/Transforms/GVN/unreachable_block_infinite_loop.ll index fca5a28b38d..a47e9e4c3a0 100644 --- a/test/Transforms/GVN/unreachable_block_infinite_loop.ll +++ b/test/Transforms/GVN/unreachable_block_infinite_loop.ll @@ -12,3 +12,32 @@ unreachable_block: ret i32 %a } +define i32 @pr23096_test0() { +entry: + br label %bb0 + +bb1: + %ptr1 = ptrtoint i32* %ptr2 to i64 + %ptr2 = inttoptr i64 %ptr1 to i32* + br i1 undef, label %bb0, label %bb1 + +bb0: + %phi = phi i32* [ undef, %entry ], [ %ptr2, %bb1 ] + %load = load i32, i32* %phi + ret i32 %load +} + +define i32 @pr23096_test1() { +entry: + br label %bb0 + +bb1: + %ptr1 = getelementptr i32, i32* %ptr2, i32 0 + %ptr2 = getelementptr i32, i32* %ptr1, i32 0 + br i1 undef, label %bb0, label %bb1 + +bb0: + %phi = phi i32* [ undef, %entry ], [ %ptr2, %bb1 ] + %load = load i32, i32* %phi + ret i32 %load +}