summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/TargetRegisterInfo.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Split EVT into MVT and EVT, the former representing _just_ a primitive type, ↵Owen Anderson2009-08-111-1/+1
| | | | | | | | while the latter is capable of representing either a primitive or an extended type. llvm-svn: 78713
* Rename MVT to EVT, in preparation for splitting SimpleValueType out into its ↵Owen Anderson2009-08-101-3/+3
| | | | | | own struct type. llvm-svn: 78610
* Untabification.Bill Wendling2009-05-301-2/+2
| | | | llvm-svn: 72604
* getCommonSubClass() - Calculate the largest common sub-class of two registerJakob Stoklund Olesen2009-04-301-0/+42
| | | | | | | | | classes. This is implemented as a function rather than a method on TargetRegisterClass because it is symmetric in its arguments. llvm-svn: 70512
* Give register alias checking the hash table treatment too.Owen Anderson2009-04-091-1/+3
| | | | llvm-svn: 68730
* Convert TargetRegisterInfo's super-register checking to use a pre-computed ↵Owen Anderson2009-04-091-3/+5
| | | | | | hash table just like subregister checking does. llvm-svn: 68669
* Instead of building a list and sorting it just to find a maximum element,Dan Gohman2008-09-211-26/+9
| | | | | | compute the maximum element directly. llvm-svn: 56411
* Remove warning about initialization order.Bill Wendling2008-07-011-2/+2
| | | | llvm-svn: 52980
* Make the subregister hashtable output more readable by wrapping the lines,Owen Anderson2008-07-011-2/+4
| | | | | | and mark it const along with the associated changes to TargetRegisterInfo. llvm-svn: 52966
* Replace the dynamically computed std::set lookup method for subregisters ↵Owen Anderson2008-07-011-10/+0
| | | | | | | | with a hashtable-based version that is computed by tblgen at the time LLVM is compiled. llvm-svn: 52945
* Cache subregister relationships in a set in TargetRegisterInfo to allow ↵Owen Anderson2008-06-271-0/+10
| | | | | | | | faster lookups. This speeds up LiveVariables from 0.6279s to 0.6165s on kimwitu++. llvm-svn: 52818
* Wrap MVT::ValueType in a struct to get type safetyDuncan Sands2008-06-061-2/+1
| | | | | | | | | | | | | | | | and better control the abstraction. Rename the type to MVT. To update out-of-tree patches, the main thing to do is to rename MVT::ValueType to MVT, and rewrite expressions like MVT::getSizeInBits(VT) in the form VT.getSizeInBits(). Use VT.getSimpleVT() to extract a MVT::SimpleValueType for use in switch statements (you will get an assert failure if VT is an extended value type - these shouldn't exist after type legalization). This results in a small speedup of codegen and no new testsuite failures (x86-64 linux). llvm-svn: 52044
* 80 col violation.Evan Cheng2008-04-251-1/+1
| | | | llvm-svn: 50266
* If there are multiple register classes that a register belongs to, return ↵Evan Cheng2008-03-111-4/+27
| | | | | | the super-class (e.g. on x86, returns GR32, not GR32_). llvm-svn: 48220
* When the register allocator runs out of registers, spill a physical register ↵Evan Cheng2008-03-111-5/+6
| | | | | | around the def's and use's of the interval being allocated to make it possible for the interval to target a register and spill it right away and restore a register for uses. This likely generates terrible code but is before than aborting. llvm-svn: 48218
* Rename MRegisterInfo to TargetRegisterInfo.Dan Gohman2008-02-101-0/+90
llvm-svn: 46930
OpenPOWER on IntegriCloud