Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Move some more instruction creation methods from RegisterInfo into InstrInfo. | Owen Anderson | 2008-01-01 | 1 | -2/+5 |
| | | | | llvm-svn: 45484 | ||||
* | Rename SSARegMap -> MachineRegisterInfo in keeping with the idea | Chris Lattner | 2007-12-31 | 1 | -11/+11 |
| | | | | | | | | | | | | | | 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 | ||||
* | Remove attribution from file headers, per discussion on llvmdev. | Chris Lattner | 2007-12-29 | 1 | -2/+2 |
| | | | | llvm-svn: 45418 | ||||
* | Add a argument to storeRegToStackSlot and storeRegToAddr to specify whether | Evan Cheng | 2007-12-05 | 1 | -1/+1 |
| | | | | | | the stored register is killed. llvm-svn: 44600 | ||||
* | Drop 'const' | Devang Patel | 2007-05-03 | 1 | -2/+2 |
| | | | | llvm-svn: 36662 | ||||
* | Use 'static const char' instead of 'static const int'. | Devang Patel | 2007-05-02 | 1 | -2/+2 |
| | | | | | | | Due to darwin gcc bug, one version of darwin linker coalesces static const int, which defauts PassID based pass identification. llvm-svn: 36652 | ||||
* | Do not use typeinfo to identify pass in pass manager. | Devang Patel | 2007-05-01 | 1 | -1/+5 |
| | | | | llvm-svn: 36632 | ||||
* | Match MachineFunction::UsedPhysRegs changes. | Evan Cheng | 2007-04-25 | 1 | -7/+2 |
| | | | | llvm-svn: 36452 | ||||
* | Eliminate static ctors from Statistics | Chris Lattner | 2006-12-19 | 1 | -3/+3 |
| | | | | llvm-svn: 32698 | ||||
* | Move findTiedToSrcOperand to TargetInstrDescriptor. | Evan Cheng | 2006-12-08 | 1 | -2/+1 |
| | | | | llvm-svn: 32366 | ||||
* | findTiedToSrcOperand() changed. | Evan Cheng | 2006-12-08 | 1 | -2/+2 |
| | | | | llvm-svn: 32353 | ||||
* | Removed more <iostream> includes | Bill Wendling | 2006-12-07 | 1 | -2/+1 |
| | | | | llvm-svn: 32321 | ||||
* | Detemplatize the Statistic class. The only type it is instantiated with | Chris Lattner | 2006-12-06 | 1 | -2/+2 |
| | | | | | | is 'unsigned'. llvm-svn: 32279 | ||||
* | Use llvm streams instead of <iostream> | Bill Wendling | 2006-11-28 | 1 | -6/+5 |
| | | | | llvm-svn: 31985 | ||||
* | Rename | Evan Cheng | 2006-11-01 | 1 | -1/+1 |
| | | | | llvm-svn: 31364 | ||||
* | Two-address instructions no longer have to be A := A op C. Now any pair of ↵ | Evan Cheng | 2006-11-01 | 1 | -7/+10 |
| | | | | | | dest / src operands can be tied together. llvm-svn: 31363 | ||||
* | Fix a long-standing wart in the code generator: two-address instruction lowering | Chris Lattner | 2006-09-05 | 1 | -5/+1 |
| | | | | | | | | | | | | | | | actually *removes* one of the operands, instead of just assigning both operands the same register. This make reasoning about instructions unnecessarily complex, because you need to know if you are before or after register allocation to match up operand #'s with the target description file. Changing this also gets rid of a bunch of hacky code in various places. This patch also includes changes to fold loads into cmp/test instructions in the X86 backend, along with a significant simplification to the X86 spill folding code. llvm-svn: 30108 | ||||
* | s|llvm/Support/Visibility.h|llvm/Support/Compiler.h| | Chris Lattner | 2006-08-27 | 1 | -1/+1 |
| | | | | llvm-svn: 29911 | ||||
* | Final polish on machine pass registries. | Jim Laskey | 2006-08-02 | 1 | -1/+1 |
| | | | | llvm-svn: 29471 | ||||
* | Introducing plugable register allocators and instruction schedulers. | Jim Laskey | 2006-08-01 | 1 | -0/+5 |
| | | | | llvm-svn: 29434 | ||||
* | Eliminate data relocations by using NULL instead of global empty list. | Jim Laskey | 2006-07-21 | 1 | -5/+9 |
| | | | | llvm-svn: 29250 | ||||
* | Reduce number of exported symbols | Andrew Lenharth | 2006-07-20 | 1 | -2/+2 |
| | | | | llvm-svn: 29220 | ||||
* | Shave another 27K off libllvmgcc.dylib with visibility hidden | Chris Lattner | 2006-06-28 | 1 | -1/+2 |
| | | | | llvm-svn: 28973 | ||||
* | Move some methods out of MachineInstr into MachineOperand | Chris Lattner | 2006-05-04 | 1 | -1/+1 |
| | | | | llvm-svn: 28102 | ||||
* | Add explicit #includes of <iostream> | Chris Lattner | 2006-01-22 | 1 | -0/+1 |
| | | | | llvm-svn: 25515 | ||||
* | Change this code ot pass register classes into the stack slot spiller/reloader | Chris Lattner | 2005-09-30 | 1 | -2/+2 |
| | | | | | | | code. PrologEpilogInserter hasn't been updated yet though, so targets cannot use this info. llvm-svn: 23536 | ||||
* | Convert tabs to spaces | Misha Brukman | 2005-04-22 | 1 | -1/+1 |
| | | | | llvm-svn: 21439 | ||||
* | Remove trailing whitespace | Misha Brukman | 2005-04-21 | 1 | -12/+12 |
| | | | | llvm-svn: 21420 | ||||
* | Update physregsused info. | Chris Lattner | 2005-01-23 | 1 | -10/+18 |
| | | | | llvm-svn: 19793 | ||||
* | Changes For Bug 352 | Reid Spencer | 2004-09-01 | 1 | -3/+3 |
| | | | | | | | | 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 | ||||
* | Stop using CreateStackObject(RegClass*) | Chris Lattner | 2004-08-15 | 1 | -1/+2 |
| | | | | llvm-svn: 15775 | ||||
* | These methods no longer take a TargetRegisterClass* operand. | Chris Lattner | 2004-08-15 | 1 | -2/+2 |
| | | | | llvm-svn: 15774 | ||||
* | These files don't need to include <iostream> since they include ↵ | Brian Gaeke | 2004-07-21 | 1 | -1/+0 |
| | | | | | | "Support/Debug.h". llvm-svn: 15089 | ||||
* | Made a fix so that you can print out MachineInstrs that belong to a ↵ | Tanya Lattner | 2004-06-25 | 1 | -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 | ||||
* | Adjust to new TargetMachine interface | Chris Lattner | 2004-06-02 | 1 | -2/+2 |
| | | | | llvm-svn: 13956 | ||||
* | Fix PR294 | Chris Lattner | 2004-03-16 | 1 | -1/+2 |
| | | | | llvm-svn: 12425 | ||||
* | Simplify iterator usage now that we have next(). Also don't pass iterators ↵ | Alkis Evlogimenos | 2004-02-23 | 1 | -11/+7 |
| | | | | | | by reference now that MachineInstr* are in an ilist llvm-svn: 11732 | ||||
* | Rename reloads/spills to loads/stores. | Alkis Evlogimenos | 2004-02-19 | 1 | -4/+4 |
| | | | | llvm-svn: 11619 | ||||
* | Finegrainify namespacification | Chris Lattner | 2004-02-15 | 1 | -8/+12 |
| | | | | | | Remove one of the operands of a two operand instruction llvm-svn: 11478 | ||||
* | Make dense maps keyed on physical registers smallerusing | Alkis Evlogimenos | 2004-02-15 | 1 | -1/+1 |
| | | | | | | | | | | MRegisterInfo::getNumRegs() instead of MRegisterInfo::FirstVirtualRegister. Also use MRegisterInfo::is{Physical,Virtual}Register where appropriate. llvm-svn: 11477 | ||||
* | Remove getAllocatedRegNum(). Use getReg() instead. | Alkis Evlogimenos | 2004-02-13 | 1 | -4/+4 |
| | | | | llvm-svn: 11393 | ||||
* | Change MachineBasicBlock's vector of MachineInstr pointers into an | Alkis Evlogimenos | 2004-02-12 | 1 | -7/+5 |
| | | | | | | | | | ilist of MachineInstr objects. This allows constant time removal and insertion of MachineInstr instances from anywhere in each MachineBasicBlock. It also allows for constant time splicing of MachineInstrs into or out of MachineBasicBlocks. llvm-svn: 11340 | ||||
* | Do not use MachineOperand::isVirtualRegister either! | Chris Lattner | 2004-02-10 | 1 | -1/+1 |
| | | | | llvm-svn: 11283 | ||||
* | Change interface of MachineOperand as follows: | Alkis Evlogimenos | 2003-12-14 | 1 | -2/+2 |
| | | | | | | | | | | | | | | | a) remove opIsUse(), opIsDefOnly(), opIsDefAndUse() b) add isUse(), isDef() c) rename opHiBits32() to isHiBits32(), opLoBits32() to isLoBits32(), opHiBits64() to isHiBits64(), opLoBits64() to isLoBits64(). This results to much more readable code, for example compare "op.opIsDef() || op.opIsDefAndUse()" to "op.isDef()" a pattern used very often in the code. llvm-svn: 10461 | ||||
* | Put all LLVM code into the llvm namespace, as per bug 109. | Brian Gaeke | 2003-11-11 | 1 | -0/+4 |
| | | | | llvm-svn: 9903 | ||||
* | Added LLVM project notice to the top of every C++ source file. | John Criswell | 2003-10-20 | 1 | -0/+7 |
| | | | | | | Header files will be on the way. llvm-svn: 9298 | ||||
* | Change MRegisterDesc::AliasSet, TargetInstrDescriptor::ImplicitDefs | Alkis Evlogimenos | 2003-10-08 | 1 | -6/+6 |
| | | | | | | | | | | | | | | | | | | | | | and TargetInstrDescriptor::ImplicitUses to always point to a null terminated array and never be null. So there is no need to check for pointer validity when iterating over those sets. Code that looked like: if (const unsigned* AS = TID.ImplicitDefs) { for (int i = 0; AS[i]; ++i) { // use AS[i] } } was changed to: for (const unsigned* AS = TID.ImplicitDefs; *AS; ++AS) { // use *AS } llvm-svn: 8960 | ||||
* | Spell `necessary' correctly. | Misha Brukman | 2003-08-18 | 1 | -1/+1 |
| | | | | llvm-svn: 7944 | ||||
* | Factory methods for FunctionPasses now return type FunctionPass *. | Brian Gaeke | 2003-08-13 | 1 | -1/+1 |
| | | | | llvm-svn: 7823 | ||||
* | Set debug types | Chris Lattner | 2003-08-03 | 1 | -0/+1 |
| | | | | llvm-svn: 7533 |