0
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1 ; RUN: opt < %s -basicaa -aa-eval -print-all-alias-modref-info -disable-output 2>&1 | FileCheck %s
|
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2
|
83
|
3 target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
|
|
4
|
0
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
5 ; CHECK: Function: foo
|
83
|
6 ; CHECK: PartialAlias: i32* %Ipointer, i32* %Jpointer
|
0
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
7 ; CHECK: 9 no alias responses
|
83
|
8 ; CHECK: 6 partial alias responses
|
0
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
9
|
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
10 define void @foo(i32* noalias %p, i32* noalias %q, i32 %i, i32 %j) {
|
95
|
11 %Ipointer = getelementptr i32, i32* %p, i32 %i
|
|
12 %qi = getelementptr i32, i32* %q, i32 %i
|
|
13 %Jpointer = getelementptr i32, i32* %p, i32 %j
|
|
14 %qj = getelementptr i32, i32* %q, i32 %j
|
0
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
15 store i32 0, i32* %p
|
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
16 store i32 0, i32* %Ipointer
|
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
17 store i32 0, i32* %Jpointer
|
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
18 store i32 0, i32* %q
|
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
19 store i32 0, i32* %qi
|
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
20 store i32 0, i32* %qj
|
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
21 ret void
|
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
22 }
|