When true newly created instruction is added as a user of each argument
Always gets copied into InstrHeader.argSize
Gets copied into InstrHeader.cond when IrInstrFlags.hasCondition is set
Will be added to the number of allocated argument slots and to number of arguments
Is checked when instruction has variadic result (IrInstrFlags.hasVariadicResult) If hasResult is false, no result is allocated and result value is ignored If hasResult is true, then result is checked: If result is defined: then instrHeader.result is set to its value or else a new virtual register is created
Gets copied into InstrHeader.op when IrInstrFlags.isGeneric is set
If instruction has variadic result, see docs on 'hasResult' If instruction always has result, then 'result' is used when defined when not defined, new virtual register is created If instruction always has no result, 'result' value is ignored
When instruction has virtual regiter as result, result.type is set to 'type' Not set if 'result' is present
Controls behavior of emitInstr functions