Chris Lattner | ad46cf0 | 2005-03-23 01:46:59 +0000 | [diff] [blame] | 1 | ; Test that ds-aa can be used for queries that require field sensitive AA. |
| 2 | ; RUN: llvm-as < %s | opt -no-aa -ds-aa -load-vn -gcse | llvm-dis | not grep load |
| 3 | |
| 4 | %Pair = type { int, int } |
| 5 | |
| 6 | implementation |
| 7 | |
| 8 | %Pair* %id(%Pair* %P) { ret %Pair *%P } |
| 9 | |
| 10 | int %foo() { |
| 11 | %X = alloca %Pair |
| 12 | %XP = call %Pair* %id(%Pair* %X) |
| 13 | |
| 14 | %F1 = getelementptr %Pair* %X, int 0, uint 0 |
| 15 | %F2 = getelementptr %Pair* %XP, int 0, uint 1 |
| 16 | store int 14, int* %F1 |
| 17 | store int 0, int* %F2 ; no alias F1 |
| 18 | %B = load int* %F1 ; Should eliminate load! |
| 19 | ret int %B |
| 20 | } |
| 21 | |