class AsmStmt
Declaration
class AsmStmt : public Stmt { /* full declaration omitted */ };
Description
AsmStmt is the base class for GCCAsmStmt and MSAsmStmt.
Declared at: clang/include/clang/AST/Stmt.h:2875
Inherits from: Stmt
Member Variables
- protected clang::SourceLocation AsmLoc
- protected bool IsSimple
- True if the assembly statement does not have any input or output operands.
- protected bool IsVolatile
- If true, treat this inline assembly as having side effects. This assembly statement should not be optimized, deleted or moved.
- protected unsigned int NumOutputs
- protected unsigned int NumInputs
- protected unsigned int NumClobbers
- protected clang::Stmt** Exprs = nullptr
Inherited from Stmt:
Method Overview
- public AsmStmt(clang::Stmt::StmtClass SC, clang::Stmt::EmptyShell Empty)
- protected AsmStmt(clang::Stmt::StmtClass SC, clang::SourceLocation asmloc, bool issimple, bool isvolatile, unsigned int numoutputs, unsigned int numinputs, unsigned int numclobbers)
- public clang::AsmStmt::const_inputs_iterator begin_inputs() const
- public clang::AsmStmt::inputs_iterator begin_inputs()
- public clang::AsmStmt::const_outputs_iterator begin_outputs() const
- public clang::AsmStmt::outputs_iterator begin_outputs()
- public clang::Stmt::const_child_range children() const
- public clang::Stmt::child_range children()
- public static bool classof(const clang::Stmt * T)
- public clang::AsmStmt::const_inputs_iterator end_inputs() const
- public clang::AsmStmt::inputs_iterator end_inputs()
- public clang::AsmStmt::const_outputs_iterator end_outputs() const
- public clang::AsmStmt::outputs_iterator end_outputs()
- public std::string generateAsmString(const clang::ASTContext & C) const
- public clang::SourceLocation getAsmLoc() const
- public clang::SourceLocation getBeginLoc() const
- public llvm::StringRef getClobber(unsigned int i) const
- public clang::SourceLocation getEndLoc() const
- public llvm::StringRef getInputConstraint(unsigned int i) const
- public const clang::Expr * getInputExpr(unsigned int i) const
- public unsigned int getNumClobbers() const
- public unsigned int getNumInputs() const
- public unsigned int getNumOutputs() const
- public unsigned int getNumPlusOperands() const
- public llvm::StringRef getOutputConstraint(unsigned int i) const
- public const clang::Expr * getOutputExpr(unsigned int i) const
- public clang::AsmStmt::inputs_range inputs()
- public clang::AsmStmt::inputs_const_range inputs() const
- public bool isOutputPlusConstraint(unsigned int i) const
- public bool isSimple() const
- public bool isVolatile() const
- public clang::AsmStmt::outputs_range outputs()
- public clang::AsmStmt::outputs_const_range outputs() const
- public void setAsmLoc(clang::SourceLocation L)
- public void setSimple(bool V)
- public void setVolatile(bool V)
Inherited from Stmt:
- public EnableStatistics
- public IgnoreContainers
- public IgnoreContainers
- public PrintStats
- public ProcessODRHash
- public Profile
- public addStmtClass
- public child_begin
- public child_begin
- public child_end
- public child_end
- public children
- public children
- public determineLikelihoodConflict
- public dump
- public dump
- public dumpColor
- public dumpPretty
- public getBeginLoc
- public getEndLoc
- public getID
- public getLikelihood
- public getLikelihood
- public getLikelihood
- public getLikelihoodAttr
- public getSourceRange
- public getStmtClass
- public getStmtClassName
- public printJson
- public printPretty
- public printPrettyControlled
- public stripLabelLikeStatements
- public stripLabelLikeStatements
- public viewAST
Methods
¶AsmStmt(clang::Stmt::StmtClass SC,
clang::Stmt::EmptyShell Empty)
AsmStmt(clang::Stmt::StmtClass SC,
clang::Stmt::EmptyShell Empty)
Description
Build an empty inline-assembly statement.
Declared at: clang/include/clang/AST/Stmt.h:2903
Parameters
- clang::Stmt::StmtClass SC
- clang::Stmt::EmptyShell Empty
¶AsmStmt(clang::Stmt::StmtClass SC,
clang::SourceLocation asmloc,
bool issimple,
bool isvolatile,
unsigned int numoutputs,
unsigned int numinputs,
unsigned int numclobbers)
AsmStmt(clang::Stmt::StmtClass SC,
clang::SourceLocation asmloc,
bool issimple,
bool isvolatile,
unsigned int numoutputs,
unsigned int numinputs,
unsigned int numclobbers)
Declared at: clang/include/clang/AST/Stmt.h:2895
Parameters
- clang::Stmt::StmtClass SC
- clang::SourceLocation asmloc
- bool issimple
- bool isvolatile
- unsigned int numoutputs
- unsigned int numinputs
- unsigned int numclobbers
¶clang::AsmStmt::const_inputs_iterator
begin_inputs() const
clang::AsmStmt::const_inputs_iterator
begin_inputs() const
Declared at: clang/include/clang/AST/Stmt.h:2981
¶clang::AsmStmt::inputs_iterator begin_inputs()
clang::AsmStmt::inputs_iterator begin_inputs()
Declared at: clang/include/clang/AST/Stmt.h:2971
¶clang::AsmStmt::const_outputs_iterator
begin_outputs() const
clang::AsmStmt::const_outputs_iterator
begin_outputs() const
Declared at: clang/include/clang/AST/Stmt.h:3012
¶clang::AsmStmt::outputs_iterator begin_outputs()
clang::AsmStmt::outputs_iterator begin_outputs()
Declared at: clang/include/clang/AST/Stmt.h:3000
¶clang::Stmt::const_child_range children() const
clang::Stmt::const_child_range children() const
Declared at: clang/include/clang/AST/Stmt.h:3028
¶clang::Stmt::child_range children()
clang::Stmt::child_range children()
Declared at: clang/include/clang/AST/Stmt.h:3024
¶static bool classof(const clang::Stmt* T)
static bool classof(const clang::Stmt* T)
Declared at: clang/include/clang/AST/Stmt.h:2959
Parameters
- const clang::Stmt* T
¶clang::AsmStmt::const_inputs_iterator end_inputs()
const
clang::AsmStmt::const_inputs_iterator end_inputs()
const
Declared at: clang/include/clang/AST/Stmt.h:2985
¶clang::AsmStmt::inputs_iterator end_inputs()
clang::AsmStmt::inputs_iterator end_inputs()
Declared at: clang/include/clang/AST/Stmt.h:2975
¶clang::AsmStmt::const_outputs_iterator
end_outputs() const
clang::AsmStmt::const_outputs_iterator
end_outputs() const
Declared at: clang/include/clang/AST/Stmt.h:3016
¶clang::AsmStmt::outputs_iterator end_outputs()
clang::AsmStmt::outputs_iterator end_outputs()
Declared at: clang/include/clang/AST/Stmt.h:3004
¶std::string generateAsmString(
const clang::ASTContext& C) const
std::string generateAsmString(
const clang::ASTContext& C) const
Description
Assemble final IR asm string.
Declared at: clang/include/clang/AST/Stmt.h:2920
Parameters
- const clang::ASTContext& C
¶clang::SourceLocation getAsmLoc() const
clang::SourceLocation getAsmLoc() const
Declared at: clang/include/clang/AST/Stmt.h:2905
¶clang::SourceLocation getBeginLoc() const
clang::SourceLocation getBeginLoc() const
Declared at: clang/include/clang/AST/Stmt.h:2914
¶llvm::StringRef getClobber(unsigned int i) const
llvm::StringRef getClobber(unsigned int i) const
Declared at: clang/include/clang/AST/Stmt.h:2957
Parameters
- unsigned int i
¶clang::SourceLocation getEndLoc() const
clang::SourceLocation getEndLoc() const
Declared at: clang/include/clang/AST/Stmt.h:2915
¶llvm::StringRef getInputConstraint(
unsigned int i) const
llvm::StringRef getInputConstraint(
unsigned int i) const
Description
getInputConstraint - Return the specified input constraint. Unlike output constraints, these can be empty.
Declared at: clang/include/clang/AST/Stmt.h:2950
Parameters
- unsigned int i
¶const clang::Expr* getInputExpr(
unsigned int i) const
const clang::Expr* getInputExpr(
unsigned int i) const
Declared at: clang/include/clang/AST/Stmt.h:2952
Parameters
- unsigned int i
¶unsigned int getNumClobbers() const
unsigned int getNumClobbers() const
Declared at: clang/include/clang/AST/Stmt.h:2956
¶unsigned int getNumInputs() const
unsigned int getNumInputs() const
Declared at: clang/include/clang/AST/Stmt.h:2946
¶unsigned int getNumOutputs() const
unsigned int getNumOutputs() const
Declared at: clang/include/clang/AST/Stmt.h:2924
¶unsigned int getNumPlusOperands() const
unsigned int getNumPlusOperands() const
Description
getNumPlusOperands - Return the number of output operands that have a "+" constraint.
Declared at: clang/include/clang/AST/Stmt.h:2942
¶llvm::StringRef getOutputConstraint(
unsigned int i) const
llvm::StringRef getOutputConstraint(
unsigned int i) const
Description
getOutputConstraint - Return the constraint string for the specified output operand. All output constraints are known to be non-empty (either '=' or '+').
Declared at: clang/include/clang/AST/Stmt.h:2929
Parameters
- unsigned int i
¶const clang::Expr* getOutputExpr(
unsigned int i) const
const clang::Expr* getOutputExpr(
unsigned int i) const
Declared at: clang/include/clang/AST/Stmt.h:2938
Parameters
- unsigned int i
¶clang::AsmStmt::inputs_range inputs()
clang::AsmStmt::inputs_range inputs()
Declared at: clang/include/clang/AST/Stmt.h:2979
¶clang::AsmStmt::inputs_const_range inputs() const
clang::AsmStmt::inputs_const_range inputs() const
Declared at: clang/include/clang/AST/Stmt.h:2989
¶bool isOutputPlusConstraint(unsigned int i) const
bool isOutputPlusConstraint(unsigned int i) const
Description
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).
Declared at: clang/include/clang/AST/Stmt.h:2934
Parameters
- unsigned int i
¶bool isSimple() const
bool isSimple() const
Declared at: clang/include/clang/AST/Stmt.h:2908
¶bool isVolatile() const
bool isVolatile() const
Declared at: clang/include/clang/AST/Stmt.h:2911
¶clang::AsmStmt::outputs_range outputs()
clang::AsmStmt::outputs_range outputs()
Declared at: clang/include/clang/AST/Stmt.h:3008
¶clang::AsmStmt::outputs_const_range outputs()
const
clang::AsmStmt::outputs_const_range outputs()
const
Declared at: clang/include/clang/AST/Stmt.h:3020
¶void setAsmLoc(clang::SourceLocation L)
void setAsmLoc(clang::SourceLocation L)
Declared at: clang/include/clang/AST/Stmt.h:2906
Parameters
¶void setSimple(bool V)
void setSimple(bool V)
Declared at: clang/include/clang/AST/Stmt.h:2909
Parameters
- bool V
¶void setVolatile(bool V)
void setVolatile(bool V)
Declared at: clang/include/clang/AST/Stmt.h:2912
Parameters
- bool V