- /// isIndirectOutput - If this is true for an output constraint, the address
- /// to store the output result is passed as an operand to the call.
- bool isIndirectOutput;
+ /// hasMatchingInput - This is set to true for an output constraint iff
+ /// there is an input constraint that is required to match it (e.g. "0").
+ bool hasMatchingInput;
+
+ /// isCommutative - This is set to true for a constraint that is commutative
+ /// with the next operand.
+ bool isCommutative;
+
+ /// isIndirect - True if this operand is an indirect operand. This means
+ /// that the address of the source or destination is present in the call
+ /// instruction, instead of it being returned or passed in explicitly. This
+ /// is represented with a '*' in the asm string.
+ bool isIndirect;