brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.7 KiB · a256ece Raw
49 lines · plain
1; RUN: opt -S -aa-pipeline=basic-aa -passes=aa-eval -print-all-alias-modref-info -disable-output < %s 2>&1 | FileCheck %s2 3; CHECK-LABEL: Function: test4;; Before limit:5; CHECK-DAG: MustAlias: i8* %gep.add9, i8* %gep.inc96; CHECK-DAG: NoAlias: i8* %gep.inc7, i8* %gep.inc97; CHECK-DAG: NoAlias: i8* %gep.inc8, i8* %gep.inc98;; At limit:9; CHECK-DAG: MustAlias: i8* %gep.add10, i8* %gep.inc1010; CHECK-DAG: NoAlias: i8* %gep.inc10, i8* %gep.inc811; CHECK-DAG: NoAlias: i8* %gep.inc10, i8* %gep.inc912;; After limit:13; CHECK-DAG: MayAlias: i8* %gep.add11, i8* %gep.inc1114; CHECK-DAG: MayAlias: i8* %gep.inc11, i8* %gep.inc915; CHECK-DAG: NoAlias: i8* %gep.inc10, i8* %gep.inc1116 17define void @test(ptr %base) {18  %gep.add9 = getelementptr i8, ptr %base, i64 919  %gep.add10 = getelementptr i8, ptr %base, i64 1020  %gep.add11 = getelementptr i8, ptr %base, i64 1121 22  %gep.inc1 = getelementptr i8, ptr %base, i64 123  %gep.inc2 = getelementptr i8, ptr %gep.inc1, i64 124  %gep.inc3 = getelementptr i8, ptr %gep.inc2, i64 125  %gep.inc4 = getelementptr i8, ptr %gep.inc3, i64 126  %gep.inc5 = getelementptr i8, ptr %gep.inc4, i64 127  %gep.inc6 = getelementptr i8, ptr %gep.inc5, i64 128  %gep.inc7 = getelementptr i8, ptr %gep.inc6, i64 129  %gep.inc8 = getelementptr i8, ptr %gep.inc7, i64 130  %gep.inc9 = getelementptr i8, ptr %gep.inc8, i64 131  %gep.inc10 = getelementptr i8, ptr %gep.inc9, i64 132  %gep.inc11 = getelementptr i8, ptr %gep.inc10, i64 133 34  load i8, ptr %gep.add935  load i8, ptr %gep.add1036  load i8, ptr %gep.add1137  load i8, ptr %gep.inc338  load i8, ptr %gep.inc439  load i8, ptr %gep.inc540  load i8, ptr %gep.inc641  load i8, ptr %gep.inc742  load i8, ptr %gep.inc843  load i8, ptr %gep.inc944  load i8, ptr %gep.inc1045  load i8, ptr %gep.inc1146 47  ret void48}49