Options: explicit handling of --
[oota-llvm.git] / test / Transforms / Reassociate / 2002-05-15-SubReassociate.ll
1 ; With sub reassociation, constant folding can eliminate all of the constants.
2 ;
3 ; RUN: opt < %s -reassociate -constprop -instcombine -dce -S | not grep add
4
5 define i32 @test(i32 %A, i32 %B) {
6         %W = add i32 5, %B              ; <i32> [#uses=1]
7         %X = add i32 -7, %A             ; <i32> [#uses=1]
8         %Y = sub i32 %X, %W             ; <i32> [#uses=1]
9         %Z = add i32 %Y, 12             ; <i32> [#uses=1]
10         ret i32 %Z
11 }
12