aboutsummaryrefslogtreecommitdiff
path: root/lib/Target/SparcV9/SparcV9RegClassInfo.cpp
AgeCommit message (Collapse)Author
2006-04-20This target is no longer built. The ,v files now live in the reoptimizer.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27885 91177308-0d34-0410-b5e6-96231b3b80d8
2005-07-27Eliminate tabs and trailing spaces.Jeff Cohen
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22520 91177308-0d34-0410-b5e6-96231b3b80d8
2005-06-12When compiled with GCC 4.0, a latent bug was exposed where both SparcV9Nate Begeman
and the target independant register allocator were both using a class named 'LiveRange'. This lead to the target independant code calling code in the SparcV9 backend, which crashed. Fixed by renaming SparcV9's LiveRange to V9LiveRange. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22208 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-21Remove trailing whitespaceMisha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21425 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-29Get rid of calls to void llvm::printSet(const ValueSet &).Brian Gaeke
Use LiveRange's iterator types and operations instead of ValueSet's. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15321 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-29Remove mustSaveAcrossCalls flag, which isn't ever read, and its mutator,Brian Gaeke
markForSaveAcrossCalls. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15317 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-04Add #include <iostream> since Value.h does not #include it any more.Reid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14622 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-25Fix file header comments and include guards -- many files have been moved orBrian Gaeke
renamed since they were last spiffed up, or they just never had proper comments in the first place. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13148 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-25Great renaming: Sparc --> SparcV9Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11826 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-09Fix more incestuous #includage.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10732 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-17Reorganized the Sparc backend to be more modular -- each differentMisha Brukman
implementation of a Target{RegInfo, InstrInfo, Machine, etc} now has a separate header and a separate implementation file. This means that instead of a massive SparcInternals.h that forces a recompilation of the whole target whenever a minor detail is changed, you should only recompile a few files. Note that SparcInternals.h is still around; its contents should be minimized. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10500 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-11Put all LLVM code into the llvm namespace, as per bug 109.Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9903 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-20Added LLVM project notice to the top of every C++ source file.John Criswell
Header files will be on the way. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9298 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-10Fix spelling.Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9027 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-23Fixed spelling.Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8687 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-21Fix assertion so it doesn't not trip incorrectly.Vikram S. Adve
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8650 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-01IGNode got moved to lib/CodeGen/RegAllocChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8294 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-01No longer include IGNode.h in the Sparc global headerChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8292 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-25(1) Major fix to the way unused regs. are marked and found for the FPVikram S. Adve
Single and FP double reg types (which share the same reg class). Now all methods marking/finding unused regs consider the regType within the reg class, and SparcFloatRegClass specializes this code. (2) Remove machine-specific regalloc. methods that are no longer needed. In particular, arguments and return value from a call do not need machine-specific code for allocation. (3) Rename TargetRegInfo::getRegType variants to avoid unintentional overloading when an include file is omitted. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7334 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-10Several fixes to handling of int CC register:Vikram S. Adve
(1) An int CC live range must be spilled if there are any interferences, even if no other "neighbour" in the interf. graph has been allocated that reg. yet. This is actually true of any class with only one reg! (2) SparcIntCCRegClass::colorIGNode sets the color even if the LR must be spilled so that the machine-independent spill code doesn't have to make the machine-dependent decision of which CC name to use based on operand type: %xcc or %icc. (These are two halves of the same register.) (3) LR->isMarkedForSpill() is no longer the same as LR->hasColor(). These should never have been the same, and this is necessary now for #2. (4) All RDCCR and WRCCR instructions are directly generated with the phony number for %ccr so that EmitAssembly/EmitBinary doesn't have to deal with this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7151 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-06Correction to last fix: Pointer types do not return true in Type::IsIntegral().Vikram S. Adve
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7113 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-06Major bug fix though it happened rarely (only on a compare after anVikram S. Adve
integer overflow): We need to use %icc and not %xcc for comparisons on 32-bit or smaller integer values. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7111 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-21Fixed `volatile' typo.Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6266 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-21Cleaned up code layout, spacing, etc. for readability purposes and to be moreMisha Brukman
consistent with the style of LLVM's code base (and itself! it's inconsistent in some places.) No functional changes were made. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6262 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-21Namespacified `vector' and `cerr' to always use the `std::' namespace.Misha Brukman
Eliminated `using' directives. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6261 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-15Move private header to private directoryChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5305 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-29Remove unneccesary #includesChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4408 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-12 - Clean up interface to Sparc register handling a bit:Chris Lattner
- Eliminate Sparc*Order classes, moving contents to Sparc*Class classes - get register name methods now return const char * const pointers instead of std::string's. - Added file header comments to SparcRegClassInfo.(cpp|h) - Moved BIG constant arrays out of SparcRegClassInfo.h, into SparcRegInfo.cpp. This should allow a LOT of std::string constructors to not have to be called. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3295 91177308-0d34-0410-b5e6-96231b3b80d8
2002-06-25changes to make it compatible with 64bit gccAnand Shukla
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2791 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-23Convert RegClass::IsColorUsedArr from a dynamically allocated array toChris Lattner
a vector. This makes asserting on array bounds easier. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2731 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-19Numerous bug fixes:Vikram S. Adve
-- correct sign extensions for integer casts and for shift-by-constant instructions generated for integer multiply -- passing FP arguments to functions with more than 6 arguments -- passing FP arguments to varargs functions -- passing FP arguments to functions with no prototypes -- incorrect stack frame size when padding a section -- folding getelementptr operations with mixed array and struct indexes -- use uint64_t instead of uint for constant offsets in mem operands -- incorrect coloring for CC registers (both int and FP): interferences were being completely ignored for int CC and were considered but no spills were marked for fp CC! Also some code improvements: -- better interface to generating machine instr for common cases (many places still need to be updated to use this interface) -- annotations on MachineInstr to communicate information from one codegen phase to another (now used to pass information about CALL/JMPLCALL operands from selection to register allocation) -- all sizes and offests in class TargetData are uint64_t instead of uint git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2640 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-29Eliminate duplicate or unneccesary #include'sChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2397 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-05* Code CleanupsChris Lattner
* Removal dependencies on Type.h & remove uses of getTypeID() git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1718 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-05* Eliminate the LiveVarSet class, making applyTranferFuncForMInst a staticChris Lattner
function in the one .cpp file that uses it. Use ValueSet's instead. * Prepare to delete LiveVarSet.h & LiveVarSet.cpp * Eliminate the ValueSet class, making all old member functions into global templates that will eventually be moved to Support. * Eliminate some irrelevant const's git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1712 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-04* Minor cleanupsChris Lattner
* Reduce number of #includes * Remove blatently misleading qualifiers (how do you have an inlined pure virtual function?) * Remove unnecesary & ignored qualifiers (const int argument vs int argument) * SparcInternals.h now no longer #includes RegClass.h or SparcRegClassInfo.h * Pull inlined functions out of .h file if they are virtual and interfere with dependencies git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1677 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-20Changes to build successfully with GCC 3.02Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1503 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-07Added comments and correct logic for finding register sizes.Ruchira Sasanka
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1494 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-19Added code so that colorIGNode does not unnecessarily reserve unusableRuchira Sasanka
Suggested colors for neighbors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@921 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-19Corrected call interference bug - suggested color not allocated ifRuchira Sasanka
volatile and there are call interferences git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@918 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-18Added support for condition code loading/stroing in methods cpReg2Reg etc.Ruchira Sasanka
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@911 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-15Output to cerr rather than cout so that debug info doesn't mess up assembly ↵Chris Lattner
generation git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@840 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-30added support for suggesting colorsRuchira Sasanka
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@671 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18-- ruchiraRuchira Sasanka
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@632 91177308-0d34-0410-b5e6-96231b3b80d8