Skip to content

Commit 9862491

Browse files
committed
[BasicAA] Add tests for #76789 (NFC)
1 parent 7dc0ba9 commit 9862491

File tree

1 file changed

+49
-0
lines changed

1 file changed

+49
-0
lines changed
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
; RUN: opt -passes=aa-eval -print-all-alias-modref-info -disable-output < %s 2>&1 | FileCheck %s
2+
3+
; CHECK: NoAlias: i8* %a, i8* %gep
4+
define void @inttoptr_alloca() {
5+
%a = alloca i8
6+
%a.int = ptrtoint ptr %a to i64
7+
%a.int.1 = add i64 %a.int, 1
8+
%gep = getelementptr i8, ptr inttoptr (i64 -1 to ptr), i64 %a.int.1
9+
%load = load i8, ptr %gep
10+
store i8 1, ptr %a
11+
ret void
12+
}
13+
14+
; CHECK: NoAlias: i8* %a, i8* %gep
15+
define void @inttoptr_alloca_unknown_relation(i64 %offset) {
16+
%a = alloca i8
17+
%a.int = ptrtoint ptr %a to i64
18+
%gep = getelementptr i8, ptr inttoptr (i64 -1 to ptr), i64 %offset
19+
%load = load i8, ptr %gep
20+
store i8 1, ptr %a
21+
ret void
22+
}
23+
24+
; CHECK: NoAlias: i8* %a, i8* %gep
25+
define void @inttoptr_alloca_noescape(i64 %offset) {
26+
%a = alloca i8
27+
%gep = getelementptr i8, ptr inttoptr (i64 -1 to ptr), i64 %offset
28+
%load = load i8, ptr %gep
29+
store i8 1, ptr %a
30+
ret void
31+
}
32+
33+
; CHECK: NoAlias: i8* %a, i8* %gep
34+
define void @inttoptr_noalias(ptr noalias %a) {
35+
%a.int = ptrtoint ptr %a to i64
36+
%a.int.1 = add i64 %a.int, 1
37+
%gep = getelementptr i8, ptr inttoptr (i64 -1 to ptr), i64 %a.int.1
38+
%load = load i8, ptr %gep
39+
store i8 1, ptr %a
40+
ret void
41+
}
42+
43+
; CHECK: NoAlias: i8* %a, i8* %gep
44+
define void @inttoptr_noalias_noescape(ptr noalias %a, i64 %offset) {
45+
%gep = getelementptr i8, ptr inttoptr (i64 -1 to ptr), i64 %offset
46+
%load = load i8, ptr %gep
47+
store i8 1, ptr %a
48+
ret void
49+
}

0 commit comments

Comments
 (0)