diff options
Diffstat (limited to 'test/Transforms/LICM')
-rw-r--r-- | test/Transforms/LICM/2007-10-01-PromoteSafeValue.ll | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/test/Transforms/LICM/2007-10-01-PromoteSafeValue.ll b/test/Transforms/LICM/2007-10-01-PromoteSafeValue.ll new file mode 100644 index 0000000..7359cc0 --- /dev/null +++ b/test/Transforms/LICM/2007-10-01-PromoteSafeValue.ll @@ -0,0 +1,21 @@ +; RUN: llvm-as < %s | opt -licm | llvm-dis | grep promoted +; Promote value if at least one use is safe + + +define i32 @f2(i32* %p, i8* %q) { +entry: + br label %loop.head + +loop.head: ; preds = %cond.true, %entry + store i32 20, i32* %p + %tmp3.i = icmp eq i8* null, %q ; <i1> [#uses=1] + br i1 %tmp3.i, label %exit, label %cond.true + +cond.true: ; preds = %loop.head + store i32 40, i32* %p + br label %loop.head + +exit: ; preds = %loop.head + ret i32 0 +} + |