A few instruction types were missing.
Diff Detail
Diff Detail
- Repository
- rL LLVM
Event Timeline
Comment Actions
It's still missing a few. VINTRP and EXP. I think it would be better to check instruction latency data. In absence of that, I think it would be simpler to just use isHighLatencyInstruction, and !isHighLatencyInstruction
Comment Actions
The true usage of these helper functions is to deduce instructions which need a VMCNT wait or a LGKMCNT wait (former ones being incorrectly called 'high latency' and the latter ones 'lon latency').
What about renaming to isVMCNTInstruction and isLGKMCNTInstruction ?
Comment Actions
SIInstrInfo has helper function:
static bool usesVM_CNT(const MachineInstr &MI)
It doesn't however contains the analogue for LGKM though it can be easily added.
Comment Actions
usesVM_CNT and usesLGKM_CNT is probably the best way forward (and dropping is*LatencyInstruction)