LLVM  4.0.0
Public Member Functions | Public Attributes | List of all members
llvm::TargetLowering::AsmOperandInfo Struct Reference

This contains information for each constraint that we are lowering. More...

#include <TargetLowering.h>

Inheritance diagram for llvm::TargetLowering::AsmOperandInfo:
[legend]
Collaboration diagram for llvm::TargetLowering::AsmOperandInfo:
[legend]

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...
 
ValueCallOperandVal
 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...
 

Detailed Description

This contains information for each constraint that we are lowering.

Definition at line 2901 of file TargetLowering.h.

Constructor & Destructor Documentation

llvm::TargetLowering::AsmOperandInfo::AsmOperandInfo ( InlineAsm::ConstraintInfo  Info)
inline

Copy constructor for copying from a ConstraintInfo.

Definition at line 2928 of file TargetLowering.h.

References Other.

Member Function Documentation

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().

Member Data Documentation

Value* llvm::TargetLowering::AsmOperandInfo::CallOperandVal
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().


The documentation for this struct was generated from the following files: