xref: /llvm-project/llvm/test/Analysis/MemorySSA/loop-rotate-simplified-clone.ll (revision 1469d82e1cb3edc939d6b93089046edfef0cf36c)
1; RUN: opt -verify-memoryssa -passes=loop-rotate %s -S | FileCheck %s
2; REQUIRES: asserts
3
4; CHECK-LABEL: @test(i1 %arg)
5define dso_local void @test(i1 %arg) {
6entry:
7  br label %preheader
8
9preheader:
10  br label %l39
11
12l39:
13  %v40 = phi ptr [ @foo, %preheader ], [ %v43, %crit_edge ]
14  %v41 = call float %v40(float undef)
15  %v42 = load i32, ptr undef, align 8
16  br i1 %arg, label %crit_edge, label %loopexit
17
18crit_edge:
19  %v43 = load ptr, ptr undef, align 8
20  br label %l39
21
22loopexit:
23  unreachable
24}
25
26; Function Attrs: readnone
27declare dso_local float @foo(float) #0 align 32
28
29attributes #0 = { readnone }
30