| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
llvm-svn: 112847
|
|
|
|
| |
llvm-svn: 112842
|
|
|
|
| |
llvm-svn: 112828
|
|
|
|
|
|
|
|
|
|
|
|
| |
AggressiveAntiDepBreaker should not be using getPhysicalRegisterRegClass. An
instruction might be using a register that can only be replaced with one from
a subclass of getPhysicalRegisterRegClass.
With this patch we use getMinimalPhysRegClass. This is correct, but
conservative. We should check the uses of the register and select the
largest register class that can be used in all of them.
llvm-svn: 108122
|
|
|
|
|
|
| |
from getPhysicalRegisterRegClass.
llvm-svn: 107660
|
|
|
|
|
|
|
|
|
| |
of getPhysicalRegisterRegClass with it.
If we want to make a copy (or estimate its cost), it is better to use the
smallest class as more efficient operations might be possible.
llvm-svn: 107140
|
|
|
|
|
|
|
| |
backends and removes the virtual declaration. With that out of the way
I should be able to cleanup one backend at a time.
llvm-svn: 105321
|
|
|
|
| |
llvm-svn: 104650
|
|
|
|
| |
llvm-svn: 104628
|
|
|
|
| |
llvm-svn: 94612
|
|
|
|
| |
llvm-svn: 83677
|
|
|
|
|
|
|
|
| |
default implementation. Update comment on the default version, which made it
sound like most targets override it. Currently only X86 and SystemZ override
this method.
llvm-svn: 82651
|
|
|
|
|
|
|
|
| |
while
the latter is capable of representing either a primitive or an extended type.
llvm-svn: 78713
|
|
|
|
|
|
| |
own struct type.
llvm-svn: 78610
|
|
|
|
| |
llvm-svn: 72604
|
|
|
|
|
|
|
|
|
| |
classes.
This is implemented as a function rather than a method on TargetRegisterClass
because it is symmetric in its arguments.
llvm-svn: 70512
|
|
|
|
| |
llvm-svn: 68730
|
|
|
|
|
|
| |
hash table just like subregister checking does.
llvm-svn: 68669
|
|
|
|
|
|
| |
compute the maximum element directly.
llvm-svn: 56411
|
|
|
|
| |
llvm-svn: 52980
|
|
|
|
|
|
| |
and mark it const along with the associated changes to TargetRegisterInfo.
llvm-svn: 52966
|
|
|
|
|
|
|
|
| |
with a hashtable-based
version that is computed by tblgen at the time LLVM is compiled.
llvm-svn: 52945
|
|
|
|
|
|
|
|
| |
faster lookups.
This speeds up LiveVariables from 0.6279s to 0.6165s on kimwitu++.
llvm-svn: 52818
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 50266
|
|
|
|
|
|
| |
the super-class (e.g. on x86, returns GR32, not GR32_).
llvm-svn: 48220
|
|
|
|
|
|
| |
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
|
|
llvm-svn: 46930
|