LLVM: llvm::TargetLowering::AsmOperandInfo Struct Reference (original) (raw)
This contains information for each constraint that we are lowering. More...
#include "[llvm/CodeGen/TargetLowering.h](TargetLowering%5F8h%5Fsource.html)"
| Public Member Functions | |
|---|---|
| AsmOperandInfo (InlineAsm::ConstraintInfo Info) | |
| Copy constructor for copying from a ConstraintInfo. | |
| LLVM_ABI bool | isMatchingInputConstraint () const |
| Return true of this is an input operand that is a matching constraint like "4". | |
| LLVM_ABI unsigned | getMatchedOperand () const |
| If this is an input matching constraint, this method returns the output operand it matches. | |
| Public Member Functions inherited from llvm::InlineAsm::ConstraintInfo | |
| bool | hasMatchingInput () const |
| hasMatchingInput - Return true if this is an output constraint that has a matching input constraint. | |
| ConstraintInfo ()=default | |
| Default constructor. | |
| LLVM_ABI bool | Parse (StringRef Str, ConstraintInfoVector &ConstraintsSoFar) |
| Parse - Analyze the specified string (e.g. | |
| LLVM_ABI void | selectAlternative (unsigned index) |
| selectAlternative - Point this constraint to the alternative constraint indicated by the index. | |
| bool | hasArg () const |
| Whether this constraint corresponds to an argument. |
| Public Attributes | |
|---|---|
| std::string | ConstraintCode |
| This contains the actual string for the code, like "m". | |
| TargetLowering::ConstraintType | ConstraintType = TargetLowering::C_Unknown |
| Information about the constraint code, e.g. | |
| Value * | CallOperandVal = nullptr |
| If this is the result output operand or a clobber, this is null, otherwise it is the incoming operand to the CallInst. | |
| MVT | ConstraintVT = MVT::Other |
| The ValueType for the operand value. | |
| Public Attributes inherited from llvm::InlineAsm::ConstraintInfo | |
| ConstraintPrefix | Type = isInput |
| Type - The basic type of the constraint: input/output/clobber/label. | |
| bool | isEarlyClobber = false |
| isEarlyClobber - "&": output operand writes result before inputs are all read. | |
| int | MatchingInput = -1 |
| MatchingInput - If this is not -1, this is an output constraint where an input constraint is required to match it (e.g. | |
| bool | isCommutative = false |
| isCommutative - This is set to true for a constraint that is commutative with the next operand. | |
| bool | isIndirect = false |
| isIndirect - True if this operand is an indirect operand. | |
| ConstraintCodeVector | Codes |
| Code - The constraint code, either the register name (in braces) or the constraint letter/number. | |
| bool | isMultipleAlternative = false |
| isMultipleAlternative - '|': has multiple-alternative constraints. | |
| SubConstraintInfoVector | multipleAlternatives |
| multipleAlternatives - If there are multiple alternative constraints, this array will contain them. | |
| unsigned | currentAlternativeIndex = 0 |
| The currently selected alternative constraint index. |
This contains information for each constraint that we are lowering.
Definition at line 5208 of file TargetLowering.h.
◆ getMatchedOperand()
| unsigned TargetLowering::AsmOperandInfo::getMatchedOperand | ( | ) | const |
|---|
◆ isMatchingInputConstraint()
| bool TargetLowering::AsmOperandInfo::isMatchingInputConstraint | ( | ) | const |
|---|
◆ CallOperandVal
Value* llvm::TargetLowering::AsmOperandInfo::CallOperandVal = nullptr
If this is the result output operand or a clobber, this is null, otherwise it is the incoming operand to the CallInst.
This gets modified as the asm is processed.
Definition at line 5221 of file TargetLowering.h.
◆ ConstraintCode
std::string llvm::TargetLowering::AsmOperandInfo::ConstraintCode
◆ ConstraintType
◆ ConstraintVT
MVT llvm::TargetLowering::AsmOperandInfo::ConstraintVT = MVT::Other
The documentation for this struct was generated from the following files:
- include/llvm/CodeGen/TargetLowering.h
- lib/CodeGen/SelectionDAG/TargetLowering.cpp