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 76 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 45 of file InlineAsm.cpp.
References Codes, E, hasMatchingInput, I, llvm::InlineAsm::isClobber, isCommutative, isEarlyClobber, isIndirectOutput, llvm::InlineAsm::isInput, and llvm::InlineAsm::isOutput.
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 99 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 91 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 95 of file InlineAsm.h.
Referenced by Parse().
isEarlyClobber - "&": output operand writes result before inputs are all read. This is only ever set for an output operand.
Definition at line 83 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 87 of file InlineAsm.h.
Referenced by Parse().
Type - The basic type of the constraint: input/output/clobber
Definition at line 79 of file InlineAsm.h.