clang: clang::AsmStmt Class Reference (original ) (raw )AsmStmt is the base class for GCCAsmStmt and MSAsmStmt . More...
#include "[clang/AST/Stmt.h](Stmt%5F8h%5Fsource.html)"
Public Member Functions
AsmStmt (StmtClass SC, EmptyShell Empty )
Build an empty inline-assembly statement.
SourceLocation
getAsmLoc () const
void
setAsmLoc (SourceLocation L)
bool
isSimple () const
void
setSimple (bool V )
bool
isVolatile () const
void
setVolatile (bool V )
SourceLocation
getBeginLoc () const LLVM_READONLY
SourceLocation
getEndLoc () const LLVM_READONLY
std::string
generateAsmString (const ASTContext &C ) const
Assemble final IR asm string.
unsigned
getNumOutputs () const
std::string
getOutputConstraint (unsigned i) const
getOutputConstraint - Return the constraint string for the specified output operand.
bool
isOutputPlusConstraint (unsigned i) const
isOutputPlusConstraint - Return true if the specified output constraint is a "+" constraint (which is both an input and an output) or false if it is an "=" constraint (just an output).
const Expr *
getOutputExpr (unsigned i) const
unsigned
getNumPlusOperands () const
getNumPlusOperands - Return the number of output operands that have a "+" constraint.
unsigned
getNumInputs () const
std::string
getInputConstraint (unsigned i) const
getInputConstraint - Return the specified input constraint.
const Expr *
getInputExpr (unsigned i) const
unsigned
getNumClobbers () const
std::string
getClobber (unsigned i) const
inputs_iterator
begin_inputs ()
inputs_iterator
end_inputs ()
inputs_range
inputs ()
const_inputs_iterator
begin_inputs () const
const_inputs_iterator
end_inputs () const
inputs_const_range
inputs () const
outputs_iterator
begin_outputs ()
outputs_iterator
end_outputs ()
outputs_range
outputs ()
const_outputs_iterator
begin_outputs () const
const_outputs_iterator
end_outputs () const
outputs_const_range
outputs () const
child_range
children ()
const_child_range
children () const
Public Member Functions inherited from clang::Stmt
void *
operator new (size_t bytes , const ASTContext &C , unsigned alignment=8)
void *
operator new (size_t bytes , const ASTContext *C , unsigned alignment=8)
void *
operator new (size_t bytes , void *mem) noexcept
void
operator delete (void *, const ASTContext &, unsigned ) noexcept
void
operator delete (void *, const ASTContext *, unsigned ) noexcept
void
operator delete (void *, size_t ) noexcept
void
operator delete (void *, void *) noexcept
Stmt ()=delete
Stmt (const Stmt &)=delete
Stmt (Stmt &&)=delete
Stmt &
operator= (const Stmt &)=delete
Stmt &
operator= (Stmt &&)=delete
Stmt (StmtClass SC)
StmtClass
getStmtClass () const
const char *
getStmtClassName () const
SourceRange
getSourceRange () const LLVM_READONLY
SourceLocation tokens are not useful in isolation - they are low level value objects created/interpreted by SourceManager .
SourceLocation
getBeginLoc () const LLVM_READONLY
SourceLocation
getEndLoc () const LLVM_READONLY
void
dump () const
Dumps the specified AST fragment and all subtrees to llvm::errs().
void
dump (raw_ostream &OS, const ASTContext &Context) const
int64_t
getID (const ASTContext &Context) const
void
dumpColor () const
dumpColor - same as dump() , but forces color highlighting.
void
dumpPretty (const ASTContext &Context) const
dumpPretty/printPretty - These two methods do a "pretty print" of the AST back to its original source language syntax.
void
printPretty (raw_ostream &OS, PrinterHelper *Helper, const PrintingPolicy &Policy, unsigned Indentation=0, StringRef NewlineSymbol="\n", const ASTContext *Context=nullptr ) const
void
printPrettyControlled (raw_ostream &OS, PrinterHelper *Helper, const PrintingPolicy &Policy, unsigned Indentation=0, StringRef NewlineSymbol="\n", const ASTContext *Context=nullptr ) const
void
printJson (raw_ostream &Out, PrinterHelper *Helper, const PrintingPolicy &Policy, bool AddQuotes) const
Pretty-prints in JSON format.
void
viewAST () const
viewAST - Visualize an AST rooted at this Stmt* using GraphViz.
Stmt *
IgnoreContainers (bool IgnoreCaptured=false )
Skip no-op (attributed, compound) container stmts and skip captured stmt at the top, if IgnoreCaptured is true.
const Stmt *
IgnoreContainers (bool IgnoreCaptured=false ) const
const Stmt *
stripLabelLikeStatements () const
Strip off all label-like statements.
Stmt *
stripLabelLikeStatements ()
child_range
children ()
const_child_range
children () const
child_iterator
child_begin ()
child_iterator
child_end ()
const_child_iterator
child_begin () const
const_child_iterator
child_end () const
void
Profile (llvm::FoldingSetNodeID &ID, const ASTContext &Context, bool Canonical, bool ProfileLambdaExpr=false ) const
Produce a unique representation of the given statement.
void
ProcessODRHash (llvm::FoldingSetNodeID &ID, ODRHash &Hash) const
Calculate a unique representation for a statement that is stable across compiler invocations.
AsmStmt is the base class for GCCAsmStmt and MSAsmStmt .
Definition at line 3267 of file Stmt.h .
◆ const_outputs_iteratorusing clang::AsmStmt::inputs_const_range = llvm::iterator_range<const_inputs_iterator >
using clang::AsmStmt::inputs_range = llvm::iterator_range<inputs_iterator >
◆ outputs_const_rangeusing clang::AsmStmt::outputs_const_range = llvm::iterator_range<const_outputs_iterator >
◆ outputs_iterator◆ outputs_rangeusing clang::AsmStmt::outputs_range = llvm::iterator_range<outputs_iterator >
◆ AsmStmt() [1/2]◆ AsmStmt() [2/2]
◆ begin_outputs() [1/2]
◆ begin_outputs() [2/2]
◆ children() [1/2]◆ children() [2/2]◆ classof()
bool clang::AsmStmt::classof ( const Stmt * T )
inlinestatic
◆ end_outputs() [1/2]
◆ end_outputs() [2/2]
◆ generateAsmString()
std::string AsmStmt::generateAsmString
(
const ASTContext &
C
)
const
◆ getAsmLoc()◆ getBeginLoc()◆ getClobber()
std::string AsmStmt::getClobber
(
unsigned
i
)
const
◆ getEndLoc()
std::string AsmStmt::getInputConstraint
(
unsigned
i
)
const
◆ getNumClobbers()
unsigned clang::AsmStmt::getNumClobbers ( ) const
inline
unsigned clang::AsmStmt::getNumInputs ( ) const
inline
◆ getNumOutputs()
unsigned clang::AsmStmt::getNumOutputs ( ) const
inline
◆ getNumPlusOperands()
unsigned AsmStmt::getNumPlusOperands
(
)
const
◆ getOutputConstraint()
std::string AsmStmt::getOutputConstraint
(
unsigned
i
)
const
◆ getOutputExpr()
◆ isOutputPlusConstraint()
bool clang::AsmStmt::isOutputPlusConstraint ( unsigned i ) const
inline
isOutputPlusConstraint - Return true if the specified output constraint is a "+" constraint (which is both an input and an output) or false if it is an "=" constraint (just an output).
Definition at line 3326 of file Stmt.h .
References getOutputConstraint() .
Referenced by getNumPlusOperands() .
◆ isSimple()
bool clang::AsmStmt::isSimple ( ) const
inline
◆ isVolatile()
bool clang::AsmStmt::isVolatile ( ) const
inline
◆ outputs() [1/2]
◆ outputs() [2/2]
◆ setAsmLoc()◆ setSimple()
void clang::AsmStmt::setSimple ( bool V )
inline
◆ setVolatile()
void clang::AsmStmt::setVolatile ( bool V )
inline
◆ ASTStmtReader◆ AsmLoc◆ ExprsDefinition at line 3285 of file Stmt.h .
Referenced by begin_inputs() , begin_inputs() , clang::GCCAsmStmt::begin_labels() , clang::GCCAsmStmt::begin_labels() , begin_outputs() , begin_outputs() , children() , children() , clang::MSAsmStmt::children() , clang::MSAsmStmt::children() , end_inputs() , end_inputs() , clang::GCCAsmStmt::end_labels() , clang::GCCAsmStmt::end_labels() , end_outputs() , end_outputs() , clang::GCCAsmStmt::GCCAsmStmt() , clang::MSAsmStmt::getAllExprs() , clang::GCCAsmStmt::getInputExpr() , clang::MSAsmStmt::getInputExpr() , clang::GCCAsmStmt::getLabelExpr() , clang::GCCAsmStmt::getOutputExpr() , clang::MSAsmStmt::getOutputExpr() , clang::GCCAsmStmt::setInputExpr() , and clang::MSAsmStmt::setInputExpr() .
◆ IsSimple
bool clang::AsmStmt::IsSimple
protected
◆ IsVolatile
bool clang::AsmStmt::IsVolatile
protected
◆ NumClobbersDefinition at line 3282 of file Stmt.h .
Referenced by AsmStmt() , clang::GCCAsmStmt::begin_labels() , clang::GCCAsmStmt::begin_labels() , children() , children() , clang::MSAsmStmt::children() , clang::MSAsmStmt::children() , end_inputs() , end_inputs() , clang::GCCAsmStmt::end_labels() , clang::GCCAsmStmt::end_labels() , clang::GCCAsmStmt::GCCAsmStmt() , clang::MSAsmStmt::getAllConstraints() , clang::MSAsmStmt::getAllExprs() , clang::MSAsmStmt::getInputConstraint() , clang::GCCAsmStmt::getLabelExpr() , clang::GCCAsmStmt::getLabelIdentifier() , clang::GCCAsmStmt::getNamedOperand() , and getNumInputs() .
◆ NumOutputsDefinition at line 3281 of file Stmt.h .
Referenced by AsmStmt() , begin_inputs() , begin_inputs() , clang::GCCAsmStmt::begin_labels() , clang::GCCAsmStmt::begin_labels() , children() , children() , clang::MSAsmStmt::children() , clang::MSAsmStmt::children() , end_inputs() , end_inputs() , clang::GCCAsmStmt::end_labels() , clang::GCCAsmStmt::end_labels() , end_outputs() , end_outputs() , clang::GCCAsmStmt::GCCAsmStmt() , clang::MSAsmStmt::getAllConstraints() , clang::MSAsmStmt::getAllExprs() , clang::MSAsmStmt::getInputConstraint() , clang::GCCAsmStmt::getInputConstraintExpr() , clang::GCCAsmStmt::getInputConstraintExpr() , clang::GCCAsmStmt::getInputExpr() , clang::MSAsmStmt::getInputExpr() , clang::GCCAsmStmt::getInputIdentifier() , clang::GCCAsmStmt::getLabelExpr() , clang::GCCAsmStmt::getLabelIdentifier() , clang::GCCAsmStmt::getNamedOperand() , getNumOutputs() , clang::MSAsmStmt::getOutputConstraint() , clang::GCCAsmStmt::setInputExpr() , and clang::MSAsmStmt::setInputExpr() .
The documentation for this class was generated from the following files: