era-compiler-llvm
era-compiler-llvm copied to clipboard
Refactor machine operand accessors in `EraVMInstrInfo.h` so they use logical operands mappings
If to set let UseLogicalOperandMappings = true
for an instruction, LLVM produces mappings to identify:
- logical operand index -> its size (
getLogicalOperandSize
) - logical operand index -> its type (
getLogicalOperandType
) - logical operand index -> machine operand index (
getLogicalOperandIdx
) We enable these mappings in #507. In the same timeEraVMInstrInfo.h
define similar functions:argumentType
,argumentSize
and functions to calculate iterators to corresponding machine operands. This logic is to be replaced withtablegen
generated one.