Tidy up this test more:

1) Make the checked assertions a bit more precise. We really want the
   canonical forms coming out of reassociate to be exactly what is
   expected.
2) Remove other passes, and switch the test to actually directly check
   that reassociate makes the important transforms and
   canonicalizations.
3) Fold in a related test case now that we're using FileCheck. Make the
   same tidying changes to it.

llvm-svn: 155311
This commit is contained in:
Chandler Carruth 2012-04-22 10:11:26 +00:00
parent f6f57535ed
commit 8ffa7c8afd
2 changed files with 23 additions and 22 deletions

View File

@ -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
}

View File

@ -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 ; <i32> [#uses=1]
%tmp.4 = add i32 %tmp.3, 5 ; <i32> [#uses=1]
%tmp.6 = mul i32 %t, 6 ; <i32> [#uses=1]
%tmp.8 = mul i32 %tmp.4, 3 ; <i32> [#uses=1]
%tmp.9 = add i32 %tmp.8, %tmp.6 ; <i32> [#uses=1]
ret i32 %tmp.9
}