LLVM API Documentation

llvm::InlineAsm::ConstraintInfo Struct Reference

#include <InlineAsm.h>

Collaboration diagram for llvm::InlineAsm::ConstraintInfo:

Collaboration graph
[legend]
List of all members.

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

Detailed Description

Definition at line 78 of file InlineAsm.h.


Member Function Documentation

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.


Member Data Documentation

ConstraintPrefix llvm::InlineAsm::ConstraintInfo::Type

Type - The basic type of the constraint: input/output/clobber

Definition at line 81 of file InlineAsm.h.

bool llvm::InlineAsm::ConstraintInfo::isEarlyClobber

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

bool llvm::InlineAsm::ConstraintInfo::isIndirectOutput

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

bool llvm::InlineAsm::ConstraintInfo::hasMatchingInput

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

bool llvm::InlineAsm::ConstraintInfo::isCommutative

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


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