Skip to content

Commit 2c6eec2

Browse files
committed
[Tests] Avoid lifetime intrinsics on non-allocas (NFC)
Don't rely on auto-upgrade, instead either remove unnecessary casts or remove no longer applicable tests.
1 parent 6ed921f commit 2c6eec2

File tree

19 files changed

+134
-156
lines changed

19 files changed

+134
-156
lines changed

llvm/test/Analysis/MemorySSA/pr39197.ll

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,15 @@ target triple = "s390x-ibm-linux"
88
@1 = internal global i64 9, align 8
99
@g_1042 = external dso_local global [5 x i16], align 2
1010

11+
declare void @dummy()
12+
1113
; CHECK-LABEL: @main()
1214
; Function Attrs: nounwind
1315
define dso_local void @main() #0 {
1416
call void @func_1()
1517
unreachable
1618
}
1719

18-
; Function Attrs: argmemonly nounwind
19-
declare void @llvm.lifetime.end.p0(i64, ptr nocapture) #1
20-
2120
; Function Attrs: nounwind
2221
define dso_local void @func_1() #0 {
2322
%1 = alloca ptr, align 8
@@ -31,7 +30,7 @@ define dso_local void @func_1() #0 {
3130
%7 = load i64, ptr @1, align 8, !tbaa !5
3231
%8 = and i64 %7, %6
3332
store i64 %8, ptr @1, align 8, !tbaa !5
34-
call void @llvm.lifetime.end.p0(i64 4, ptr undef) #2
33+
call void @dummy()
3534
unreachable
3635

3736
; <label>:9: ; preds = %0

llvm/test/Analysis/MemorySSA/pr43044.ll

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,8 @@ cleanup1400.loopexit1: ; preds = %for.cond1050
4747
br label %cleanup1400
4848

4949
cleanup1400: ; preds = %cleanup1400.loopexit1, %cleanup1400.loopexit.split
50-
call void @llvm.lifetime.end.p0(i64 4, ptr nonnull undef)
50+
call void @dummy()
5151
unreachable
5252
}
53+
54+
declare void @dummy()

llvm/test/Analysis/MemorySSA/renamephis.ll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ block.exit: ; preds = %cond.exit
4141
unreachable
4242

4343
sw.bb94: ; preds = %cond.exit
44-
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull undef)
44+
call void @g()
4545
br label %cleanup
4646

4747
cleanup: ; preds = %sw.bb94, %cond.exit, %cond.exit

llvm/test/Analysis/ScalarEvolution/add-expr-pointer-operand-sorting.ll

Lines changed: 14 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -21,28 +21,26 @@ define i32 @d(i32 %base) {
2121
; CHECK-NEXT: Classifying expressions for: @d
2222
; CHECK-NEXT: %e = alloca [1 x [1 x i8]], align 1
2323
; CHECK-NEXT: --> %e U: full-set S: full-set
24-
; CHECK-NEXT: %0 = bitcast ptr %e to ptr
25-
; CHECK-NEXT: --> %e U: full-set S: full-set
2624
; CHECK-NEXT: %f.0 = phi i32 [ %base, %entry ], [ %inc, %for.cond ]
2725
; CHECK-NEXT: --> {%base,+,1}<nsw><%for.cond> U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %for.cond: Computable }
2826
; CHECK-NEXT: %idxprom = sext i32 %f.0 to i64
2927
; CHECK-NEXT: --> {(sext i32 %base to i64),+,1}<nsw><%for.cond> U: [-2147483648,-9223372036854775808) S: [-2147483648,-9223372036854775808) Exits: <<Unknown>> LoopDispositions: { %for.cond: Computable }
3028
; CHECK-NEXT: %arrayidx = getelementptr inbounds [1 x [1 x i8]], ptr %e, i64 0, i64 %idxprom
3129
; CHECK-NEXT: --> {((sext i32 %base to i64) + %e),+,1}<nw><%for.cond> U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %for.cond: Computable }
32-
; CHECK-NEXT: %1 = load ptr, ptr @c, align 8
33-
; CHECK-NEXT: --> %1 U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %for.cond: Variant }
34-
; CHECK-NEXT: %sub.ptr.lhs.cast = ptrtoint ptr %1 to i64
35-
; CHECK-NEXT: --> (ptrtoint ptr %1 to i64) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %for.cond: Variant }
30+
; CHECK-NEXT: %load1 = load ptr, ptr @c, align 8
31+
; CHECK-NEXT: --> %load1 U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %for.cond: Variant }
32+
; CHECK-NEXT: %sub.ptr.lhs.cast = ptrtoint ptr %load1 to i64
33+
; CHECK-NEXT: --> (ptrtoint ptr %load1 to i64) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %for.cond: Variant }
3634
; CHECK-NEXT: %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, ptrtoint (ptr @b to i64)
37-
; CHECK-NEXT: --> ((-1 * (ptrtoint ptr @b to i64)) + (ptrtoint ptr %1 to i64)) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %for.cond: Variant }
35+
; CHECK-NEXT: --> ((-1 * (ptrtoint ptr @b to i64)) + (ptrtoint ptr %load1 to i64)) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %for.cond: Variant }
3836
; CHECK-NEXT: %sub.ptr.div = sdiv exact i64 %sub.ptr.sub, 4
3937
; CHECK-NEXT: --> %sub.ptr.div U: [-2305843009213693952,2305843009213693952) S: [-2305843009213693952,2305843009213693952) Exits: <<Unknown>> LoopDispositions: { %for.cond: Variant }
4038
; CHECK-NEXT: %arrayidx1 = getelementptr inbounds [1 x i8], ptr %arrayidx, i64 0, i64 %sub.ptr.div
4139
; CHECK-NEXT: --> ({((sext i32 %base to i64) + %e),+,1}<nw><%for.cond> + %sub.ptr.div) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %for.cond: Variant }
42-
; CHECK-NEXT: %2 = load i8, ptr %arrayidx1, align 1
43-
; CHECK-NEXT: --> %2 U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %for.cond: Variant }
44-
; CHECK-NEXT: %conv = sext i8 %2 to i32
45-
; CHECK-NEXT: --> (sext i8 %2 to i32) U: [-128,128) S: [-128,128) Exits: <<Unknown>> LoopDispositions: { %for.cond: Variant }
40+
; CHECK-NEXT: %load2 = load i8, ptr %arrayidx1, align 1
41+
; CHECK-NEXT: --> %load2 U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %for.cond: Variant }
42+
; CHECK-NEXT: %conv = sext i8 %load2 to i32
43+
; CHECK-NEXT: --> (sext i8 %load2 to i32) U: [-128,128) S: [-128,128) Exits: <<Unknown>> LoopDispositions: { %for.cond: Variant }
4644
; CHECK-NEXT: %inc = add nsw i32 %f.0, 1
4745
; CHECK-NEXT: --> {(1 + %base),+,1}<nw><%for.cond> U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %for.cond: Computable }
4846
; CHECK-NEXT: Determining loop execution counts for: @d
@@ -52,21 +50,20 @@ define i32 @d(i32 %base) {
5250
;
5351
entry:
5452
%e = alloca [1 x [1 x i8]], align 1
55-
%0 = bitcast ptr %e to ptr
56-
call void @llvm.lifetime.start.p0(i64 1, ptr %0) #2
53+
call void @llvm.lifetime.start.p0(i64 1, ptr %e) #2
5754
br label %for.cond
5855

5956
for.cond: ; preds = %for.cond, %entry
6057
%f.0 = phi i32 [ %base, %entry ], [ %inc, %for.cond ]
6158
%idxprom = sext i32 %f.0 to i64
6259
%arrayidx = getelementptr inbounds [1 x [1 x i8]], ptr %e, i64 0, i64 %idxprom
63-
%1 = load ptr, ptr @c, align 8
64-
%sub.ptr.lhs.cast = ptrtoint ptr %1 to i64
60+
%load1 = load ptr, ptr @c, align 8
61+
%sub.ptr.lhs.cast = ptrtoint ptr %load1 to i64
6562
%sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, ptrtoint (ptr @b to i64)
6663
%sub.ptr.div = sdiv exact i64 %sub.ptr.sub, 4
6764
%arrayidx1 = getelementptr inbounds [1 x i8], ptr %arrayidx, i64 0, i64 %sub.ptr.div
68-
%2 = load i8, ptr %arrayidx1, align 1
69-
%conv = sext i8 %2 to i32
65+
%load2 = load i8, ptr %arrayidx1, align 1
66+
%conv = sext i8 %load2 to i32
7067
store i32 %conv, ptr @a, align 4
7168
%inc = add nsw i32 %f.0, 1
7269
br label %for.cond

llvm/test/Analysis/ScalarEvolution/sdiv.ll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ define dso_local void @_Z4loopi(i32 %width) local_unnamed_addr #0 {
3838
entry:
3939
%storage = alloca [2 x i32], align 4
4040
%0 = bitcast ptr %storage to ptr
41-
call void @llvm.lifetime.start.p0(i64 8, ptr %0) #4
41+
call void @llvm.lifetime.start.p0(i64 8, ptr %storage) #4
4242
call void @llvm.memset.p0.i64(ptr align 4 %0, i8 0, i64 8, i1 false)
4343
br label %for.cond
4444

@@ -48,7 +48,7 @@ for.cond:
4848
br i1 %cmp, label %for.body, label %for.cond.cleanup
4949

5050
for.cond.cleanup:
51-
call void @llvm.lifetime.end.p0(i64 8, ptr %0) #4
51+
call void @llvm.lifetime.end.p0(i64 8, ptr %storage) #4
5252
ret void
5353

5454
for.body:

llvm/test/Analysis/ScalarEvolution/srem.ll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ define dso_local void @_Z4loopi(i32 %width) local_unnamed_addr #0 {
3838
entry:
3939
%storage = alloca [2 x i32], align 4
4040
%0 = bitcast ptr %storage to ptr
41-
call void @llvm.lifetime.start.p0(i64 8, ptr %0) #4
41+
call void @llvm.lifetime.start.p0(i64 8, ptr %storage) #4
4242
call void @llvm.memset.p0.i64(ptr align 4 %0, i8 0, i64 8, i1 false)
4343
br label %for.cond
4444

@@ -48,7 +48,7 @@ for.cond:
4848
br i1 %cmp, label %for.body, label %for.cond.cleanup
4949

5050
for.cond.cleanup:
51-
call void @llvm.lifetime.end.p0(i64 8, ptr %0) #4
51+
call void @llvm.lifetime.end.p0(i64 8, ptr %storage) #4
5252
ret void
5353

5454
for.body:

0 commit comments

Comments
 (0)