Skip to content
  1. Oct 02, 2011
  2. Oct 01, 2011
  3. Sep 29, 2011
  4. Sep 28, 2011
  5. Sep 26, 2011
  6. Sep 24, 2011
  7. Sep 23, 2011
  8. Sep 22, 2011
  9. Sep 21, 2011
  10. Sep 20, 2011
  11. Sep 19, 2011
  12. Sep 18, 2011
  13. Sep 17, 2011
  14. Sep 16, 2011
    • Bruno Cardoso Lopes's avatar
      Fix PR10884. · 2d406f02
      Bruno Cardoso Lopes authored
      This PR basically reports a problem where a crash in generated code
      happened due to %rbp being clobbered:
      
        pushq %rbp
        movq  %rsp, %rbp
        ....
        vmovmskps %ymm12, %ebp
        ....
        movq  %rbp, %rsp
        popq  %rbp
        ret
      
      Since Eric's r123367 commit, the default stack alignment for x86 32-bit
      has changed to be 16-bytes. Since then, the MaxStackAlignmentHeuristicPass
      hasn't been really used, but with AVX it becomes useful again, since per
      ABI compliance we don't always align the stack to 256-bit, but only when
      there are 256-bit incoming arguments.
      
      ReserveFP was only used by this pass, but there's no RA target hook that
      uses getReserveFP() to check for the presence of FP (since nothing was
      triggering the pass to run, the uses of getReserveFP() were removed
      through time without being noticed). Change this pass to use
      setForceFramePointer, which is properly called by MachineFunction
      hasFP method.
      
      The testcase is very big and dependent on RA, not sure if it's worth
      adding to test/CodeGen/X86.
      
      llvm-svn: 139939
      2d406f02
Loading