[LLVMdev] making a copy of a byval aggregate on the callee's frame

Tim Northover t.p.northover at gmail.com
Fri Jul 5 03:45:57 PDT 2013


> What I should have said is that the new pointer is used by the callee rather than the original byVal pointer arg.

Probably, I thought it looked a bit odd. Your code sequence looks
reasonable (apart from byval still being present in the argument list;
as you said before, lowering should probably remove that).

> Also, LowerFormalArguments() is not that late!

It's part of the LLVM IR to DAG conversion and target-specific. In
LLVM terms that is late. All of the opt passes have run by this point,
and they are the ones likely to make use of the extra freedom
provided.

Cheers.

Tim.



More information about the llvm-dev mailing list