diff --git a/test/Transforms/SimplifyCFG/2006-10-19-UncondDiv.ll b/test/Transforms/SimplifyCFG/2006-10-19-UncondDiv.ll new file mode 100644 index 00000000000..b8946dcf989 --- /dev/null +++ b/test/Transforms/SimplifyCFG/2006-10-19-UncondDiv.ll @@ -0,0 +1,35 @@ +; RUN: llvm-as < %s | opt -simplifycfg -disable-output && +; RUN: llvm-as < %s | opt -simplifycfg | llvm-dis | not grep select + +; PR957 + +uint %test(uint %tmp) { +cond_false179: ; preds = %cond_true + %tmp181 = seteq uint %tmp, 0 ; [#uses=1] + br bool %tmp181, label %cond_true182, label %cond_next185 + +cond_true182: ; preds = %cond_false179 + br label %cond_next185 + +cond_next185: ; preds = %cond_true182, %cond_false179 + %d0.3 = phi uint [ div (uint 1, uint 0), %cond_true182 ], [ %tmp, +%cond_false179 ] ; [#uses=7] + + ret uint %d0.3 +} + +uint %test2(uint %tmp) { +cond_false179: ; preds = %cond_true + %tmp181 = seteq uint %tmp, 0 ; [#uses=1] + br bool %tmp181, label %cond_true182, label %cond_next185 + +cond_true182: ; preds = %cond_false179 + br label %cond_next185 + +cond_next185: ; preds = %cond_true182, %cond_false179 + %d0.3 = phi uint [ div (uint 1, uint 0), %cond_true182 ], [ %tmp, +%cond_false179 ] ; [#uses=7] + call uint %test(uint 4) + ret uint %d0.3 +} +