[PATCH] D19688: Fixes PR27241 by enabling the X86 call frame optimization for 64-bit targets

David Kreitzer via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 29 07:42:45 PDT 2016


DavidKreitzer updated this revision to Diff 55595.
DavidKreitzer added a comment.

Thanks for the reviews, Reid and Hans!

I updated the test to check that the optimization works as expected for Darwin64, which means that it is allowed for routines that use a frame pointer and have no EH (so that the pushes don't require additional unwind info) but disallowed otherwise. The 32-bit test movtopush.ll could also use some Darwin specific testing. I can do that separately.

Reid, if you have any suggestions for how to find/fix broken unwinders prior to commit, I would be happy to try them.


http://reviews.llvm.org/D19688

Files:
  lib/Target/X86/X86CallFrameOptimization.cpp
  lib/Target/X86/X86InstrInfo.cpp
  test/CodeGen/X86/movtopush64.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D19688.55595.patch
Type: text/x-patch
Size: 14111 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160429/20f7306d/attachment.bin>


More information about the llvm-commits mailing list