From f2038b1d9325b23e73a20b57fcb3508f4dda1817 Mon Sep 17 00:00:00 2001 From: Devang Patel Date: Wed, 19 Sep 2007 20:18:51 +0000 Subject: Avoid unsafe promotion. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42149 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/Transforms/LICM/2007-09-17-PromoteValue.ll | 35 +++++++++++++++++++++++++ 1 file changed, 35 insertions(+) (limited to 'test/Transforms/LICM') diff --git a/test/Transforms/LICM/2007-09-17-PromoteValue.ll b/test/Transforms/LICM/2007-09-17-PromoteValue.ll index acbbabf40a..e9ba9e1631 100644 --- a/test/Transforms/LICM/2007-09-17-PromoteValue.ll +++ b/test/Transforms/LICM/2007-09-17-PromoteValue.ll @@ -23,4 +23,39 @@ clear_modes.exit: ; preds = %blah.i unreachable } +define i32 @f(i8* %ptr) { +entry: + br label %loop.head + +loop.head: ; preds = %cond.true, %entry + %x = phi i8* [ %ptr, %entry ], [ %ptr.i, %cond.true ] ; [#uses=1] + %tmp3.i = icmp ne i8* %ptr, %x ; [#uses=1] + br i1 %tmp3.i, label %cond.true, label %exit + +cond.true: ; preds = %loop.head + %ptr.i = getelementptr i8* %ptr, i32 0 ; [#uses=2] + store i8 0, i8* %ptr.i + br label %loop.head + +exit: ; preds = %loop.head + ret i32 0 +} + +define i32 @f2(i8* %p, i8* %q) { +entry: + br label %loop.head + +loop.head: ; preds = %cond.true, %entry + %tmp3.i = icmp eq i8* null, %q ; [#uses=1] + br i1 %tmp3.i, label %exit, label %cond.true + +cond.true: ; preds = %loop.head + %ptr.i = getelementptr i8* %p, i32 0 ; [#uses=2] + store i8 0, i8* %ptr.i + br label %loop.head + +exit: ; preds = %loop.head + ret i32 0 +} + declare void @exit(i32) -- cgit v1.2.3