Skip to content

Commit 481a0cb

Browse files
committed
Simplify the test case so that it is easier to handle for Alive2
1 parent a736e2b commit 481a0cb

File tree

1 file changed

+6
-14
lines changed

1 file changed

+6
-14
lines changed

llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/preserve-inbounds.ll

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,24 +3,16 @@
33

44
; The inbounds flags cannot be preserved here: If the pointers point to the
55
; beginning of an object and %i is 1, the intermediate GEPs are out of bounds.
6-
define void @maybe_oob(ptr %dst, ptr %src, i64 %i) {
6+
define ptr @maybe_oob(ptr %p, i64 %i) {
77
; CHECK-LABEL: @maybe_oob(
88
; CHECK-NEXT: entry:
99
; CHECK-NEXT: [[IDX1:%.*]] = sub i64 0, [[I:%.*]]
10-
; CHECK-NEXT: [[TMP0:%.*]] = getelementptr float, ptr [[SRC:%.*]], i64 [[IDX1]]
11-
; CHECK-NEXT: [[ARRAYIDX_SRC2:%.*]] = getelementptr i8, ptr [[TMP0]], i64 4
12-
; CHECK-NEXT: [[TMP1:%.*]] = load float, ptr [[ARRAYIDX_SRC2]], align 4
13-
; CHECK-NEXT: [[IDX3:%.*]] = sub i64 0, [[I]]
14-
; CHECK-NEXT: [[TMP2:%.*]] = getelementptr float, ptr [[DST:%.*]], i64 [[IDX3]]
15-
; CHECK-NEXT: [[ARRAYIDX_DST4:%.*]] = getelementptr i8, ptr [[TMP2]], i64 4
16-
; CHECK-NEXT: store float [[TMP1]], ptr [[ARRAYIDX_DST4]], align 4
17-
; CHECK-NEXT: ret void
10+
; CHECK-NEXT: [[TMP0:%.*]] = getelementptr i32, ptr [[P:%.*]], i64 [[IDX1]]
11+
; CHECK-NEXT: [[ARRAYIDX2:%.*]] = getelementptr i8, ptr [[TMP0]], i64 4
12+
; CHECK-NEXT: ret ptr [[ARRAYIDX2]]
1813
;
1914
entry:
2015
%idx = sub nsw i64 1, %i
21-
%arrayidx.src = getelementptr inbounds float, ptr %src, i64 %idx
22-
%3 = load float, ptr %arrayidx.src, align 4
23-
%arrayidx.dst = getelementptr inbounds float, ptr %dst, i64 %idx
24-
store float %3, ptr %arrayidx.dst, align 4
25-
ret void
16+
%arrayidx = getelementptr inbounds i32, ptr %p, i64 %idx
17+
ret ptr %arrayidx
2618
}

0 commit comments

Comments
 (0)