Dan Gohman | f2f6ce6 | 2009-09-11 18:01:28 +0000 | [diff] [blame] | 1 | ; RUN: opt < %s -gvn -instcombine -S | grep sub |
Chris Lattner | 63a6e77 | 2003-04-22 22:00:15 +0000 | [diff] [blame] | 2 | |
| 3 | ; BasicAA was incorrectly concluding that P1 and P2 didn't conflict! |
| 4 | |
Tanya Lattner | dcd188d | 2008-02-14 06:56:27 +0000 | [diff] [blame] | 5 | define i32 @test(i32 *%Ptr, i64 %V) { |
| 6 | %P2 = getelementptr i32* %Ptr, i64 1 |
| 7 | %P1 = getelementptr i32* %Ptr, i64 %V |
| 8 | %X = load i32* %P1 |
| 9 | store i32 5, i32* %P2 |
Chris Lattner | 63a6e77 | 2003-04-22 22:00:15 +0000 | [diff] [blame] | 10 | |
Tanya Lattner | dcd188d | 2008-02-14 06:56:27 +0000 | [diff] [blame] | 11 | %Y = load i32* %P1 |
Chris Lattner | 63a6e77 | 2003-04-22 22:00:15 +0000 | [diff] [blame] | 12 | |
Tanya Lattner | dcd188d | 2008-02-14 06:56:27 +0000 | [diff] [blame] | 13 | %Z = sub i32 %X, %Y |
| 14 | ret i32 %Z |
Chris Lattner | 63a6e77 | 2003-04-22 22:00:15 +0000 | [diff] [blame] | 15 | } |