- Jun 15, 2009
-
-
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
-
- Jun 05, 2009
-
-
Evan Cheng authored
Changing allocation ordering from r3 ... r0 back to r0 ... r3. The order change no longer make sense after the coalescing changes we have made since then. llvm-svn: 72955
-
Evan Cheng authored
llvm-svn: 72952
-
Evan Cheng authored
llvm-svn: 72950
-
Dan Gohman authored
llvm-svn: 72948
-
- Jun 04, 2009
-
-
Evan Cheng authored
Re-apply 72756 with fixes. One of those was introduced by we changed MachineInstrBuilder::addReg() interface. llvm-svn: 72826
-
- Jun 03, 2009
-
-
Evan Cheng authored
llvm-svn: 72757
-
Evan Cheng authored
llvm-svn: 72756
-
- Jun 01, 2009
-
-
Anton Korobeynikov authored
llvm-svn: 72698
-
Bruno Cardoso Lopes authored
llvm-svn: 72697
-
Anton Korobeynikov authored
llvm-svn: 72696
-
- May 30, 2009
-
-
Bruno Cardoso Lopes authored
JITCodeEmitter and ObjectCodeEmitter. No functional changes yet. Patch by Aaron Gray llvm-svn: 72631
-
Bill Wendling authored
llvm-svn: 72604
-
Anton Korobeynikov authored
llvm-svn: 72593
-
- May 25, 2009
-
-
Chris Lattner authored
llvm-svn: 72395
-
- May 23, 2009
-
-
Anton Korobeynikov authored
llvm-svn: 72337
-
Anton Korobeynikov authored
llvm-svn: 72336
-
Anton Korobeynikov authored
llvm-svn: 72335
-
- May 22, 2009
-
-
Bob Wilson authored
for ARM. This fixes rdar://6908807. llvm-svn: 72269
-
- May 20, 2009
-
-
Bob Wilson authored
llvm-svn: 72172
-
- May 19, 2009
-
-
Bob Wilson authored
llvm-svn: 72138
-
Bob Wilson authored
This fixes pr4233. llvm-svn: 72115
-
Bob Wilson authored
the stack. Patch by Sandeep Patel. llvm-svn: 72106
-
Bob Wilson authored
llvm-svn: 72105
-
- May 18, 2009
-
-
Bob Wilson authored
to run last because it needs to know the exact size and position of every basic block. Currently CodePlacementOpt is set up to run last. It might be worthwhile to investigate reordering these passes, but for now, let's just make it work. llvm-svn: 72037
-
- May 14, 2009
-
-
Jim Grosbach authored
llvm.eh.sjlj.* for better clarity as to their purpose and scope. Add a description of llvm.eh.sjlj.setjmp to ExceptionHandling.html. (llvm.eh.sjlj.longjmp documentation coming when that implementation is added). llvm-svn: 71758
-
Jim Grosbach authored
llvm-svn: 71735
-
- May 13, 2009
-
-
Evan Cheng authored
llvm-svn: 71726
-
Bill Wendling authored
booleans. This gives a better indication of what the "addReg()" is doing. Remembering what all of those booleans mean isn't easy, especially if you aren't spending all of your time in that code. I took Jakob's suggestion and made it illegal to pass in "true" for the flag. This should hopefully prevent any unintended misuse of this (by reverting to the old way of using addReg()). llvm-svn: 71722
-
Jim Grosbach authored
a supporting preliminary patch for GCC-compatible SjLJ exception handling. Note that these intrinsics are not designed to be invoked directly by the user, but rather used by the front-end as target hooks for exception handling. llvm-svn: 71610
-
Jim Grosbach authored
llvm-svn: 71602
-
- May 12, 2009
-
-
Bob Wilson authored
llvm-svn: 71563
-