summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/MachineBasicBlock.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Delete unnecessary parens around return values.Dan Gohman2009-01-081-1/+1
| | | | llvm-svn: 61950
* Switch the MachineOperand accessors back to the short names likeDan Gohman2008-10-031-1/+1
| | | | | | isReg, etc., from isRegister, etc. llvm-svn: 57006
* Add a new MachineBasicBlock utility function, isLayoutSuccessor, thatDan Gohman2008-10-021-0/+5
| | | | | | | can be used when deciding if a block can transfer control to another via a fall-through instead of a branch. llvm-svn: 56968
* Remove isImm(), isReg(), and friends, in favor of Dan Gohman2008-09-131-1/+2
| | | | | | | | | isImmediate(), isRegister(), and friends, to avoid confusion about having two different names with the same meaning. I'm not attached to the longer names, and would be ok with changing to the shorter names if others prefer it. llvm-svn: 56189
* Fold the useful features of alist and alist_node into ilist, andDan Gohman2008-07-281-24/+12
| | | | | | | | | | | | | | | | a new ilist_node class, and remove them. Unlike alist_node, ilist_node doesn't attempt to manage storage itself, so it avoids the associated problems, including being opaque in gdb. Adjust the Recycler class so that it doesn't depend on alist_node. Also, change it to use explicit Size and Align parameters, allowing it to work when the largest-sized node doesn't have the greatest alignment requirement. Change MachineInstr's MachineMemOperand list from a pool-backed alist to a std::list for now. llvm-svn: 54146
* Re-introduce LeakDetector support for MachineInstrs and MachineBasicBlocks.Dan Gohman2008-07-171-0/+12
| | | | | | | Fix a leak that this turned up in LowerSubregs.cpp. And, comment a leak in LiveIntervalAnalysis.cpp. llvm-svn: 53746
* Pool-allocation for MachineInstrs, MachineBasicBlocks, andDan Gohman2008-07-071-53/+53
| | | | | | | | | | | MachineMemOperands. The pools are owned by MachineFunctions. This drastically reduces the number of calls to malloc/free made during the "Emit" phase of scheduling, as well as later phases in CodeGen. Combined with other changes, this speeds up the "instruction selection" phase of CodeGen by 10% in some cases. llvm-svn: 53212
* Added addition atomic instrinsics and, or, xor, min, and max.Mon P Wang2008-05-051-0/+13
| | | | llvm-svn: 50663
* - Check if a register is livein before removing it. It may have already been ↵Evan Cheng2008-04-241-0/+5
| | | | | | | | removed. - Do not iterate over SmallPtrSet, the order of iteration is not deterministic. llvm-svn: 50209
* Add a quick and dirty "loop aligner pass". x86 uses it to align its loops to ↵Evan Cheng2008-02-281-0/+1
| | | | | | 16-byte boundaries. llvm-svn: 47703
* Rename PrintableName to Name.Bill Wendling2008-02-261-1/+1
| | | | llvm-svn: 47629
* Change "Name" to "AsmName" in the target register info. Gee, a refactoring toolBill Wendling2008-02-261-1/+1
| | | | | | would have been a Godsend here! llvm-svn: 47625
* Rename MRegisterInfo to TargetRegisterInfo.Dan Gohman2008-02-101-7/+7
| | | | llvm-svn: 46930
* 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
OpenPOWER on IntegriCloud