We work with @rogfer01 from BSC to come out this patch. Authored-by: Roger Ferrer Ibanez <rofirrim@gmail.com> Co-Authored-by: ShihPo Hung <shihpo.hung@sifive.com>
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
llvm/lib/Target/RISCV/RISCVISelLowering.cpp | ||
---|---|---|
1083 | You can use Op.getVTList() here to get the original VTs without needing to recreate it. |
llvm/include/llvm/IR/IntrinsicsRISCV.td | ||
---|---|---|
219 | Can we make this ExtendOperand = 2 and add 1 when we use it in LowerIntrinsic_W_CHAIN? It's a little confusing to have to account for the chain operand of the SelectionDAG representation here. It's already a little confusing that we're accounting for the intrinsic number operand of SelectionDAG but at least that's a consistent rule. |
Let ExtendOperand direct really need to extend a operand.
Correct get operands when we use it in LowerIntrinsic_W_CHAIN
llvm/lib/Target/RISCV/RISCVISelLowering.cpp | ||
---|---|---|
1076 | I think this if needs to be based on II->ExtendedOperand before adding 1 to it. Otherwise its guaranteed to always be true. |
Can we make this ExtendOperand = 2 and add 1 when we use it in LowerIntrinsic_W_CHAIN? It's a little confusing to have to account for the chain operand of the SelectionDAG representation here.
It's already a little confusing that we're accounting for the intrinsic number operand of SelectionDAG but at least that's a consistent rule.