diff options
Diffstat (limited to 'test/Transforms/Reassociate/shift-factor.ll')
-rw-r--r-- | test/Transforms/Reassociate/shift-factor.ll | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/test/Transforms/Reassociate/shift-factor.ll b/test/Transforms/Reassociate/shift-factor.ll index 73af5e5..8fbf1b9 100644 --- a/test/Transforms/Reassociate/shift-factor.ll +++ b/test/Transforms/Reassociate/shift-factor.ll @@ -1,12 +1,14 @@ ; There should be exactly one shift and one add left. -; RUN: opt < %s -reassociate -instcombine -S > %t -; RUN: grep shl %t | count 1 -; RUN: grep add %t | count 1 +; RUN: opt < %s -reassociate -instcombine -S | FileCheck %s -define i32 @test(i32 %X, i32 %Y) { - %tmp.2 = shl i32 %X, 1 ; <i32> [#uses=1] - %tmp.6 = shl i32 %Y, 1 ; <i32> [#uses=1] - %tmp.4 = add i32 %tmp.6, %tmp.2 ; <i32> [#uses=1] - ret i32 %tmp.4 -} +define i32 @test1(i32 %X, i32 %Y) { +; CHECK-LABEL: test1 +; CHECK-NEXT: %tmp = add i32 %Y, %X +; CHECK-NEXT: %tmp1 = shl i32 %tmp, 1 +; CHECK-NEXT: ret i32 %tmp1 + %tmp.2 = shl i32 %X, 1 + %tmp.6 = shl i32 %Y, 1 + %tmp.4 = add i32 %tmp.6, %tmp.2 + ret i32 %tmp.4 +} |