diff --git a/test/Transforms/Reassociate/mulfactor.ll b/test/Transforms/Reassociate/mulfactor.ll index 0afcbf9c87b..5e6fbeb1cac 100644 --- a/test/Transforms/Reassociate/mulfactor.ll +++ b/test/Transforms/Reassociate/mulfactor.ll @@ -1,11 +1,13 @@ -; RUN: opt < %s -reassociate -instcombine -S | FileCheck %s +; RUN: opt < %s -reassociate -S | FileCheck %s -define i32 @f(i32 %a, i32 %b) { -; CHECK: @f -; CHECK: mul -; CHECK: mul -; CHECK-NOT: mul -; CHECK: ret +define i32 @test1(i32 %a, i32 %b) { +; CHECK: @test1 +; CHECK: mul i32 %a, %a +; CHECK-NEXT: mul i32 %a, 2 +; CHECK-NEXT: add +; CHECK-NEXT: mul +; CHECK-NEXT: add +; CHECK-NEXT: ret entry: %tmp.2 = mul i32 %a, %a @@ -17,3 +19,17 @@ entry: ret i32 %tmp.11 } +define i32 @test2(i32 %t) { +; CHECK: @test2 +; CHECK: mul +; CHECK-NEXT: add +; CHECK-NEXT: ret + +entry: + %a = mul i32 %t, 6 + %b = mul i32 %t, 36 + %c = add i32 %b, 15 + %d = add i32 %c, %a + ret i32 %d +} + diff --git a/test/Transforms/Reassociate/mulfactor2.ll b/test/Transforms/Reassociate/mulfactor2.ll deleted file mode 100644 index 8116554196f..00000000000 --- a/test/Transforms/Reassociate/mulfactor2.ll +++ /dev/null @@ -1,15 +0,0 @@ -; This should turn into one multiply and one add. - -; RUN: opt < %s -instcombine -reassociate -instcombine -S > %t -; RUN: grep mul %t | count 1 -; RUN: grep add %t | count 1 - -define i32 @main(i32 %t) { - %tmp.3 = mul i32 %t, 12 ; [#uses=1] - %tmp.4 = add i32 %tmp.3, 5 ; [#uses=1] - %tmp.6 = mul i32 %t, 6 ; [#uses=1] - %tmp.8 = mul i32 %tmp.4, 3 ; [#uses=1] - %tmp.9 = add i32 %tmp.8, %tmp.6 ; [#uses=1] - ret i32 %tmp.9 -} -