- Jun 23, 2009
-
-
Bob Wilson authored
another change that makes the types ambiguous (at least as far as tablegen is concerned). llvm-svn: 73909
-
- Jun 22, 2009
-
-
Bob Wilson authored
for "thumb" and add a check for V6T2. llvm-svn: 73905
-
Bob Wilson authored
caller-saved register. llvm-svn: 73901
-
Evan Cheng authored
llvm-svn: 73893
-
Bob Wilson authored
predicate does not check if Thumb mode is enabled, and when in ARM mode there are still some checks for constant-pool use that need to run. llvm-svn: 73887
-
- Jun 20, 2009
-
-
Devang Patel authored
llvm-svn: 73815
-
Evan Cheng authored
llvm-svn: 73791
-
- Jun 19, 2009
-
-
Devang Patel authored
llvm-svn: 73784
-
Evan Cheng authored
llvm-svn: 73761
-
Evan Cheng authored
llvm-svn: 73759
-
Evan Cheng authored
llvm-svn: 73749
-
Evan Cheng authored
Latency information for ARM v6. It's rough and not yet hooked up. Right now we are only using branch latency to determine if-conversion limits. llvm-svn: 73747
-
Eli Friedman authored
while experimenting. I'm reasonably sure this is correct, but please tell me if these instructions have some strange property which makes this change unsafe. llvm-svn: 73746
-
Chris Lattner authored
into DarwinTargetAsmInfo.cpp. The remaining differences should be evaluated. It seems strange that x86/arm has .zerofill but ppc doesn't, etc. llvm-svn: 73742
-
Chris Lattner authored
llvm-svn: 73738
-
Chris Lattner authored
llvm-svn: 73736
-
Evan Cheng authored
llvm-svn: 73734
-
- Jun 18, 2009
-
-
Evan Cheng authored
On Darwin, ams printer should output a second label before a jump table so 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
-
Evan Cheng authored
- Update register allocation hint after coalescing. This is done by the 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
-
Bob Wilson authored
llvm-svn: 73665
-
Anton Korobeynikov authored
llvm-svn: 73661
-
Anton Korobeynikov authored
Emit switch directive for it. I have no idea whether this is requirement for Darwin or not. llvm-svn: 73660
-
- Jun 17, 2009
-
-
Anton Korobeynikov authored
Patch by Viktor Kutuzov and Anton Korzh from Access Softek, Inc. llvm-svn: 73622
-
- Jun 16, 2009
-
-
Douglas Gregor authored
initialization of all targets (InitializeAllTargets.h) or assembler printers (InitializeAllAsmPrinters.h). This is a step toward the elimination of relinked object files, so that we can build normal archives. llvm-svn: 73543
-
Anton Korobeynikov authored
Dispatch C calling conv. to one of these conventions based on target triple and subtarget features. llvm-svn: 73530
-
Anton Korobeynikov authored
(this is the case when we have thumb vararg function with single callee-saved register, which is handled separately). llvm-svn: 73529
-
Evan Cheng authored
llvm-svn: 73434
-
- Jun 15, 2009
-
-
Anton Korobeynikov authored
llvm-svn: 73428
-
Evan Cheng authored
llvm-svn: 73422
-
Evan Cheng authored
llvm-svn: 73413
-
Evan Cheng authored
llvm-svn: 73406
-
Evan Cheng authored
- 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
-
- Jun 13, 2009
-
-
Evan Cheng authored
consecutive addresses togther. This makes it easier for the post-allocation pass to form ldm / stm. This is step 1. We are still missing a lot of ldm / stm opportunities because of register allocation are not done in the desired order. More enhancements coming. llvm-svn: 73291
-
- Jun 12, 2009
-
-
Evan Cheng authored
llvm-svn: 73252
-
- Jun 09, 2009
-
-
Anton Korobeynikov authored
llvm-svn: 73098
-
Anton Korobeynikov authored
llvm-svn: 73097
-
Anton Korobeynikov authored
ABI. The missing piece is support for putting "homogeneous aggregates" into registers. Patch by Sandeep Patel! llvm-svn: 73095
-
- Jun 08, 2009
-
-
Anton Korobeynikov authored
llvm-svn: 73085
-
Anton Korobeynikov authored
llvm-svn: 73080
-
- Jun 06, 2009
-
-
Dan Gohman authored
llvm-svn: 72969
-