Skip to content

Commit

Permalink
replace nocapture in tests (#1166)
Browse files Browse the repository at this point in the history
  • Loading branch information
regehr authored Jan 31, 2025
1 parent 2623bec commit 65902e0
Show file tree
Hide file tree
Showing 58 changed files with 108 additions and 108 deletions.
2 changes: 1 addition & 1 deletion scripts/perf-testing/negative/memcpy1.ll
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
declare void @llvm.memcpy.p0i8.p0i8.i32(i8*, i8*, i32, i1)
declare i32 @memcmp(i8* nocapture, i8* nocapture, i64)
declare i32 @memcmp(i8* captures(none), i8* captures(none), i64)

define i32 @src(i8*) {
%p1 = alloca [X x i8]
Expand Down
2 changes: 1 addition & 1 deletion scripts/perf-testing/negative/memcpy2.ll
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
declare void @llvm.memcpy.p0i8.p0i8.i32(i8*, i8*, i32, i1)
declare i32 @memcmp(i8* nocapture, i8* nocapture, i64)
declare i32 @memcmp(i8* captures(none), i8* captures(none), i64)

define i32 @src(i8*) {
%p1 = alloca [X x i8]
Expand Down
2 changes: 1 addition & 1 deletion scripts/perf-testing/negative/memcpy3.ll
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
declare void @llvm.memcpy.p0i8.p0i8.i32(i8*, i8*, i32, i1)
declare i32 @memcmp(i8* nocapture, i8* nocapture, i64)
declare i32 @memcmp(i8* captures(none), i8* captures(none), i64)

define i32 @src(i8*) {
%p2 = alloca i8, i32 X
Expand Down
2 changes: 1 addition & 1 deletion scripts/perf-testing/negative/memcpy4.ll
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
declare void @llvm.memcpy.p0i8.p0i8.i32(i8*, i8*, i32, i1)
declare i32 @memcmp(i8* nocapture, i8* nocapture, i64)
declare i32 @memcmp(i8* captures(none), i8* captures(none), i64)

define i32 @src(i8*) {
%p1 = alloca [X x i8]
Expand Down
2 changes: 1 addition & 1 deletion scripts/perf-testing/negative/memcpy5.ll
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
declare void @llvm.memcpy.p0i8.p0i8.i32(i8*, i8*, i32, i1)
declare i32 @memcmp(i8* nocapture, i8* nocapture, i64)
declare i32 @memcmp(i8* captures(none), i8* captures(none), i64)

@a = external global [X x i8]
@b = external global [X x i8]
Expand Down
2 changes: 1 addition & 1 deletion scripts/perf-testing/negative/memcpy6.ll
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
declare void @llvm.memcpy.p0i8.p0i8.i32(i8*, i8*, i32, i1)
declare i32 @memcmp(i8* nocapture, i8* nocapture, i64)
declare i32 @memcmp(i8* captures(none), i8* captures(none), i64)

define i32 @src(i8*, i8*) {
%sub = sub i32 X, 2
Expand Down
2 changes: 1 addition & 1 deletion scripts/perf-testing/positive/memcpy1.ll
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
declare void @llvm.memcpy.p0i8.p0i8.i32(i8*, i8*, i32, i1)
declare i32 @memcmp(i8* nocapture, i8* nocapture, i64)
declare i32 @memcmp(i8* captures(none), i8* captures(none), i64)

define i32 @src(i8*) {
%p1 = alloca [X x i8]
Expand Down
2 changes: 1 addition & 1 deletion scripts/perf-testing/positive/memcpy2.ll
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
declare void @llvm.memcpy.p0i8.p0i8.i32(i8*, i8*, i32, i1)
declare i32 @memcmp(i8* nocapture, i8* nocapture, i64)
declare i32 @memcmp(i8* captures(none), i8* captures(none), i64)

define i32 @src(i8*) {
%p1 = alloca [X x i8]
Expand Down
2 changes: 1 addition & 1 deletion scripts/perf-testing/positive/memcpy3.ll
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
declare void @llvm.memcpy.p0i8.p0i8.i32(i8*, i8*, i32, i1)
declare i32 @memcmp(i8* nocapture, i8* nocapture, i64)
declare i32 @memcmp(i8* captures(none), i8* captures(none), i64)

define i32 @src(i8*) {
%p2 = alloca i8, i32 X
Expand Down
2 changes: 1 addition & 1 deletion scripts/perf-testing/positive/memcpy4.ll
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
declare void @llvm.memcpy.p0i8.p0i8.i32(i8*, i8*, i32, i1)
declare i32 @memcmp(i8* nocapture, i8* nocapture, i64)
declare i32 @memcmp(i8* captures(none), i8* captures(none), i64)

define i32 @src(i8*) {
%p1 = alloca [X x i8]
Expand Down
2 changes: 1 addition & 1 deletion scripts/perf-testing/positive/memcpy5.ll
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
declare void @llvm.memcpy.p0i8.p0i8.i32(i8*, i8*, i32, i1)
declare i32 @memcmp(i8* nocapture, i8* nocapture, i64)
declare i32 @memcmp(i8* captures(none), i8* captures(none), i64)

@a = external global [X x i8]
@b = external global [X x i8]
Expand Down
2 changes: 1 addition & 1 deletion scripts/perf-testing/positive/memcpy6.ll
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
declare void @llvm.memcpy.p0i8.p0i8.i32(i8*, i8*, i32, i1)
declare i32 @memcmp(i8* nocapture, i8* nocapture, i64)
declare i32 @memcmp(i8* captures(none), i8* captures(none), i64)

define i32 @src(i8*, i8*) {
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %0, i8* %1, i32 X, i1 0)
Expand Down
2 changes: 1 addition & 1 deletion tests/alive-tv/attrs/argmemonly-byval.srctgt.ll
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ define void @src(ptr byval(i32) %0) {
ret void
}

define void @tgt(ptr byval(i32) nocapture %0) memory(argmem:readwrite) {
define void @tgt(ptr byval(i32) captures(none) %0) memory(argmem:readwrite) {
%3 = load i32, ptr %0
ret void
}
6 changes: 3 additions & 3 deletions tests/alive-tv/attrs/nocapture-call-fail.srctgt.ll
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
; ERROR: Source is more defined

define void @src(ptr nocapture %p) {
define void @src(ptr captures(none) %p) {
call ptr @g(ptr %p)
ret void
}

define void @tgt(ptr nocapture %p) {
define void @tgt(ptr captures(none) %p) {
call ptr @g(ptr poison)
ret void
}

declare ptr @g(ptr nocapture)
declare ptr @g(ptr captures(none))
4 changes: 2 additions & 2 deletions tests/alive-tv/attrs/nocapture-call.srctgt.ll
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
define void @src(ptr nocapture %p) {
define void @src(ptr captures(none) %p) {
call ptr @g(ptr %p)
ret void
}

define void @tgt(ptr nocapture %p) {
define void @tgt(ptr captures(none) %p) {
call ptr @g(ptr poison)
ret void
}
Expand Down
4 changes: 2 additions & 2 deletions tests/alive-tv/attrs/nocapture-capture.srctgt.ll
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
define i64 @src(ptr nocapture %p) {
define i64 @src(ptr captures(none) %p) {
%v = ptrtoint ptr %p to i64
ret i64 %v
}

define i64 @tgt(ptr nocapture %p) {
define i64 @tgt(ptr captures(none) %p) {
unreachable
}
4 changes: 2 additions & 2 deletions tests/alive-tv/attrs/nocapture-fail.srctgt.ll
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@

@x = global ptr null

define void @src(ptr nocapture %p) {
define void @src(ptr captures(none) %p) {
%poison = getelementptr inbounds i8, ptr null, i32 1
store ptr %poison, ptr @x
ret void
}

define void @tgt(ptr nocapture %p) {
define void @tgt(ptr captures(none) %p) {
store ptr %p, ptr @x
ret void
}
4 changes: 2 additions & 2 deletions tests/alive-tv/attrs/nocapture-icmp.srctgt.ll
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
define i1 @src(ptr nocapture %p, ptr %q) {
define i1 @src(ptr captures(none) %p, ptr %q) {
%c = icmp eq ptr %p, %q
ret i1 %c
}
define i1 @tgt(ptr nocapture %p, ptr %q) {
define i1 @tgt(ptr captures(none) %p, ptr %q) {
ret i1 false
}
; ERROR: Value mismatch
6 changes: 3 additions & 3 deletions tests/alive-tv/attrs/nocapture-noundef.srctgt.ll
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
define ptr @src(ptr %a, ptr nocapture %b) {
define ptr @src(ptr %a, ptr captures(none) %b) {
%cmp = icmp eq ptr %a, %b
br i1 %cmp, label %t, label %f

Expand All @@ -10,7 +10,7 @@ f:
ret ptr null
}

define ptr @tgt(ptr %a, ptr nocapture %b) {
define ptr @tgt(ptr %a, ptr captures(none) %b) {
%cmp = icmp eq ptr %a, %b
br i1 %cmp, label %t, label %f

Expand All @@ -23,7 +23,7 @@ f:
}


declare ptr @g(ptr nocapture)
declare ptr @g(ptr captures(none))

; If %a = %b + n, this is wrong.
; ERROR: Source is more defined than target
4 changes: 2 additions & 2 deletions tests/alive-tv/attrs/nocapture-replace.srctgt.ll
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
define ptr @src(ptr nocapture %p, ptr %q) {
define ptr @src(ptr captures(none) %p, ptr %q) {
%c = icmp eq ptr %p, %q
br i1 %c, label %A, label %B
A:
ret ptr %q
B:
ret ptr null
}
define ptr @tgt(ptr nocapture %p, ptr %q) {
define ptr @tgt(ptr captures(none) %p, ptr %q) {
%c = icmp eq ptr %p, %q
br i1 %c, label %A, label %B
A:
Expand Down
14 changes: 7 additions & 7 deletions tests/alive-tv/attrs/nocapture.src.ll
Original file line number Diff line number Diff line change
@@ -1,31 +1,31 @@
@x = global ptr null

define void @f1(ptr nocapture %p) {
define void @f1(ptr captures(none) %p) {
store ptr %p, ptr @x
ret void
}

define void @f2(ptr nocapture %p0) {
define void @f2(ptr captures(none) %p0) {
%p = getelementptr i8, ptr %p0, i32 1
store ptr %p, ptr @x
ret void
}

define ptr @f3(ptr nocapture %p) {
define ptr @f3(ptr captures(none) %p) {
ret ptr %p
}

define ptr @f4(ptr nocapture %p) {
define ptr @f4(ptr captures(none) %p) {
%p2 = getelementptr i8, ptr %p, i32 1
ret ptr %p2
}

define <2 x ptr> @f5(ptr nocapture %p) {
define <2 x ptr> @f5(ptr captures(none) %p) {
%v = insertelement <2 x ptr> undef, ptr %p, i32 1
ret <2 x ptr> %v
}

define ptr @f6(ptr nocapture %p, ptr %q) {
define ptr @f6(ptr captures(none) %p, ptr %q) {
%c = icmp eq ptr %p, %q
br i1 %c, label %A, label %B
A:
Expand All @@ -34,7 +34,7 @@ B:
ret ptr null
}

define ptr @f7(ptr %a, ptr nocapture %b) {
define ptr @f7(ptr %a, ptr captures(none) %b) {
%v = call ptr @g(ptr %a)
ret ptr %v
}
Expand Down
14 changes: 7 additions & 7 deletions tests/alive-tv/attrs/nocapture.tgt.ll
Original file line number Diff line number Diff line change
@@ -1,34 +1,34 @@
@x = global ptr null

define void @f1(ptr nocapture %p) {
define void @f1(ptr captures(none) %p) {
%poison = getelementptr inbounds i8, ptr null, i64 1
store ptr %poison, ptr @x
ret void
}

define void @f2(ptr nocapture %p) {
define void @f2(ptr captures(none) %p) {
%poison = getelementptr inbounds i8, ptr null, i64 1
store ptr %poison, ptr @x
ret void
}

define ptr @f3(ptr nocapture %p) {
define ptr @f3(ptr captures(none) %p) {
%poison = getelementptr inbounds i8, ptr null, i64 1
ret ptr %poison
}

define ptr @f4(ptr nocapture %p) {
define ptr @f4(ptr captures(none) %p) {
%poison = getelementptr inbounds i8, ptr null, i64 1
ret ptr %poison
}

define <2 x ptr> @f5(ptr nocapture %p) {
define <2 x ptr> @f5(ptr captures(none) %p) {
%poison = getelementptr inbounds i8, ptr null, i64 1
%v = insertelement <2 x ptr> undef, ptr %poison, i32 1
ret <2 x ptr> %v
}

define ptr @f6(ptr nocapture %p, ptr %q) {
define ptr @f6(ptr captures(none) %p, ptr %q) {
%c = icmp eq ptr %p, %q
br i1 %c, label %A, label %B
A:
Expand All @@ -37,7 +37,7 @@ B:
ret ptr null
}

define ptr @f7(ptr %a, ptr nocapture %b) {
define ptr @f7(ptr %a, ptr captures(none) %b) {
%v = call ptr @g(ptr %a)
ret ptr %v
}
Expand Down
2 changes: 1 addition & 1 deletion tests/alive-tv/attrs/null_is_valid_nocapture.srctgt.ll
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ define i8 @src(i1 %C, ptr %P) null_pointer_is_valid {
ret i8 %V
}

define i8 @tgt(i1 %C, ptr nocapture %P) null_pointer_is_valid {
define i8 @tgt(i1 %C, ptr captures(none) %P) null_pointer_is_valid {
%P2 = select i1 %C, ptr %P, ptr null
%V = load i8, ptr %P2, align 1
ret i8 %V
Expand Down
4 changes: 2 additions & 2 deletions tests/alive-tv/bugs/D98759.srctgt.ll
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
; Reported by https://reviews.llvm.org/D90529#2619492

define i32 @src(ptr nocapture %a) nounwind memory(read) {
define i32 @src(ptr captures(none) %a) nounwind memory(read) {
entry:
call void @llvm.assume(i1 true) ["align"(ptr %a, i32 32, i32 28)]
%arrayidx = getelementptr inbounds i32, ptr %a, i64 -1
%.0 = load i32, ptr %arrayidx, align 4
ret i32 %.0
}

define i32 @tgt(ptr nocapture %a) nounwind memory(read) {
define i32 @tgt(ptr captures(none) %a) nounwind memory(read) {
entry:
call void @llvm.assume(i1 true) ["align"(ptr %a, i32 32, i32 28)]
%arrayidx = getelementptr inbounds i32, ptr %a, i64 -1
Expand Down
10 changes: 5 additions & 5 deletions tests/alive-tv/bugs/pr11390.srctgt.ll
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

define void @src(ptr nocapture %name, ptr nocapture %domain, ptr nocapture %s, i64 %call, i64 %call1) nounwind {
define void @src(ptr captures(none) %name, ptr captures(none) %domain, ptr captures(none) %s, i64 %call, i64 %call1) nounwind {
entry:
%add = add i64 %call, 1
%add2 = add i64 %add, %call1
Expand All @@ -28,7 +28,7 @@ return: ; preds = %if.end, %entry
ret void
}

define void @tgt(ptr nocapture %name, ptr nocapture %domain, ptr nocapture %s, i64 %call, i64 %call1) nounwind {
define void @tgt(ptr captures(none) %name, ptr captures(none) %domain, ptr captures(none) %s, i64 %call, i64 %call1) nounwind {
entry:
%add = add i64 %call, 1
%add2 = add i64 %add, %call1
Expand All @@ -50,9 +50,9 @@ return: ; preds = %if.end, %entry
ret void
}

declare i64 @strlen(ptr nocapture) nounwind memory(argmem: read)
declare i64 @f(ptr nocapture)
declare i64 @strlen(ptr captures(none)) nounwind memory(argmem: read)
declare i64 @f(ptr captures(none))

declare noalias ptr @malloc(i64) nounwind

declare void @llvm.memcpy.p0i8.p0i8.i64(ptr nocapture, ptr nocapture, i64, i32, i1) nounwind
declare void @llvm.memcpy.p0i8.p0i8.i64(ptr captures(none), ptr captures(none), i64, i32, i1) nounwind
2 changes: 1 addition & 1 deletion tests/alive-tv/bugs/pr18223.srctgt.ll
Original file line number Diff line number Diff line change
Expand Up @@ -135,4 +135,4 @@ for.end: ; preds = %for.end_us_lcssa, %
ret i32 0
}

declare i32 @myprintf(ptr nocapture readonly, ...)
declare i32 @myprintf(ptr captures(none) readonly, ...)
12 changes: 6 additions & 6 deletions tests/alive-tv/bugs/pr23599-nolocal.srctgt.ll
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

@glb = global %struct.ether_header zeroinitializer

define void @src(ptr nocapture readonly %ether_src, ptr nocapture readonly %ether_dst) {
define void @src(ptr captures(none) readonly %ether_src, ptr captures(none) readonly %ether_dst) {
entry:
%eth = alloca %struct.ether_header, align 1
%0 = getelementptr inbounds %struct.ether_header, ptr %eth, i64 0, i32 0, i64 0
Expand All @@ -21,7 +21,7 @@ entry:
ret void
}

define void @tgt(ptr nocapture readonly %ether_src, ptr nocapture readonly %ether_dst) {
define void @tgt(ptr captures(none) readonly %ether_src, ptr captures(none) readonly %ether_dst) {
entry:
%eth = alloca %struct.ether_header, align 1
%0 = getelementptr inbounds %struct.ether_header, ptr %eth, i64 0, i32 0, i64 0
Expand All @@ -39,10 +39,10 @@ entry:
}


declare void @llvm.lifetime.start(i64, ptr nocapture)
declare void @llvm.memset.p0i8.i64(ptr nocapture, i8, i64, i32, i1)
declare void @llvm.memcpy.p0i8.p0i8.i64(ptr nocapture, ptr nocapture readonly, i64, i32, i1)
declare void @llvm.lifetime.start(i64, ptr captures(none))
declare void @llvm.memset.p0i8.i64(ptr captures(none), i8, i64, i32, i1)
declare void @llvm.memcpy.p0i8.p0i8.i64(ptr captures(none), ptr captures(none) readonly, i64, i32, i1)
declare void @_Z5PrintRK12ether_header(ptr dereferenceable(12))
declare void @llvm.lifetime.end(i64, ptr nocapture)
declare void @llvm.lifetime.end(i64, ptr captures(none))

; ERROR: Mismatch in memory
Loading

0 comments on commit 65902e0

Please sign in to comment.