Skip to content
  1. Oct 02, 2012
  2. Sep 26, 2012
  3. Jul 16, 2012
    • Chad Rosier's avatar
      With r160248 in place this code is no longer needed. · 10e8207c
      Chad Rosier authored
      llvm-svn: 160293
      10e8207c
    • Alexey Samsonov's avatar
      This CL changes the function prologue and epilogue emitted on X86 when stack needs realignment. · dcc1291d
      Alexey Samsonov authored
      It is intended to fix PR11468.
      
      Old prologue and epilogue looked like this:
      push %rbp
      mov %rsp, %rbp
      and $alignment, %rsp
      push %r14
      push %r15
      ...
      pop %r15
      pop %r14
      mov %rbp, %rsp
      pop %rbp
      
      The problem was to reference the locations of callee-saved registers in exception handling:
      locations of callee-saved had to be re-calculated regarding the stack alignment operation. It would
      take some effort to implement this in LLVM, as currently MachineLocation can only have the form
      "Register + Offset". Funciton prologue and epilogue are now changed to:
      
      push %rbp
      mov %rsp, %rbp
      push %14
      push %15
      and $alignment, %rsp
      ...
      lea -$size_of_saved_registers(%rbp), %rsp
      pop %r15
      pop %r14
      pop %rbp
      
      Reviewed by Chad Rosier.
      
      llvm-svn: 160248
      dcc1291d
  4. Jul 10, 2012
  5. Jul 05, 2012
  6. Jun 22, 2012
    • Jakob Stoklund Olesen's avatar
      Functions calling __builtin_eh_return must have a frame pointer. · 321d41a8
      Jakob Stoklund Olesen authored
      The code in X86TargetLowering::LowerEH_RETURN() assumes that a frame
      pointer exists, but the frame pointer was forced by the presence of
      llvm.eh.unwind.init which isn't guaranteed.
      
      If llvm.eh.unwind.init is actually required in functions calling
      eh.return (is it?), we should diagnose that instead of emitting bad
      machine code.
      
      This should fix the dragonegg-x86_64-linux-gcc-4.6-test bot.
      
      llvm-svn: 158961
      321d41a8
  7. Jun 18, 2012
    • Chandler Carruth's avatar
      Temporarily revert r158087. · 2cc11fd8
      Chandler Carruth authored
      This patch causes problems when both dynamic stack realignment and
      dynamic allocas combine in the same function. With this patch, we no
      longer build the epilog correctly, and silently restore registers from
      the wrong position in the stack.
      
      Thanks to Matt for tracking this down, and getting at least an initial
      test case to Chad. I'm going to try to check a variation of that test
      case in so we can easily track the fixes required.
      
      llvm-svn: 158654
      2cc11fd8
  8. Jun 06, 2012
  9. Jun 02, 2012
    • Jakob Stoklund Olesen's avatar
      Switch all register list clients to the new MC*Iterator interface. · 54038d79
      Jakob Stoklund Olesen authored
      No functional change intended.
      
      Sorry for the churn. The iterator classes are supposed to help avoid
      giant commits like this one in the future. The TableGen-produced
      register lists are getting quite large, and it may be necessary to
      change the table representation.
      
      This makes it possible to do so without changing all clients (again).
      
      llvm-svn: 157854
      54038d79
  10. May 24, 2012
  11. May 01, 2012
  12. Mar 04, 2012
  13. Feb 18, 2012
  14. Feb 07, 2012
  15. Jan 20, 2012
  16. Jan 13, 2012
  17. Jan 12, 2012
  18. Jan 11, 2012
  19. Dec 15, 2011
  20. Dec 07, 2011
  21. Dec 06, 2011
Loading