Skip to content
  1. Jun 15, 2009
    • Evan Cheng's avatar
      Part 1. · 1283c6a0
      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
      1283c6a0
    • Chris Lattner's avatar
      remove extraneous const qualifier · 8565c4be
      Chris Lattner authored
      llvm-svn: 73373
      8565c4be
    • Chris Lattner's avatar
      I got J and K backward, many thanks to Eli for spotting this! · c68a564c
      Chris Lattner authored
      llvm-svn: 73372
      c68a564c
    • Chris Lattner's avatar
      implement support for the 'K' asm constraint, PR4347 · ea3621a6
      Chris Lattner authored
      llvm-svn: 73366
      ea3621a6
    • Dan Gohman's avatar
      Fix old-style type names in comments. · 4fe64deb
      Dan Gohman authored
      llvm-svn: 73362
      4fe64deb
  2. Jun 14, 2009
  3. Jun 13, 2009
    • Sanjiv Gupta's avatar
      · c16c9470
      Sanjiv Gupta authored
      The subprogram descriptor for a function may be missing (llvm-ld linking two static functions with same name), so pick up the compilation unit for the function from the first valid debug loc of its instructions.
      This patch also emits debug info for structure (aggregate types in 
      general) types.
      
      llvm-svn: 73295
      c16c9470
    • Evan Cheng's avatar
      Add a ARM specific pre-allocation pass that re-schedule loads / stores from · 185c9ef0
      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
      185c9ef0
  4. Jun 12, 2009
  5. Jun 11, 2009
  6. Jun 10, 2009
  7. Jun 09, 2009
  8. Jun 08, 2009
  9. Jun 07, 2009
  10. Jun 06, 2009
  11. Jun 05, 2009
Loading