summaryrefslogtreecommitdiffstats
path: root/llvm/test/Analysis/MemorySSA
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/Analysis/MemorySSA')
-rw-r--r--llvm/test/Analysis/MemorySSA/loop-rotate-simplified-clone.ll29
1 files changed, 29 insertions, 0 deletions
diff --git a/llvm/test/Analysis/MemorySSA/loop-rotate-simplified-clone.ll b/llvm/test/Analysis/MemorySSA/loop-rotate-simplified-clone.ll
new file mode 100644
index 00000000000..3d0efc6f6bd
--- /dev/null
+++ b/llvm/test/Analysis/MemorySSA/loop-rotate-simplified-clone.ll
@@ -0,0 +1,29 @@
+; RUN: opt -verify-memoryssa -enable-mssa-loop-dependency -loop-rotate %s -S | FileCheck %s
+; REQUIRES: asserts
+
+; CHECK-LABEL: @test()
+define dso_local void @test() {
+entry:
+ br label %preheader
+
+preheader:
+ br label %l39
+
+l39:
+ %v40 = phi float (float)* [ @foo, %preheader ], [ %v43, %crit_edge ]
+ %v41 = call float %v40(float undef)
+ %v42 = load i32, i32* undef, align 8
+ br i1 undef, label %crit_edge, label %loopexit
+
+crit_edge:
+ %v43 = load float (float)*, float (float)** undef, align 8
+ br label %l39
+
+loopexit:
+ unreachable
+}
+
+; Function Attrs: readnone
+declare dso_local float @foo(float) #0 align 32
+
+attributes #0 = { readnone }
OpenPOWER on IntegriCloud