summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/RegAllocSimple.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Remove simple regalloc. It has bit rotted.Evan Cheng2009-09-171-261/+0
| | | | llvm-svn: 82127
* Convert DOUT to DEBUG(errs()...).Bill Wendling2009-08-221-6/+9
| | | | llvm-svn: 79759
* Use setPreservesAll and setPreservesCFG in CodeGen passes.Dan Gohman2009-07-311-0/+1
| | | | llvm-svn: 77754
* Fix pr3954. The register scavenger asserts for inline assembly withBob Wilson2009-04-091-2/+2
| | | | | | | | | | | | register destinations that are tied to source operands. The TargetInstrDescr::findTiedToSrcOperand method silently fails for inline assembly. The existing MachineInstr::isRegReDefinedByTwoAddr was very close to doing what is needed, so this revision makes a few changes to that method and also renames it to isRegTiedToUseOperand (for consistency with the very similar isRegTiedToDefOperand and because it handles both two-address instructions and inline assembly with tied registers). llvm-svn: 68714
* Silience unused warnings.Devang Patel2008-12-231-0/+2
| | | | llvm-svn: 61390
* Fix command-line option printing to print two spaces where needed,Dan Gohman2008-10-141-1/+1
| | | | | | | | | instead of requiring all "short description" strings to begin with two spaces. This makes these strings less mysterious, and it fixes some cases where short description strings mistakenly did not begin with two spaces. llvm-svn: 57521
* Switch the MachineOperand accessors back to the short names likeDan Gohman2008-10-031-2/+2
| | | | | | isReg, etc., from isRegister, etc. llvm-svn: 57006
* Tidy up several unbeseeming casts from pointer to intptr_t.Dan Gohman2008-09-041-1/+1
| | | | llvm-svn: 55779
* Reuse the MO variable instead of recomputing it in RegAllocLocal.Dan Gohman2008-07-091-8/+8
| | | | | | Keep RegAllocSimple in sync. llvm-svn: 53351
* Give RegAllocSimple a TargetInstrInfo member to keep it consistentDan Gohman2008-07-091-2/+2
| | | | | | with RegAllocLocal. llvm-svn: 53347
* Use find with std::map, when that's what's needed, instead of lower_boundDan Gohman2008-07-091-3/+2
| | | | | | with extra checks. llvm-svn: 53344
* Don't include <map> in Pass.h, which doesn't need it. This requiresDan Gohman2008-03-211-0/+1
| | | | | | adding <map> to many files that actually do need it. llvm-svn: 48667
* Rename MRegisterInfo to TargetRegisterInfo.Dan Gohman2008-02-101-4/+4
| | | | llvm-svn: 46930
* rename TargetInstrDescriptor -> TargetInstrDesc.Chris Lattner2008-01-071-2/+2
| | | | | | | 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-3/+2
| | | | | | | | | | | | | | | 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
* Move some more instruction creation methods from RegisterInfo into InstrInfo.Owen Anderson2008-01-011-2/+5
| | | | llvm-svn: 45484
* Rename SSARegMap -> MachineRegisterInfo in keeping with the idea Chris Lattner2007-12-311-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 Lattner2007-12-291-2/+2
| | | | llvm-svn: 45418
* Add a argument to storeRegToStackSlot and storeRegToAddr to specify whetherEvan Cheng2007-12-051-1/+1
| | | | | | the stored register is killed. llvm-svn: 44600
* Drop 'const'Devang Patel2007-05-031-2/+2
| | | | llvm-svn: 36662
* Use 'static const char' instead of 'static const int'.Devang Patel2007-05-021-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 Patel2007-05-011-1/+5
| | | | llvm-svn: 36632
* Match MachineFunction::UsedPhysRegs changes.Evan Cheng2007-04-251-7/+2
| | | | llvm-svn: 36452
* Eliminate static ctors from StatisticsChris Lattner2006-12-191-3/+3
| | | | llvm-svn: 32698
* Move findTiedToSrcOperand to TargetInstrDescriptor.Evan Cheng2006-12-081-2/+1
| | | | llvm-svn: 32366
* findTiedToSrcOperand() changed.Evan Cheng2006-12-081-2/+2
| | | | llvm-svn: 32353
* Removed more <iostream> includesBill Wendling2006-12-071-2/+1
| | | | llvm-svn: 32321
* Detemplatize the Statistic class. The only type it is instantiated withChris Lattner2006-12-061-2/+2
| | | | | | is 'unsigned'. llvm-svn: 32279
* Use llvm streams instead of <iostream>Bill Wendling2006-11-281-6/+5
| | | | llvm-svn: 31985
* RenameEvan Cheng2006-11-011-1/+1
| | | | llvm-svn: 31364
* Two-address instructions no longer have to be A := A op C. Now any pair of ↵Evan Cheng2006-11-011-7/+10
| | | | | | dest / src operands can be tied together. llvm-svn: 31363
* Fix a long-standing wart in the code generator: two-address instruction loweringChris Lattner2006-09-051-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 Lattner2006-08-271-1/+1
| | | | llvm-svn: 29911
* Final polish on machine pass registries.Jim Laskey2006-08-021-1/+1
| | | | llvm-svn: 29471
* Introducing plugable register allocators and instruction schedulers.Jim Laskey2006-08-011-0/+5
| | | | llvm-svn: 29434
* Eliminate data relocations by using NULL instead of global empty list.Jim Laskey2006-07-211-5/+9
| | | | llvm-svn: 29250
* Reduce number of exported symbolsAndrew Lenharth2006-07-201-2/+2
| | | | llvm-svn: 29220
* Shave another 27K off libllvmgcc.dylib with visibility hiddenChris Lattner2006-06-281-1/+2
| | | | llvm-svn: 28973
* Move some methods out of MachineInstr into MachineOperandChris Lattner2006-05-041-1/+1
| | | | llvm-svn: 28102
* Add explicit #includes of <iostream>Chris Lattner2006-01-221-0/+1
| | | | llvm-svn: 25515
* Change this code ot pass register classes into the stack slot spiller/reloaderChris Lattner2005-09-301-2/+2
| | | | | | | code. PrologEpilogInserter hasn't been updated yet though, so targets cannot use this info. llvm-svn: 23536
* Convert tabs to spacesMisha Brukman2005-04-221-1/+1
| | | | llvm-svn: 21439
* Remove trailing whitespaceMisha Brukman2005-04-211-12/+12
| | | | llvm-svn: 21420
* Update physregsused info.Chris Lattner2005-01-231-10/+18
| | | | llvm-svn: 19793
* Changes For Bug 352Reid Spencer2004-09-011-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 Lattner2004-08-151-1/+2
| | | | llvm-svn: 15775
* These methods no longer take a TargetRegisterClass* operand.Chris Lattner2004-08-151-2/+2
| | | | llvm-svn: 15774
* These files don't need to include <iostream> since they include ↵Brian Gaeke2004-07-211-1/+0
| | | | | | "Support/Debug.h". llvm-svn: 15089
* 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
* Adjust to new TargetMachine interfaceChris Lattner2004-06-021-2/+2
| | | | llvm-svn: 13956
OpenPOWER on IntegriCloud