LLVM API Documentation
#include <InlineAsm.h>
Inheritance diagram for llvm::InlineAsm:
Public Types | |
enum | ConstraintPrefix { isInput, isOutput, isClobber } |
Public Member Functions | |
bool | hasSideEffects () const |
const PointerType * | getType () const |
const FunctionType * | getFunctionType () 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< ConstraintInfo > | ParseConstraints () const |
Static Public Member Functions | |
static InlineAsm * | get (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< ConstraintInfo > | ParseConstraints (const std::string &ConstraintString) |
static bool | classof (const InlineAsm *) |
static bool | classof (const Value *V) |
Classes | |
struct | ConstraintInfo |
Definition at line 30 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 29 of file InlineAsm.cpp.
Referenced by llvm::BytecodeReader::ParseConstantPoolValue().
bool llvm::InlineAsm::hasSideEffects | ( | ) | const [inline] |
Definition at line 47 of file InlineAsm.h.
Referenced by llvm::SelectionDAGLowering::visitInlineAsm().
const PointerType* llvm::InlineAsm::getType | ( | ) | const [inline] |
getType - InlineAsm's are always pointers.
Reimplemented from llvm::Value.
Definition at line 51 of file InlineAsm.h.
References llvm::Value::getType().
Referenced by getFunctionType().
const FunctionType * InlineAsm::getFunctionType | ( | ) | const |
getFunctionType - InlineAsm's are always pointers to functions.
Definition at line 44 of file InlineAsm.cpp.
References llvm::SequentialType::getElementType(), and getType().
const std::string& llvm::InlineAsm::getAsmString | ( | ) | const [inline] |
Definition at line 59 of file InlineAsm.h.
Referenced by llvm::SelectionDAGLowering::visitInlineAsm().
const std::string& llvm::InlineAsm::getConstraintString | ( | ) | const [inline] |
Definition at line 60 of file InlineAsm.h.
virtual void llvm::InlineAsm::print | ( | std::ostream & | O | ) | const [inline, virtual] |
print - Implement operator<< on Value...
Implements llvm::Value.
Definition at line 62 of file InlineAsm.h.
void InlineAsm::print | ( | std::ostream & | OS, | |
AssemblyAnnotationWriter * | AAW | |||
) | const |
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 174 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().
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 140 of file InlineAsm.cpp.
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 119 of file InlineAsm.h.
Referenced by Verify().
static bool llvm::InlineAsm::classof | ( | const InlineAsm * | ) | [inline, static] |
Definition at line 124 of file InlineAsm.h.
static bool llvm::InlineAsm::classof | ( | const Value * | V | ) | [inline, static] |
Reimplemented from llvm::Value.
Definition at line 125 of file InlineAsm.h.
References llvm::Value::InlineAsmVal, and V.