LLVM API Documentation

llvm::InlineAsm Class Reference

#include <InlineAsm.h>

Inheritance diagram for llvm::InlineAsm:

Inheritance graph
[legend]
Collaboration diagram for llvm::InlineAsm:

Collaboration graph
[legend]
List of all members.

Public Types

 isInput
 isOutput
 isClobber
enum  ConstraintPrefix { isInput, isOutput, isClobber }

Public Member Functions

bool hasSideEffects () const
const PointerTypegetType () const
const FunctionTypegetFunctionType () const
const std::string & getAsmString () const
const std::string & getConstraintString () const
virtual void print (std::ostream &O) const
void print (std::ostream &OS, AssemblyAnnotationWriter *AAW) const
std::vector< ConstraintInfoParseConstraints () const

Static Public Member Functions

static InlineAsmget (const FunctionType *Ty, const std::string &AsmString, const std::string &Constraints, bool hasSideEffects)
static bool Verify (const FunctionType *Ty, const std::string &Constraints)
static std::vector< ConstraintInfoParseConstraints (const std::string &ConstraintString)
static bool classof (const InlineAsm *)
static bool classof (const Value *V)

Classes

struct  ConstraintInfo

Detailed Description

Definition at line 29 of file InlineAsm.h.


Member Enumeration Documentation

enum llvm::InlineAsm::ConstraintPrefix

Enumerator:
isInput 
isOutput 
isClobber 

Definition at line 70 of file InlineAsm.h.


Member Function Documentation

static bool llvm::InlineAsm::classof ( const Value V  )  [inline, static]

Reimplemented from llvm::Value.

Definition at line 123 of file InlineAsm.h.

References llvm::Value::InlineAsmVal, and V.

static bool llvm::InlineAsm::classof ( const InlineAsm  )  [inline, static]

Definition at line 122 of file InlineAsm.h.

InlineAsm * InlineAsm::get ( const FunctionType Ty,
const std::string &  AsmString,
const std::string &  Constraints,
bool  hasSideEffects 
) [static]

InlineAsm::get - Return the the specified uniqued inline asm string.

Definition at line 23 of file InlineAsm.cpp.

Referenced by llvm::BytecodeReader::ParseConstantPoolValue().

const std::string& llvm::InlineAsm::getAsmString (  )  const [inline]

Definition at line 57 of file InlineAsm.h.

Referenced by llvm::SelectionDAGLowering::visitInlineAsm().

const std::string& llvm::InlineAsm::getConstraintString (  )  const [inline]

Definition at line 58 of file InlineAsm.h.

const FunctionType * InlineAsm::getFunctionType (  )  const

getFunctionType - InlineAsm's are always pointers to functions.

Definition at line 38 of file InlineAsm.cpp.

References llvm::SequentialType::getElementType(), and getType().

const PointerType* llvm::InlineAsm::getType (  )  const [inline]

getType - InlineAsm's are always pointers.

Reimplemented from llvm::Value.

Definition at line 49 of file InlineAsm.h.

References llvm::Value::getType().

Referenced by getFunctionType().

bool llvm::InlineAsm::hasSideEffects (  )  const [inline]

Definition at line 45 of file InlineAsm.h.

Referenced by llvm::SelectionDAGLowering::visitInlineAsm().

std::vector<ConstraintInfo> llvm::InlineAsm::ParseConstraints (  )  const [inline]

ParseConstraints - Parse the constraints of this inlineasm object, returning them the same way that ParseConstraints(str) does.

Definition at line 117 of file InlineAsm.h.

Referenced by Verify().

std::vector< InlineAsm::ConstraintInfo > InlineAsm::ParseConstraints ( const std::string &  ConstraintString  )  [static]

ParseConstraints - Split up the constraint string into the specific constraints and their prefixes. If this returns an empty vector, and if the constraint string itself isn't empty, there was an error parsing.

Definition at line 134 of file InlineAsm.cpp.

References E, I, and Info.

Referenced by llvm::SelectionDAGLowering::visitInlineAsm().

void InlineAsm::print ( std::ostream &  OS,
AssemblyAnnotationWriter AAW 
) const

Definition at line 1292 of file AsmWriter.cpp.

References llvm::WriteAsOperand().

virtual void llvm::InlineAsm::print ( std::ostream &  O  )  const [inline, virtual]

print - Implement operator<< on Value...

Implements llvm::Value.

Definition at line 60 of file InlineAsm.h.

bool InlineAsm::Verify ( const FunctionType Ty,
const std::string &  Constraints 
) [static]

Verify - This static method can be used by the parser to check to see if the specified constraint string is legal for the type. This returns true if legal, false if not.

Definition at line 168 of file InlineAsm.cpp.

References llvm::FunctionType::getNumParams(), llvm::FunctionType::getReturnType(), isClobber, isInput, isOutput, llvm::FunctionType::isVarArg(), ParseConstraints(), and llvm::Type::VoidTy.

Referenced by llvm::BytecodeReader::ParseConstantPoolValue().


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