brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.4 KiB · 6d4ad08 Raw
50 lines · plain
1; RUN: opt -passes=aa-eval -print-all-alias-modref-info -disable-output < %s 2>&1 | FileCheck %s2 3; CHECK: MayAlias: i8* %a, i8* %gep4define void @inttoptr_alloca() {5  %a = alloca i86  %a.int = ptrtoint ptr %a to i647  %a.int.1 = add i64 %a.int, 18  %gep = getelementptr i8, ptr inttoptr (i64 -1 to ptr), i64 %a.int.19  %load = load i8, ptr %gep10  store i8 1, ptr %a11  ret void12}13 14; CHECK: MayAlias: i8* %a, i8* %gep15define void @inttoptr_alloca_unknown_relation(i64 %offset) {16  %a = alloca i817  %a.int = ptrtoint ptr %a to i6418  %gep = getelementptr i8, ptr inttoptr (i64 -1 to ptr), i64 %offset19  %load = load i8, ptr %gep20  store i8 1, ptr %a21  ret void22}23 24; CHECK: NoAlias: i8* %a, i8* %gep25define void @inttoptr_alloca_noescape(i64 %offset) {26  %a = alloca i827  %gep = getelementptr i8, ptr inttoptr (i64 -1 to ptr), i64 %offset28  %load = load i8, ptr %gep29  store i8 1, ptr %a30  ret void31}32 33; CHECK: MayAlias: i8* %a, i8* %gep34define void @inttoptr_noalias(ptr noalias %a) {35  %a.int = ptrtoint ptr %a to i6436  %a.int.1 = add i64 %a.int, 137  %gep = getelementptr i8, ptr inttoptr (i64 -1 to ptr), i64 %a.int.138  %load = load i8, ptr %gep39  store i8 1, ptr %a40  ret void41}42 43; CHECK: NoAlias: i8* %a, i8* %gep44define void @inttoptr_noalias_noescape(ptr noalias %a, i64 %offset) {45  %gep = getelementptr i8, ptr inttoptr (i64 -1 to ptr), i64 %offset46  %load = load i8, ptr %gep47  store i8 1, ptr %a48  ret void49}50