[PATCH] D20003: X86CallFrameOpt: a first step towards optimizing inalloca calls (PR27076)

Hans Wennborg via llvm-commits llvm-commits at lists.llvm.org
Thu May 5 16:30:03 PDT 2016


hans created this revision.
hans added reviewers: rnk, mkuper, DavidKreitzer.
hans added a subscriber: llvm-commits.

Using pushes to move arguments into the stack results in significantly smaller code. We can also remove the _chkstk call, as the pushes probe the stack naturally.

This patch only covers basic cases where there are no complicated instructions in the call sequence. Inalloca calls often have e.g. nested calls or control flow in the call sequence, so in practice this patch doesn't fire a lot, but it's a start.

Please take a look.

http://reviews.llvm.org/D20003

Files:
  lib/Target/X86/X86CallFrameOptimization.cpp
  test/CodeGen/X86/inalloca-callframeopt.ll
  test/CodeGen/X86/inalloca-stdcall.ll
  test/CodeGen/X86/inalloca.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D20003.56368.patch
Type: text/x-patch
Size: 15290 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160505/d2890593/attachment.bin>


More information about the llvm-commits mailing list