[PATCH] D130895: [RISCV] Make VL choosing for a splat-like VMV based on its users
Anton Sidorenko via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Sep 16 10:01:21 PDT 2022
asi-sc added inline comments.
================
Comment at: llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp:2452
+ return SDValue{};
+ const MCInstrDesc &MCID = TII.get(Node->getMachineOpcode());
+ if (!RISCVII::hasVLOp(MCID.TSFlags))
----------------
reames wrote:
> JFYI, this looks suspicious. The node operands of the SDNode and the MI are not guaranteed by construction to be the same. Or at least if they are, we haven't adjusted other code under that assumption and asserted appropriately.
> JFYI, this looks suspicious. The node operands of the SDNode and the MI are not guaranteed by construction to be the same.
Then can we guarantee that
* policy operand is the last operand of the node (skipping glue and chain)
* VL operand is just before the policy operand if there is policy, or the last
* merge operand is the first operand after defs?
Of course, only if the corresponding RISCVII:has*Op checker is true.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D130895/new/
https://reviews.llvm.org/D130895
More information about the llvm-commits
mailing list