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 76 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 45 of file InlineAsm.cpp.

References Codes, E, hasMatchingInput, I, llvm::InlineAsm::isClobber, isCommutative, isEarlyClobber, isIndirectOutput, llvm::InlineAsm::isInput, and llvm::InlineAsm::isOutput.


Member Data Documentation

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

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 91 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 95 of file InlineAsm.h.

Referenced by Parse().

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 83 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 87 of file InlineAsm.h.

Referenced by Parse().

ConstraintPrefix llvm::InlineAsm::ConstraintInfo::Type

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

Definition at line 79 of file InlineAsm.h.


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