summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/MachineBasicBlock.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* remove #includageChris Lattner2008-01-071-1/+1
| | | | llvm-svn: 45697
* rename TargetInstrDescriptor -> TargetInstrDesc.Chris Lattner2008-01-071-3/+3
| | | | | | | Make MachineInstr::getDesc return a reference instead of a pointer, since it can never be null. llvm-svn: 45695
* Rename MachineInstr::getInstrDescriptor -> getDesc(), which reflectsChris Lattner2008-01-071-4/+3
| | | | | | | | | | | | | | | that it is cheap and efficient to get. Move a variety of predicates from TargetInstrInfo into TargetInstrDescriptor, which makes it much easier to query a predicate when you don't have TII around. Now you can use MI->getDesc()->isBranch() instead of going through TII, and this is much more efficient anyway. Not all of the predicates have been moved over yet. Update old code that used MI->getInstrDescriptor()->Flags to use the new predicates in many places. llvm-svn: 45674
* Implement automatically updated def/use lists for all MachineInstr register Chris Lattner2008-01-011-4/+55
| | | | | | | operands. The lists are currently kept in MachineRegisterInfo, but it does not yet provide an iterator interface to them. llvm-svn: 45477
* properly encapsulate the parent field of MBB and MI with get/set accessors.Chris Lattner2007-12-311-19/+21
| | | | llvm-svn: 45469
* Add new shorter predicates for testing machine operands for various types: Chris Lattner2007-12-301-3/+2
| | | | | | | | | | | | 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
* Use empty() member functions when that's what's being tested for insteadDan Gohman2007-10-031-1/+1
| | | | | | of comparing begin() and end(). llvm-svn: 42585
* Silence warning while compiling with gcc 4.2Anton Korobeynikov2007-09-021-1/+2
| | | | llvm-svn: 41676
* Fix misue of iterator pointing to erased object. Uncovered byDavid Greene2007-06-291-3/+3
| | | | | | _GLIBCXX_DEBUG. llvm-svn: 37793
* Move CorrectExtraCFGEdges() from BranchFolding.cpp to a MachineBasicBlock ↵Evan Cheng2007-06-181-0/+60
| | | | | | method. llvm-svn: 37633
* Move ReplaceUsesOfBlockWith() out of BranchFolding into a MachineBasicBlock ↵Evan Cheng2007-06-041-0/+27
| | | | | | general facility. llvm-svn: 37408
* Move isSuccessor() offline, change it to use std::find.Evan Cheng2007-05-171-0/+6
| | | | llvm-svn: 37190
* print isLandingPad() for MBBsChris Lattner2007-04-301-3/+5
| | | | llvm-svn: 36600
* Print preds / succs BB numbers.Evan Cheng2007-03-091-2/+2
| | | | llvm-svn: 35040
* Re-apply my liveintervalanalysis changes. Now with PR1207 fixes.Evan Cheng2007-02-191-1/+7
| | | | llvm-svn: 34428
* For PR1207:Reid Spencer2007-02-191-7/+1
| | | | | | | Revert patches that caused the problem. Evan, please investigate and reapply when you've discovered the problem. llvm-svn: 34399
* Added removeLiveIn.Evan Cheng2007-02-171-1/+7
| | | | llvm-svn: 34381
* Add live-ins to MachineBasicBlock.Evan Cheng2007-02-101-1/+22
| | | | llvm-svn: 34111
* The best unbreakage yet, addressing Bill's concerns.Jeff Cohen2006-12-161-5/+0
| | | | llvm-svn: 32622
* An even better unbreakage...Jeff Cohen2006-12-151-0/+5
| | | | llvm-svn: 32617
* Removed more <iostream> includesBill Wendling2006-12-071-2/+1
| | | | llvm-svn: 32321
* Change MachineInstr ctor's to take a TargetInstrDescriptor reference insteadEvan Cheng2006-11-271-1/+1
| | | | | | of opcode and number of operands. llvm-svn: 31947
* Implement operator<< for machine basic blocks to make it easier to dump them.Chris Lattner2006-11-181-0/+4
| | | | llvm-svn: 31857
* add moveBefore/moveAfter helper methodsChris Lattner2006-10-241-0/+12
| | | | llvm-svn: 31145
* print labels even if a MBB doesn't have a corresponding LLVM BB, just don'tChris Lattner2006-10-061-3/+4
| | | | | | print the LLVM BB label. llvm-svn: 30775
* MachineBasicBlock::splice was incorrectly updating parent pointers onChris Lattner2006-10-061-3/+3
| | | | | | instructions. llvm-svn: 30760
* Print the MBB ID # along with the bb tag in the -print-machine-instrs output.Chris Lattner2006-10-031-1/+1
| | | | llvm-svn: 30708
* print the preds of each MBBChris Lattner2006-09-261-0/+8
| | | | llvm-svn: 30606
* Refactor a bunch of includes so that TargetMachine.h doesn't have to includeOwen Anderson2006-05-121-0/+1
| | | | | | | TargetData.h. This should make recompiles a bit faster with my current TargetData tinkering. llvm-svn: 28238
* Remove and simplify some more machineinstr/machineoperand stuff.Chris Lattner2006-05-041-1/+1
| | | | llvm-svn: 28105
* Remove a bunch more dead V9 specific stuffChris Lattner2006-05-041-1/+1
| | | | llvm-svn: 28094
* Remove trailing whitespaceMisha Brukman2005-04-211-1/+1
| | | | llvm-svn: 21420
* print the machine CFG in the -print-machineinstrs dumpChris Lattner2005-04-011-0/+8
| | | | llvm-svn: 20976
* Improve conformance with the Misha spelling benchmark suiteChris Lattner2005-01-301-1/+1
| | | | llvm-svn: 19930
* adjust to ilist changes.Chris Lattner2005-01-291-1/+1
| | | | llvm-svn: 19924
* Move method bodies that depend on <algorithm> from MBB.h to MBB.cppChris Lattner2004-10-261-14/+38
| | | | llvm-svn: 17253
* Indent to 2 spaces.Alkis Evlogimenos2004-09-051-26/+27
| | | | llvm-svn: 16187
* Changes For Bug 352Reid Spencer2004-09-011-1/+1
| | | | | | | | Move include/Config and include/Support into include/llvm/Config, include/llvm/ADT and include/llvm/Support. From here on out, all LLVM public header files must be under include/llvm/. llvm-svn: 16137
* Add #include <iostream> since Value.h does not #include it any more.Reid Spencer2004-07-041-0/+1
| | | | llvm-svn: 14622
* Change MBB autonumber a bit to get the reverse mapping as well as a forwardChris Lattner2004-07-011-10/+6
| | | | | | mapping llvm-svn: 14521
* Made a fix so that you can print out MachineInstrs that belong to a ↵Tanya Lattner2004-06-251-1/+1
| | | | | | MachineBasicBlock that is not yet attached to a MachineFunction. This change includes changing the third operand (TargetMachine) to a pointer for the MachineInstr::print function. llvm-svn: 14389
* Make debugging dumps w/ multiple MachineBBs for a given LLVM BB readable.Brian Gaeke2004-06-171-1/+2
| | | | llvm-svn: 14205
* Adjust to new TargetMachine interfaceChris Lattner2004-06-021-1/+1
| | | | llvm-svn: 13956
* Moved MachineBasicBlock deconstructor to cpp file and removed it from ↵Tanya Lattner2004-05-241-2/+8
| | | | | | LeakDetector to fix memory leak bug. llvm-svn: 13718
* Added MachineFunction parent* to MachineBasicBlock. Customized ilist templateTanya Lattner2004-05-241-14/+15
| | | | | | to set the parent when a MachineBasicBlock is added to a MachineFunction. llvm-svn: 13716
* Eliminate an explicit use of the LLVM basic block, using getParent instead,Chris Lattner2004-05-241-1/+1
| | | | | | which simplifies the code llvm-svn: 13707
* Add non-const MachineBasicBlock::getParent() accessor method.Brian Gaeke2004-05-121-0/+19
| | | | | | | | MBBs start out as #-1. When a MBB is added to a MachineFunction, it gets the next available unique MBB number. If it is removed from a MachineFunction, it goes back to being #-1. llvm-svn: 13514
* Use MachineBasicBlock::getParent().Alkis Evlogimenos2004-02-231-2/+1
| | | | llvm-svn: 11756
* Refactor rewinding code for finding the first terminator of a basicAlkis Evlogimenos2004-02-231-0/+12
| | | | | | | | | | | | block into MachineBasicBlock::getFirstTerminator(). This also fixes a bug in the implementation of the above in both RegAllocLocal and InstrSched, where instructions where added after the terminator if the basic block's only instruction was a terminator (it shouldn't matter for RegAllocLocal since this case never occurs in practice). llvm-svn: 11748
OpenPOWER on IntegriCloud