In some rare cases, the register allocator can spill registers but end up not utilizi...
[llvm/msp430.git] / test / Analysis / BasicAA / global-size.ll
blobce92a690d4101b3d425d4bb545935f6a122273cf
1 ; A store or load cannot alias a global if the accessed amount is larger then
2 ; the global.
4 ; RUN: llvm-as < %s | opt -basicaa -gvn -instcombine | llvm-dis | not grep load
6 @B = global i16 8               ; <i16*> [#uses=2]
8 define i16 @test(i32* %P) {
9         %X = load i16* @B               ; <i16> [#uses=1]
10         store i32 7, i32* %P
11         %Y = load i16* @B               ; <i16> [#uses=1]
12         %Z = sub i16 %Y, %X             ; <i16> [#uses=1]
13         ret i16 %Z