diff options
Diffstat (limited to 'llvm/test')
-rw-r--r-- | llvm/test/Analysis/MemorySSA/loop-rotate-simplified-clone.ll | 29 |
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 } |