Skip to content

Commit 90ecb9d

Browse files
committed
[MemCpyOpt][test] add memssa verification on stack-move tests(NFC)
1 parent c732a45 commit 90ecb9d

File tree

2 files changed

+6
-5
lines changed

2 files changed

+6
-5
lines changed

llvm/test/Transforms/MemCpyOpt/lifetime-missing.ll

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 2
2-
; RUN: opt < %s -S -passes=memcpyopt | FileCheck %s
2+
; RUN: opt < %s -S -passes=memcpyopt -verify-memoryssa | FileCheck %s
33

44
; Check that we don't introduce llvm.lifetime.end.
55

@@ -8,14 +8,15 @@ target triple = "x86_64-grtev4-linux-gnu"
88

99
; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
1010
declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #0
11+
declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg)
1112

1213
define void @test() {
1314
; CHECK-LABEL: define void @test() {
1415
; CHECK-NEXT: entry:
1516
; CHECK-NEXT: [[AGG_TMP3_SROA_35:%.*]] = alloca [20 x i8], align 4
1617
; CHECK-NEXT: [[AGG_TMP_SROA_14:%.*]] = alloca [20 x i8], align 4
1718
; CHECK-NEXT: [[AGG_TMP_SROA_14_128_SROA_IDX:%.*]] = getelementptr i8, ptr [[AGG_TMP_SROA_14]], i64 4
18-
; CHECK-NEXT: call void @llvm.memcpy.p0.p0.i64(ptr [[AGG_TMP_SROA_14_128_SROA_IDX]], ptr null, i64 1, i1 false)
19+
; CHECK-NEXT: call void @llvm.memset.p0.i64(ptr [[AGG_TMP_SROA_14_128_SROA_IDX]], i8 0, i64 1, i1 false)
1920
; CHECK-NEXT: call void @llvm.lifetime.start.p0(i64 20, ptr [[AGG_TMP3_SROA_35]])
2021
; CHECK-NEXT: call void @llvm.memcpy.p0.p0.i64(ptr [[AGG_TMP3_SROA_35]], ptr [[AGG_TMP_SROA_14]], i64 20, i1 false)
2122
; CHECK-NEXT: [[AGG_TMP3_SROA_35_128_SROA_IDX:%.*]] = getelementptr i8, ptr [[AGG_TMP3_SROA_35]], i64 4
@@ -27,7 +28,7 @@ entry:
2728
%agg.tmp3.sroa.35 = alloca [20 x i8], align 4
2829
%agg.tmp.sroa.14 = alloca [20 x i8], align 4
2930
%agg.tmp.sroa.14.128.sroa_idx = getelementptr i8, ptr %agg.tmp.sroa.14, i64 4
30-
call void @llvm.memcpy.p0.p0.i64(ptr %agg.tmp.sroa.14.128.sroa_idx, ptr null, i64 1, i1 false)
31+
call void @llvm.memset.p0.i64(ptr %agg.tmp.sroa.14.128.sroa_idx, i8 0, i64 1, i1 false)
3132
call void @llvm.lifetime.start.p0(i64 20, ptr %agg.tmp3.sroa.35)
3233
call void @llvm.memcpy.p0.p0.i64(ptr %agg.tmp3.sroa.35, ptr %agg.tmp.sroa.14, i64 20, i1 false)
3334
%agg.tmp3.sroa.35.128.sroa_idx = getelementptr i8, ptr %agg.tmp3.sroa.35, i64 4
@@ -41,7 +42,7 @@ declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias
4142

4243
; uselistorder directives
4344
uselistorder i64 4, { 2, 0, 1 }
44-
uselistorder ptr @llvm.memcpy.p0.p0.i64, { 3, 2, 1, 0 }
45+
uselistorder ptr @llvm.memcpy.p0.p0.i64, { 2, 1, 0 }
4546

4647
attributes #0 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
4748
attributes #1 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) }

llvm/test/Transforms/MemCpyOpt/stack-move.ll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 2
2-
; RUN: opt < %s -passes=memcpyopt -S | FileCheck %s
2+
; RUN: opt < %s -passes=memcpyopt -verify-memoryssa -S | FileCheck %s
33

44
%struct.Foo = type { i32, i32, i32 }
55

0 commit comments

Comments
 (0)