[PATCH] D153432: [SDAGBuilder] Handle multi-part arguments in argument copy elision (PR63430)
Phoebe Wang via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Jun 22 05:54:46 PDT 2023
pengfei added inline comments.
================
Comment at: llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp:10928
+ for (EVT VT : ValueVTs)
+ NumParts += TLI->getNumRegistersForCallingConv(*CurDAG->getContext(),
+ F.getCallingConv(), VT);
----------------
nikic wrote:
> arsenm wrote:
> > For some reason this is split into two hooks for the register type and the number of registers. Wouldn't you need to account for the split and promoted / demoted case?
> Not sure which case you have in mind here, but this is doing the same as the code below (line 10954).
IIUC, we cannot assume all `ValueVTs` are the same VT. So it doesn't look correct to sum them together.
How about iterate Ins[i] and check for `isSplitEnd`?
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D153432/new/
https://reviews.llvm.org/D153432
More information about the llvm-commits
mailing list