Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | fix another bozo bug | Chris Lattner | 2009-08-18 | 1 | -2/+2 | |
| | | | | llvm-svn: 79313 | |||||
* | fix accidentally inverted conditional and add comment. | Chris Lattner | 2009-08-18 | 1 | -1/+4 | |
| | | | | llvm-svn: 79312 | |||||
* | turn this conditional into something humans might actually | Chris Lattner | 2009-08-18 | 1 | -8/+25 | |
| | | | | | | be able to understand ;-) llvm-svn: 79311 | |||||
* | Re-apply LiveInterval index dumping patch, with fixes suggested by Bill | David Greene | 2009-08-03 | 1 | -4/+6 | |
| | | | | | | and others. llvm-svn: 78003 | |||||
* | Move more to raw_ostream, provide support for writing MachineBasicBlock, | Daniel Dunbar | 2009-07-24 | 1 | -1/+11 | |
| | | | | | | LiveInterval, etc to raw_ostream. llvm-svn: 76965 | |||||
* | revert r76602, 76603, and r76615, pending design discussions. | Chris Lattner | 2009-07-21 | 1 | -3/+1 | |
| | | | | llvm-svn: 76646 | |||||
* | Add PrefixPrinter arguments to the dump routines for MachineFunction and | David Greene | 2009-07-21 | 1 | -1/+3 | |
| | | | | | | MachineBasicBlock. We'll use these shortly. llvm-svn: 76603 | |||||
* | If a MachineBasicBlock has multiple ways of reaching another block, | Dan Gohman | 2009-05-05 | 1 | -4/+2 | |
| | | | | | | | | allow it to have multiple CFG edges to that block. This is needed to allow MachineBasicBlock::isOnlyReachableByFallthrough to work correctly. This fixes PR4126. llvm-svn: 71018 | |||||
* | Reapply 68073, with fixes. EH Landing-pad basic blocks are not | Dan Gohman | 2009-03-31 | 1 | -0/+10 | |
| | | | | | | | | entered via fall-through. Don't miss fallthroughs from blocks terminated by conditional branches. Also, move isOnlyReachableByFallthrough out of line. llvm-svn: 68129 | |||||
* | Constify arguments in isSuccessor and isLayoutSuccessor. | Dan Gohman | 2009-03-30 | 1 | -2/+2 | |
| | | | | llvm-svn: 68054 | |||||
* | Delete unnecessary parens around return values. | Dan Gohman | 2009-01-08 | 1 | -1/+1 | |
| | | | | llvm-svn: 61950 | |||||
* | Switch the MachineOperand accessors back to the short names like | Dan Gohman | 2008-10-03 | 1 | -1/+1 | |
| | | | | | | isReg, etc., from isRegister, etc. llvm-svn: 57006 | |||||
* | Add a new MachineBasicBlock utility function, isLayoutSuccessor, that | Dan Gohman | 2008-10-02 | 1 | -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 Gohman | 2008-09-13 | 1 | -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, and | Dan Gohman | 2008-07-28 | 1 | -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 Gohman | 2008-07-17 | 1 | -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, and | Dan Gohman | 2008-07-07 | 1 | -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 Wang | 2008-05-05 | 1 | -0/+13 | |
| | | | | llvm-svn: 50663 | |||||
* | - Check if a register is livein before removing it. It may have already been ↵ | Evan Cheng | 2008-04-24 | 1 | -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 Cheng | 2008-02-28 | 1 | -0/+1 | |
| | | | | | | 16-byte boundaries. llvm-svn: 47703 | |||||
* | Rename PrintableName to Name. | Bill Wendling | 2008-02-26 | 1 | -1/+1 | |
| | | | | llvm-svn: 47629 | |||||
* | Change "Name" to "AsmName" in the target register info. Gee, a refactoring tool | Bill Wendling | 2008-02-26 | 1 | -1/+1 | |
| | | | | | | would have been a Godsend here! llvm-svn: 47625 | |||||
* | Rename MRegisterInfo to TargetRegisterInfo. | Dan Gohman | 2008-02-10 | 1 | -7/+7 | |
| | | | | llvm-svn: 46930 | |||||
* | remove #includage | Chris Lattner | 2008-01-07 | 1 | -1/+1 | |
| | | | | llvm-svn: 45697 | |||||
* | rename TargetInstrDescriptor -> TargetInstrDesc. | Chris Lattner | 2008-01-07 | 1 | -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 reflects | Chris Lattner | 2008-01-07 | 1 | -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 Lattner | 2008-01-01 | 1 | -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 Lattner | 2007-12-31 | 1 | -19/+21 | |
| | | | | llvm-svn: 45469 | |||||
* | Add new shorter predicates for testing machine operands for various types: | Chris Lattner | 2007-12-30 | 1 | -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 Lattner | 2007-12-29 | 1 | -2/+2 | |
| | | | | llvm-svn: 45418 | |||||
* | Use empty() member functions when that's what's being tested for instead | Dan Gohman | 2007-10-03 | 1 | -1/+1 | |
| | | | | | | of comparing begin() and end(). llvm-svn: 42585 | |||||
* | Silence warning while compiling with gcc 4.2 | Anton Korobeynikov | 2007-09-02 | 1 | -1/+2 | |
| | | | | llvm-svn: 41676 | |||||
* | Fix misue of iterator pointing to erased object. Uncovered by | David Greene | 2007-06-29 | 1 | -3/+3 | |
| | | | | | | _GLIBCXX_DEBUG. llvm-svn: 37793 | |||||
* | Move CorrectExtraCFGEdges() from BranchFolding.cpp to a MachineBasicBlock ↵ | Evan Cheng | 2007-06-18 | 1 | -0/+60 | |
| | | | | | | method. llvm-svn: 37633 | |||||
* | Move ReplaceUsesOfBlockWith() out of BranchFolding into a MachineBasicBlock ↵ | Evan Cheng | 2007-06-04 | 1 | -0/+27 | |
| | | | | | | general facility. llvm-svn: 37408 | |||||
* | Move isSuccessor() offline, change it to use std::find. | Evan Cheng | 2007-05-17 | 1 | -0/+6 | |
| | | | | llvm-svn: 37190 | |||||
* | print isLandingPad() for MBBs | Chris Lattner | 2007-04-30 | 1 | -3/+5 | |
| | | | | llvm-svn: 36600 | |||||
* | Print preds / succs BB numbers. | Evan Cheng | 2007-03-09 | 1 | -2/+2 | |
| | | | | llvm-svn: 35040 | |||||
* | Re-apply my liveintervalanalysis changes. Now with PR1207 fixes. | Evan Cheng | 2007-02-19 | 1 | -1/+7 | |
| | | | | llvm-svn: 34428 | |||||
* | For PR1207: | Reid Spencer | 2007-02-19 | 1 | -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 Cheng | 2007-02-17 | 1 | -1/+7 | |
| | | | | llvm-svn: 34381 | |||||
* | Add live-ins to MachineBasicBlock. | Evan Cheng | 2007-02-10 | 1 | -1/+22 | |
| | | | | llvm-svn: 34111 | |||||
* | The best unbreakage yet, addressing Bill's concerns. | Jeff Cohen | 2006-12-16 | 1 | -5/+0 | |
| | | | | llvm-svn: 32622 | |||||
* | An even better unbreakage... | Jeff Cohen | 2006-12-15 | 1 | -0/+5 | |
| | | | | llvm-svn: 32617 | |||||
* | Removed more <iostream> includes | Bill Wendling | 2006-12-07 | 1 | -2/+1 | |
| | | | | llvm-svn: 32321 | |||||
* | Change MachineInstr ctor's to take a TargetInstrDescriptor reference instead | Evan Cheng | 2006-11-27 | 1 | -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 Lattner | 2006-11-18 | 1 | -0/+4 | |
| | | | | llvm-svn: 31857 | |||||
* | add moveBefore/moveAfter helper methods | Chris Lattner | 2006-10-24 | 1 | -0/+12 | |
| | | | | llvm-svn: 31145 | |||||
* | print labels even if a MBB doesn't have a corresponding LLVM BB, just don't | Chris Lattner | 2006-10-06 | 1 | -3/+4 | |
| | | | | | | print the LLVM BB label. llvm-svn: 30775 | |||||
* | MachineBasicBlock::splice was incorrectly updating parent pointers on | Chris Lattner | 2006-10-06 | 1 | -3/+3 | |
| | | | | | | instructions. llvm-svn: 30760 |