Bill Wendling | d5cc8b8 | 2012-04-24 09:15:38 +0000 | [diff] [blame^] | 1 | ; RUN: opt < %s -basicaa -gvn -instcombine -S | FileCheck %s |
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) { |
Bill Wendling | d5cc8b8 | 2012-04-24 09:15:38 +0000 | [diff] [blame^] | 6 | ; CHECK: sub i32 %X, %Y |
| 7 | %P2 = getelementptr i32* %Ptr, i64 1 |
| 8 | %P1 = getelementptr i32* %Ptr, i64 %V |
| 9 | %X = load i32* %P1 |
| 10 | store i32 5, i32* %P2 |
| 11 | %Y = load i32* %P1 |
| 12 | %Z = sub i32 %X, %Y |
| 13 | ret i32 %Z |
Chris Lattner | 63a6e77 | 2003-04-22 22:00:15 +0000 | [diff] [blame] | 14 | } |