Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 1 | ; This testcase consists of alias relations which should be completely |
| 2 | ; resolvable by basicaa, but require analysis of getelementptr constant exprs. |
| 3 | |
Tanya Lattner | a695f01 | 2008-02-14 06:56:27 +0000 | [diff] [blame] | 4 | ; RUN: llvm-as < %s | opt -aa-eval -print-may-aliases -disable-output \ |
| 5 | ; RUN: |& not grep May: |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 6 | |
Tanya Lattner | a695f01 | 2008-02-14 06:56:27 +0000 | [diff] [blame] | 7 | %T = type { i32, [10 x i8] } |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 8 | |
Tanya Lattner | a695f01 | 2008-02-14 06:56:27 +0000 | [diff] [blame] | 9 | @G = external global %T |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 10 | |
Tanya Lattner | a695f01 | 2008-02-14 06:56:27 +0000 | [diff] [blame] | 11 | define void @test() { |
| 12 | %D = getelementptr %T* @G, i64 0, i32 0 |
| 13 | %E = getelementptr %T* @G, i64 0, i32 1, i64 5 |
| 14 | %F = getelementptr i32* getelementptr (%T* @G, i64 0, i32 0), i64 0 |
| 15 | %X = getelementptr [10 x i8]* getelementptr (%T* @G, i64 0, i32 1), i64 0, i64 5 |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 16 | |
| 17 | ret void |
| 18 | } |