We can mostly get this from the operand info in MCInstrDesc.
The exception is the _TIED pseudos so I've added a new flag for those.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
llvm/lib/Target/RISCV/RISCVMCInstLower.cpp | ||
---|---|---|
176 ↗ | (On Diff #529059) | I notice that code checks getNumExplicitDefs but isFirstDefTiedToFirstUse checks jut getNumDefs - is this significant? The number of "explicit" defs seems more correct to me. If that were fixed up, could this code use isFirstDefTiedToFirstUse? |
llvm/lib/Target/RISCV/RISCVMCInstLower.cpp | ||
---|---|---|
176 ↗ | (On Diff #529059) | isFirstDefTiedToFirstUse uses getNumDefs from MCInstrDesc. There is no getNumExplicitDefs in MCInstrDesc. I can use isFirstDefTiedToFirstUse here but it doesn't remove the need to check OpNo == MI->getNumExplicitDefs() first. We still need to know we're on the loop iteration corresponding to the first use. isFirstDefTiedToFirstUse is only an instruction property not an operand property. |
llvm/lib/Target/RISCV/RISCVMCInstLower.cpp | ||
---|---|---|
176 ↗ | (On Diff #529059) | I think I want to leave it as getOperandConstaint using the operand numbers we are currently processing. |