diff options
Diffstat (limited to 'llvm/test/Analysis/MemorySSA')
| -rw-r--r-- | llvm/test/Analysis/MemorySSA/invariant-groups.ll | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/llvm/test/Analysis/MemorySSA/invariant-groups.ll b/llvm/test/Analysis/MemorySSA/invariant-groups.ll index 6e94ae178db..26a0a32e86f 100644 --- a/llvm/test/Analysis/MemorySSA/invariant-groups.ll +++ b/llvm/test/Analysis/MemorySSA/invariant-groups.ll @@ -16,6 +16,8 @@ define i32 @foo(i32* %a) { store i32 1, i32* @g, align 4 %1 = bitcast i32* %a to i8* +; CHECK: MemoryUse(2) +; CHECK-NEXT: %a8 = call i8* @llvm.invariant.group.barrier(i8* %1) %a8 = call i8* @llvm.invariant.group.barrier(i8* %1) %a32 = bitcast i8* %a8 to i32* @@ -33,6 +35,8 @@ define i32 @skipBarrier(i32* %a) { store i32 0, i32* %a, align 4, !invariant.group !0 %1 = bitcast i32* %a to i8* +; CHECK: MemoryUse(1) +; CHECK-NEXT: %a8 = call i8* @llvm.invariant.group.barrier(i8* %1) %a8 = call i8* @llvm.invariant.group.barrier(i8* %1) %a32 = bitcast i8* %a8 to i32* @@ -50,6 +54,8 @@ define i32 @skipBarrier2(i32* %a) { %v = load i32, i32* %a, align 4, !invariant.group !0 %1 = bitcast i32* %a to i8* +; CHECK: MemoryUse(liveOnEntry) +; CHECK-NEXT: %a8 = call i8* @llvm.invariant.group.barrier(i8* %1) %a8 = call i8* @llvm.invariant.group.barrier(i8* %1) %a32 = bitcast i8* %a8 to i32* @@ -79,6 +85,8 @@ define i32 @handleInvariantGroups(i32* %a) { ; CHECK-NEXT: store i32 1 store i32 1, i32* @g, align 4 %1 = bitcast i32* %a to i8* +; CHECK: MemoryUse(2) +; CHECK-NEXT: %a8 = call i8* @llvm.invariant.group.barrier(i8* %1) %a8 = call i8* @llvm.invariant.group.barrier(i8* %1) %a32 = bitcast i8* %a8 to i32* @@ -135,6 +143,9 @@ entry: ; CHECK: 2 = MemoryDef(1) ; CHECK-NEXT: call void @clobber call void @clobber8(i8* %p) + +; CHECK: MemoryUse(2) +; CHECK-NEXT: %after = call i8* @llvm.invariant.group.barrier(i8* %p) %after = call i8* @llvm.invariant.group.barrier(i8* %p) br i1 undef, label %Loop.Body, label %Loop.End @@ -179,6 +190,9 @@ entry: ; CHECK: 2 = MemoryDef(1) ; CHECK-NEXT: call void @clobber call void @clobber8(i8* %p) + +; CHECK: MemoryUse(2) +; CHECK-NEXT: %after = call i8* @llvm.invariant.group.barrier(i8* %p) %after = call i8* @llvm.invariant.group.barrier(i8* %p) br i1 undef, label %Loop.Body, label %Loop.End @@ -238,6 +252,8 @@ entry: ; CHECK: 2 = MemoryDef(1) ; CHECK-NEXT: call void @clobber call void @clobber8(i8* %p) +; CHECK: MemoryUse(2) +; CHECK-NEXT: %after = call i8* @llvm.invariant.group.barrier(i8* %p) %after = call i8* @llvm.invariant.group.barrier(i8* %p) br i1 undef, label %Loop.Pre, label %Loop.End |

