diff options
author | Eli Friedman <eli.friedman@gmail.com> | 2011-04-09 06:39:43 +0000 |
---|---|---|
committer | Eli Friedman <eli.friedman@gmail.com> | 2011-04-09 06:39:43 +0000 |
commit | 83d13a046fc6d94a3a44a023a7ebad6f0cda333b (patch) | |
tree | 89de1775465f3e00336acdbe5a0b9f87cbfc89b9 /test/Transforms/LICM | |
parent | 42e31dfd4f3c7fe8f83c930cd3a1700cef6914ea (diff) |
Test for r129190.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129197 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Transforms/LICM')
-rw-r--r-- | test/Transforms/LICM/2011-04-06-HoistMissedASTUpdate.ll | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/test/Transforms/LICM/2011-04-06-HoistMissedASTUpdate.ll b/test/Transforms/LICM/2011-04-06-HoistMissedASTUpdate.ll new file mode 100644 index 0000000000..5774f587f1 --- /dev/null +++ b/test/Transforms/LICM/2011-04-06-HoistMissedASTUpdate.ll @@ -0,0 +1,32 @@ +; RUN: opt < %s -basicaa -licm -S | FileCheck %s +; PR9630 + +@g_39 = external global i16, align 2 + +declare i32* @func_84(i32** nocapture) nounwind readonly + +declare i32** @func_108(i32*** nocapture) nounwind readonly + +define void @func() nounwind { +entry: + br label %for.body4.lr.ph + +for.body4.lr.ph: + br label %for.body4 + +; CHECK: for.body4: +; CHECK: volatile load i16* @g_39 + +for.body4: + %l_612.11 = phi i32* [ undef, %for.body4.lr.ph ], [ %call19, %for.body4 ] + %tmp7 = volatile load i16* @g_39, align 2 + %call = call i32** @func_108(i32*** undef) + %call19 = call i32* @func_84(i32** %call) + br i1 false, label %for.body4, label %for.cond.loopexit + +for.cond.loopexit: + br i1 false, label %for.body4.lr.ph, label %for.end26 + +for.end26: + ret void +} |