Skip to content
  1. Apr 17, 2010
  2. Apr 06, 2010
    • Jim Grosbach's avatar
      Fix PR6696 and PR6663 · 4dac8906
      Jim Grosbach authored
      When a frame pointer is not otherwise required, and dynamic stack alignment
      is necessary solely due to the spilling of a register with larger alignment
      requirements than the default stack alignment, the frame pointer can be both
      used as a general purpose register and a frame pointer. That goes poorly, for
      obvious reasons. This patch brings back a bit of old logic for identifying
      the use of such registers and conservatively reserves the frame pointer
      during register allocation in such cases.
      
      For now, implement for X86 only since it's 32-bit linux which is hitting this,
      and we want a targeted fix for 2.7. As a follow-on, this will be expanded
      to handle other targets, as theoretically the problem could arise elsewhere
      as well.
      
      llvm-svn: 100559
      4dac8906
  3. Feb 12, 2010
  4. Feb 06, 2010
  5. Jun 06, 2009
  6. Apr 15, 2009
  7. Oct 03, 2008
  8. Sep 30, 2008
  9. Apr 22, 2008
    • Dan Gohman's avatar
      Implement an x86-64 ABI detail of passing structs by hidden first · f166d2d0
      Dan Gohman authored
      argument. The x86-64 ABI requires the incoming value of %rdi to
      be copied to %rax on exit from a function that is returning a
      large C struct.
      
      Also, add a README-X86-64 entry detailing the missed optimization
      opportunity and proposing an alternative approach.
      
      llvm-svn: 50075
      f166d2d0
  10. Jan 05, 2008
  11. Dec 29, 2007
  12. Oct 11, 2007
  13. Aug 15, 2007
  14. Jul 17, 2007
  15. Apr 17, 2007
  16. Sep 26, 2006
  17. Sep 21, 2006
  18. Jun 09, 2006
  19. Jun 07, 2006
Loading