[PATCH] D20003: X86CallFrameOpt: a first step towards optimizing inalloca calls (PR27076)
Hans Wennborg via llvm-commits
llvm-commits at lists.llvm.org
Tue May 10 17:35:06 PDT 2016
hans abandoned this revision.
hans added a comment.
Thanks for the input everyone!
I'll start looking into introducing a pseudo-instruction for the dynamic alloca so we can lower it at a point where we have all the information needed to elide the _chkstk call.
================
Comment at: lib/Target/X86/X86CallFrameOptimization.cpp:56
@@ +55,3 @@
+ // Information about the setup for an inalloca call.
+ struct InAllocaInfo {
+ // Frame setup for the _chkstk call.
----------------
rnk wrote:
> This makes me feel like we should model argument allocation as a single operation instead of five or so. What do you think about changing X86TargetLowering::LowerDYNAMIC_STACKALLOC to emit a new DAG node which selects to a single MI?
X86TargetLowering::LowerDYNAMIC_STACKALLOC already emits a X86ISD::WIN_ALLOCA, but instead of expanding that in X86TargetLowering::EmitLoweredWinAlloca, we could have a pseudo-instruction that gets expanded later -- when we know the size of the stack frame and can elide it.
http://reviews.llvm.org/D20003
More information about the llvm-commits
mailing list