|
LLVM
4.0.0
|
This contains information for each constraint that we are lowering. More...
#include <TargetLowering.h>
Public Member Functions | |
| bool | isMatchingInputConstraint () const |
| Return true of this is an input operand that is a matching constraint like "4". More... | |
| unsigned | getMatchedOperand () const |
| If this is an input matching constraint, this method returns the output operand it matches. More... | |
| AsmOperandInfo (InlineAsm::ConstraintInfo Info) | |
| Copy constructor for copying from a ConstraintInfo. More... | |
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. More... | |
| ConstraintInfo () | |
| Default constructor. More... | |
| bool | Parse (StringRef Str, ConstraintInfoVector &ConstraintsSoFar) |
| Parse - Analyze the specified string (e.g. More... | |
| void | selectAlternative (unsigned index) |
| selectAlternative - Point this constraint to the alternative constraint indicated by the index. More... | |
Public Attributes | |
| std::string | ConstraintCode |
| This contains the actual string for the code, like "m". More... | |
| TargetLowering::ConstraintType | ConstraintType |
| Information about the constraint code, e.g. More... | |
| Value * | CallOperandVal |
| If this is the result output operand or a clobber, this is null, otherwise it is the incoming operand to the CallInst. More... | |
| MVT | ConstraintVT |
| The ValueType for the operand value. More... | |
Public Attributes inherited from llvm::InlineAsm::ConstraintInfo | |
| ConstraintPrefix | Type |
| Type - The basic type of the constraint: input/output/clobber. More... | |
| bool | isEarlyClobber |
| isEarlyClobber - "&": output operand writes result before inputs are all read. More... | |
| signed char | MatchingInput |
| MatchingInput - If this is not -1, this is an output constraint where an input constraint is required to match it (e.g. More... | |
| bool | isCommutative |
| isCommutative - This is set to true for a constraint that is commutative with the next operand. More... | |
| bool | isIndirect |
| isIndirect - True if this operand is an indirect operand. More... | |
| ConstraintCodeVector | Codes |
| Code - The constraint code, either the register name (in braces) or the constraint letter/number. More... | |
| bool | isMultipleAlternative |
| isMultipleAlternative - '|': has multiple-alternative constraints. More... | |
| SubConstraintInfoVector | multipleAlternatives |
| multipleAlternatives - If there are multiple alternative constraints, this array will contain them. More... | |
| unsigned | currentAlternativeIndex |
| The currently selected alternative constraint index. More... | |
This contains information for each constraint that we are lowering.
Definition at line 2901 of file TargetLowering.h.
|
inline |
Copy constructor for copying from a ConstraintInfo.
Definition at line 2928 of file TargetLowering.h.
References Other.
| unsigned TargetLowering::AsmOperandInfo::getMatchedOperand | ( | ) | const |
If this is an input matching constraint, this method returns the output operand it matches.
Definition at line 2514 of file TargetLowering.cpp.
References assert().
| bool TargetLowering::AsmOperandInfo::isMatchingInputConstraint | ( | ) | const |
Return true of this is an input operand that is a matching constraint like "4".
Definition at line 2507 of file TargetLowering.cpp.
References assert().
| Value* llvm::TargetLowering::AsmOperandInfo::CallOperandVal |
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 2914 of file TargetLowering.h.
Referenced by llvm::TargetLowering::ComputeConstraintToUse(), llvm::SparcTargetLowering::getSingleConstraintMatchWeight(), llvm::LanaiTargetLowering::getSingleConstraintMatchWeight(), llvm::AVRTargetLowering::getSingleConstraintMatchWeight(), llvm::ARMTargetLowering::getSingleConstraintMatchWeight(), llvm::SystemZTargetLowering::getSingleConstraintMatchWeight(), llvm::PPCTargetLowering::getSingleConstraintMatchWeight(), llvm::X86TargetLowering::getSingleConstraintMatchWeight(), llvm::TargetLowering::getSingleConstraintMatchWeight(), and llvm::TargetLowering::ParseConstraints().
| std::string llvm::TargetLowering::AsmOperandInfo::ConstraintCode |
This contains the actual string for the code, like "m".
TargetLowering picks the 'best' code from ConstraintInfo::Codes that most closely matches the operand.
Definition at line 2905 of file TargetLowering.h.
Referenced by ChooseConstraint(), llvm::TargetLowering::ComputeConstraintToUse(), and llvm::TargetLowering::ParseConstraints().
| TargetLowering::ConstraintType llvm::TargetLowering::AsmOperandInfo::ConstraintType |
Information about the constraint code, e.g.
Register, RegisterClass, Memory, Other, Unknown.
Definition at line 2909 of file TargetLowering.h.
Referenced by ChooseConstraint(), llvm::TargetLowering::ComputeConstraintToUse(), and ExtraFlags::update().
| MVT llvm::TargetLowering::AsmOperandInfo::ConstraintVT |
The ValueType for the operand value.
Definition at line 2917 of file TargetLowering.h.
Referenced by llvm::TargetLowering::ComputeConstraintToUse(), and llvm::TargetLowering::ParseConstraints().
1.8.6