Skip to content
  1. Apr 03, 2012
  2. Mar 01, 2012
  3. Feb 28, 2012
  4. Feb 24, 2012
    • Akira Hatanaka's avatar
      Add an option to use a virtual register as the global base register instead of · b049aef2
      Akira Hatanaka authored
      reserving a physical register ($gp or $28) for that purpose.
      
      This will completely eliminate loads that restore the value of $gp after every
      function call, if the register allocator assigns a callee-saved register, or
      eliminate unnecessary loads if it assigns a temporary register. 
      
      example:
      
      .cpload $25       // set $gp.
      ...
      .cprestore 16     // store $gp to stack slot 16($sp).
      ...
      jalr $25          // function call. clobbers $gp.
      lw $gp, 16($sp)   // not emitted if callee-saved reg is chosen.
      ...
      lw $2, 4($gp)
      ...
      jalr $25          // function call.
      lw $gp, 16($sp)   // not emitted if $gp is not live after this instruction.
      ...
      
      llvm-svn: 151402
      b049aef2
  5. Jan 25, 2012
  6. Jan 24, 2012
  7. Jan 04, 2012
  8. Dec 24, 2011
  9. Dec 21, 2011
  10. Dec 20, 2011
  11. Dec 19, 2011
  12. Dec 09, 2011
  13. Dec 08, 2011
  14. Dec 07, 2011
  15. Dec 05, 2011
  16. Nov 16, 2011
  17. Nov 14, 2011
  18. Nov 12, 2011
  19. Nov 11, 2011
  20. Nov 07, 2011
  21. Oct 17, 2011
Loading