[PATCH] D141381: [codegen] Store address of indirect arguments on the stack

Paul Robinson via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Jan 10 10:31:24 PST 2023


probinson added a subscriber: wolfgangp.
probinson added a comment.

Basically you're homing a pointer to the parameter, rather than the parameter itself, which makes sense in this context.

I suspect the code size/perf impact on -O0 will not be huge, as this sounds like it's only for byval-but-not-really parameters. Normal pointer/reference parameters will be handled as they always have been.  To get data about the code size impact, people typically build some large codebase with/without their patch and compare the .text sizes. It's common to use clang itself for this experiment.

I'm reminded that @wolfgangp developed a patch (which we use within Sony) to request lifetime extension as a codegen option. See his lightning talk <https://www.youtube.com/watch?v=jf4WR_r2Wok> (I thought it was posted as a patch, but I don't have a reference handy). I don't think this has any direct relationship to your patch, but it's something that our licensees have found useful.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D141381/new/

https://reviews.llvm.org/D141381



More information about the cfe-commits mailing list