| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
| |
Add section symbols to the symbol table
llvm-svn: 74170
|
| |
|
|
|
|
| |
null.
llvm-svn: 74147
|
| |
|
|
| |
llvm-svn: 74143
|
| |
|
|
| |
llvm-svn: 74140
|
| |
|
|
| |
llvm-svn: 74137
|
| |
|
|
| |
llvm-svn: 74134
|
| |
|
|
| |
llvm-svn: 74132
|
| |
|
|
| |
llvm-svn: 74114
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change doubles the allowable value for MVT::LAST_VALUETYPE. It does
this by doing several things.
1. Introduces MVT::MAX_ALLOWED_LAST_VALUETYPE which in this change has a
value of 64. This value contains the current maximum for the
MVT::LAST_VALUETYPE.
2. Instead of checking "MVT::LAST_VALUETYPE <= 32", all of those uses
now become "MVT::LAST_VALUETYPE <= MVT::MAX_ALLOWED_LAST_VALUETYPE"
3. Changes the dimension of the ValueTypeActions from 2 elements to four
elements and adds comments ahead of the declaration indicating the it is
"(MVT::MAX_ALLOWED_LAST_VALUETYPE/32) * 2". This at least lets us find
what is affected if and when MVT::MAX_ALLOWED_LAST_VALUETYPE gets
changed.
4. Adds initializers for the new elements of ValueTypeActions.
This does NOT add any types in MVT. That would be done separately.
This doubles the size of ValueTypeActions from 64 bits to 128 bits and
gives us the freedom to add more types for AVX.
llvm-svn: 74110
|
| |
|
|
|
|
| |
class.
llvm-svn: 74101
|
| |
|
|
| |
llvm-svn: 74097
|
| |
|
|
|
|
|
| |
a bunch of code from all the targets, and eliminates nondeterministic
ordering of directives being emitted in the output.
llvm-svn: 74096
|
| |
|
|
| |
llvm-svn: 74087
|
| |
|
|
|
|
|
|
| |
through the GraphViz rendering code.
Update other uses in the codebase for this change.
llvm-svn: 74084
|
| |
|
|
| |
llvm-svn: 74082
|
| |
|
|
| |
llvm-svn: 74065
|
| |
|
|
|
|
| |
removed old TODO comments.
llvm-svn: 74054
|
| |
|
|
|
|
| |
across multiple registers (e.g. two i64 operands in 32-bit mode).
llvm-svn: 74053
|
| |
|
|
|
|
|
|
| |
Only pad when the section size > 0 and move the code that deals
with globals initializers to a place we know for sure the global
is initialized.
llvm-svn: 73944
|
| |
|
|
|
|
|
| |
types for the target (I think). This was breaking
the PPC32 calling sequence.
llvm-svn: 73900
|
| |
|
|
|
|
| |
being updated has already been coalesced.
llvm-svn: 73898
|
| |
|
|
| |
llvm-svn: 73895
|
| |
|
|
|
|
|
|
| |
Support for .text relocations, implementing TargetELFWriter overloaded methods for x86/x86_64.
Use a map to track global values to their symbol table indexes
Code cleanup and small fixes
llvm-svn: 73894
|
| |
|
|
| |
llvm-svn: 73816
|
| |
|
|
| |
llvm-svn: 73786
|
| |
|
|
| |
llvm-svn: 73784
|
| |
|
|
|
|
| |
taking so long to get to this!
llvm-svn: 73757
|
| |
|
|
| |
llvm-svn: 73750
|
| |
|
|
| |
llvm-svn: 73738
|
| |
|
|
| |
llvm-svn: 73736
|
| |
|
|
| |
llvm-svn: 73727
|
| |
|
|
|
|
| |
the linker knows it's a new atom. But this is only needed if the jump table is put in a separate section from the function body.
llvm-svn: 73720
|
| |
|
|
|
|
|
|
|
| |
target since the hint is target dependent. This is important for ARM register pair hints.
- Register allocator should resolve the second part of the hint (register number) before passing it to the target since it knows virtual register to physical register mapping.
- More fixes to get ARM load / store double word working.
llvm-svn: 73671
|
| |
|
|
| |
llvm-svn: 73634
|
| |
|
|
| |
llvm-svn: 73483
|
| |
|
|
|
|
| |
operations).
llvm-svn: 73480
|
| |
|
|
| |
llvm-svn: 73479
|
| |
|
|
|
|
|
|
| |
copies off the val# were removed. This causes problem later since the scavenger will see uses of registers without defs. The proper solution is to change the copies into implicit_def's instead.
TurnCopyIntoImpDef turns a copy into implicit_def and remove the val# defined by it. This causes an scavenger assertion later if the def reaches other blocks. Disable the transformation if the value live interval extends beyond its def block.
llvm-svn: 73478
|
| |
|
|
|
|
|
|
| |
support for x86, and UMULO/SMULO for many architectures, including PPC
(PR4201), ARM, and Cell. The resulting expansion isn't perfect, but it's
not bad.
llvm-svn: 73477
|
| |
|
|
| |
llvm-svn: 73464
|
| |
|
|
| |
llvm-svn: 73457
|
| |
|
|
|
|
|
|
| |
df_iterator.
Owen Anderson 2009-06-15: Remember to clear out our maps to prevent crashing.
llvm-svn: 73438
|
| |
|
|
|
|
| |
unsupported inline asm construct, rather than verifying a code invariant.
llvm-svn: 73435
|
| |
|
|
| |
llvm-svn: 73426
|
| |
|
|
| |
llvm-svn: 73423
|
| |
|
|
|
|
|
|
|
| |
incomming chain of the RETURN node. The incomming chain must
be the outgoing chain of the CALL node. This causes the
backend to identify tail calls that are not tail calls. This
patch fixes this.
llvm-svn: 73387
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Change register allocation hint to a pair of unsigned integers. The hint type is zero (which means prefer the register specified as second part of the pair) or entirely target dependent.
- Allow targets to specify alternative register allocation orders based on allocation hint.
Part 2.
- Use the register allocation hint system to implement more aggressive load / store multiple formation.
- Aggressively form LDRD / STRD. These are formed *before* register allocation. It has to be done this way to shorten live interval of base and offset registers. e.g.
v1025 = LDR v1024, 0
v1026 = LDR v1024, 0
=>
v1025,v1026 = LDRD v1024, 0
If this transformation isn't done before allocation, v1024 will overlap v1025 which means it more difficult to allocate a register pair.
- Even with the register allocation hint, it may not be possible to get the desired allocation. In that case, the post-allocation load / store multiple pass must fix the ldrd / strd instructions. They can either become ldm / stm instructions or back to a pair of ldr / str instructions.
This is work in progress, not yet enabled.
llvm-svn: 73381
|
| |
|
|
| |
llvm-svn: 73362
|
| |
|
|
|
|
| |
MachineRegisterInfo. This allows more passes to set them.
llvm-svn: 73346
|
| |
|
|
|
|
| |
BinaryObject.h by Aaron Gray
llvm-svn: 73333
|