summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/StrongPHIElimination.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Copies need to be inserted before the first terminator, not at the end of ↵Owen Anderson2008-01-101-2/+2
| | | | | | the block. llvm-svn: 45791
* Clean up StrongPHIElimination a bit, and add some more comments to the ↵Owen Anderson2008-01-091-6/+46
| | | | | | | | internal structures. There's still more work to do on this front. llvm-svn: 45783
* StrongPHIElim: Now with even fewer trivial bugs!Owen Anderson2008-01-091-2/+4
| | | | llvm-svn: 45775
* Fix an infinite recursion bug in InsertCopies.Owen Anderson2008-01-091-4/+9
| | | | llvm-svn: 45774
* Fix some simple bugs. StrongPHIElimination now does not crash on 164.gzip.Owen Anderson2008-01-091-3/+3
| | | | llvm-svn: 45773
* Rename registers that do not need copies.Owen Anderson2008-01-081-3/+19
| | | | llvm-svn: 45759
* Actually insert copies now!Owen Anderson2008-01-081-6/+29
| | | | llvm-svn: 45738
* Oops, missed one.Owen Anderson2008-01-071-1/+1
| | | | llvm-svn: 45719
* Make some predicates static.Owen Anderson2008-01-071-3/+3
| | | | llvm-svn: 45718
* Rename SSARegMap -> MachineRegisterInfo in keeping with the idea Chris Lattner2007-12-311-1/+0
| | | | | | | | | | | | | | that "machine" classes are used to represent the current state of the code being compiled. Given this expanded name, we can start moving other stuff into it. For now, move the UsedPhysRegs and LiveIn/LoveOuts vectors from MachineFunction into it. Update all the clients to match. This also reduces some needless #includes, such as MachineModuleInfo from MachineFunction. llvm-svn: 45467
* Add new shorter predicates for testing machine operands for various types: Chris Lattner2007-12-301-1/+1
| | | | | | | | | | | | e.g. MO.isMBB() instead of MO.isMachineBasicBlock(). I don't plan on switching everything over, so new clients should just start using the shorter names. Remove old long accessors, switching everything over to use the short accessor: getMachineBasicBlock() -> getMBB(), getConstantPoolIndex() -> getIndex(), setMachineBasicBlock -> setMBB(), etc. llvm-svn: 45464
* Remove attribution from file headers, per discussion on llvmdev.Chris Lattner2007-12-291-2/+2
| | | | llvm-svn: 45418
* Flesh out the Briggs implementation a little bit more, fix a few FIXMEs.Owen Anderson2007-12-241-11/+35
| | | | llvm-svn: 45347
* Sketch out an implementation of Briggs' copy placement algorithm.Owen Anderson2007-12-231-10/+104
| | | | llvm-svn: 45334
* Note what still needs doing.Owen Anderson2007-12-221-1/+6
| | | | llvm-svn: 45310
* Remove critical edge breaking. It won't be necessary as long as we are very ↵Owen Anderson2007-12-221-37/+0
| | | | | | careful when inserting copies. llvm-svn: 45309
* Break local interferences in StrongPHIElimination. One step closer...Owen Anderson2007-12-161-0/+135
| | | | llvm-svn: 45070
* A few more comments.Owen Anderson2007-12-161-1/+6
| | | | llvm-svn: 45069
* Add register pairs to the list to check for local interferences.Owen Anderson2007-12-131-4/+10
| | | | llvm-svn: 44987
* Remove ugly and horrible code. It's not necessary for correctness, and can ↵Owen Anderson2007-12-131-47/+7
| | | | | | be added back later if it causes code quality issues. llvm-svn: 44986
* Forgot to remove a register from the PHI-union after I'd determined that itOwen Anderson2007-12-121-3/+6
| | | | | | interfered with other registers. Seems like that might be a good thing to do. :-) llvm-svn: 44902
* More progress on StrongPHIElimination. Now we actually USE the DomForest!Owen Anderson2007-12-111-0/+89
| | | | llvm-svn: 44877
* A little more progress on StrongPHIElimination, now that I have a better ↵Owen Anderson2007-12-101-11/+16
| | | | | | | | sense of how the CodeGen machinery works. llvm-svn: 44786
* Run computeDomForest() on the set of registers that need to be tested forOwen Anderson2007-11-131-5/+6
| | | | | | interference. llvm-svn: 44064
* Preserve LiveVariables when doing critical edge splitting.Owen Anderson2007-11-131-2/+13
| | | | llvm-svn: 44063
* Break critical edges coming into blocks with PHI nodes.Owen Anderson2007-11-121-0/+26
| | | | llvm-svn: 44019
* As Chris and Evan pointed out, BreakCriticalMachineEdges doesn't really needOwen Anderson2007-11-121-0/+1
| | | | | | to be a pass of its own. Instead, move it out into a helper method. llvm-svn: 44002
* Take another stab at getting isLiveIn() and isLiveOut() right.Owen Anderson2007-11-081-8/+11
| | | | llvm-svn: 43869
* Add some more of StrongPHIElim.Owen Anderson2007-11-071-12/+74
| | | | llvm-svn: 43805
* Add a few comments.Owen Anderson2007-11-061-0/+5
| | | | llvm-svn: 43755
* DomForest is a forest of registers, not instructions.Owen Anderson2007-11-061-25/+47
| | | | llvm-svn: 43754
* StrongPHIElimination requires LiveVariables.Owen Anderson2007-11-061-10/+24
| | | | llvm-svn: 43751
* Another step of stronger PHI elimination down.Owen Anderson2007-11-041-0/+88
| | | | llvm-svn: 43684
* Add a newline at the end of the file.Duncan Sands2007-10-311-1/+1
| | | | llvm-svn: 43550
* Add the skeleton of a better PHI elimination pass.Owen Anderson2007-10-311-0/+112
llvm-svn: 43542
OpenPOWER on IntegriCloud