LLVM API Documentation
#include <InlineAsm.h>
Collaboration diagram for llvm::InlineAsm::ConstraintInfo:
Public Member Functions | |
bool | Parse (const std::string &Str, std::vector< InlineAsm::ConstraintInfo > &ConstraintsSoFar) |
Public Attributes | |
ConstraintPrefix | Type |
bool | isEarlyClobber |
bool | isIndirectOutput |
bool | hasMatchingInput |
bool | isCommutative |
std::vector< std::string > | Codes |
Definition at line 78 of file InlineAsm.h.
bool InlineAsm::ConstraintInfo::Parse | ( | const std::string & | Str, | |
std::vector< InlineAsm::ConstraintInfo > & | ConstraintsSoFar | |||
) |
Parse - Analyze the specified string (e.g. "==&{eax}") and fill in the fields in this structure. If the constraint string is not understood, return true, otherwise return false.
Definition at line 51 of file InlineAsm.cpp.
References Codes, E, hasMatchingInput, llvm::InlineAsm::isClobber, isCommutative, isEarlyClobber, isIndirectOutput, llvm::InlineAsm::isInput, and llvm::InlineAsm::isOutput.
Type - The basic type of the constraint: input/output/clobber
Definition at line 81 of file InlineAsm.h.
isEarlyClobber - "&": output operand writes result before inputs are all read. This is only ever set for an output operand.
Definition at line 85 of file InlineAsm.h.
Referenced by Parse().
isIndirectOutput - If this is true for an output constraint, the address to store the output result is passed as an operand to the call.
Definition at line 89 of file InlineAsm.h.
Referenced by Parse().
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").
Definition at line 93 of file InlineAsm.h.
Referenced by Parse().
isCommutative - This is set to true for a constraint that is commutative with the next operand.
Definition at line 97 of file InlineAsm.h.
Referenced by Parse().
std::vector<std::string> llvm::InlineAsm::ConstraintInfo::Codes |
Code - The constraint code, either the register name (in braces) or the constraint letter/number.
Definition at line 101 of file InlineAsm.h.
Referenced by Parse().