1) Use the new SimplifyInstructionsInBlock routine instead of the copy

in JT.

2) When cloning blocks for PHI or xor conditions, use
instsimplify to simplify the code as we go.  This allows us to 
squish common cases early in JT which opens up opportunities for
subsequent iterations, and allows it to completely simplify the
testcase.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93253 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner
2010-01-12 20:41:47 +00:00
parent e234a30a28
commit 972a46c96a
2 changed files with 15 additions and 23 deletions

View File

@ -407,12 +407,7 @@ T2:
F2:
ret i32 %v1
;; FIXME: CONSTANT FOLD on clone and when phi gets eliminated.
; CHECK: Entry.Merge_crit_edge:
; CHECK-NEXT: %M1 = icmp eq i32 192, 192
; CHECK-NEXT: %N2 = xor i1 true, %M1
; CHECK-NEXT: br i1 %N2, label %T2, label %F2
; CHECK: br i1 %cond, label %F2, label %Merge
; CHECK: Merge:
; CHECK-NEXT: %M = icmp eq i32 %v1, 192