Three major changes:

1. Rip out LoopRotate's domfrontier updating code.  It isn't
   needed now that LICM doesn't use DF and it is super complex
   and gross.
2. Make DomTree updating code a lot simpler and faster.  The 
   old loop over all the blocks was just to find a block??
3. Change the code that inserts the new preheader to just use
   SplitCriticalEdge instead of doing an overcomplex 
   reimplementation of it.

No behavior change, except for the name of the inserted preheader.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123072 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner
2011-01-08 18:52:51 +00:00
parent b0433d4b2f
commit 0e4a1543ab
2 changed files with 22 additions and 117 deletions

View File

@ -34,9 +34,9 @@ for.end: ; preds = %for.cond
; CHECK: define void @test
; CHECK-NEXT: entry:
; CHECK-NEXT: br i1 true, label %bb.nph, label %for.end
; CHECK-NEXT: br i1 true, label %for.body.lr.ph, label %for.end
; CHECK-NOT: :
; CHECK: bb.nph:
; CHECK: for.body.lr.ph:
; CHECK-NEXT: br label %for.body
; CHECK-NOT: :
; CHECK: for.body: