class MSAsmStmt
Declaration
class MSAsmStmt : public AsmStmt { /* full declaration omitted */ };
Description
This represents a Microsoft inline-assembly statement extension.
Declared at: clang/include/clang/AST/Stmt.h:3257
Inherits from: AsmStmt
Member Variables
- private clang::SourceLocation LBraceLoc
- private clang::SourceLocation EndLoc
- private llvm::StringRef AsmStr
- private unsigned int NumAsmToks = 0
- private clang::Token* AsmToks = nullptr
- private llvm::StringRef* Constraints = nullptr
- private llvm::StringRef* Clobbers = nullptr
Inherited from AsmStmt:
- protected AsmLoc
- protected IsSimple
- protected IsVolatile
- protected NumOutputs
- protected NumInputs
- protected NumClobbers
- protected Exprs = nullptr
Inherited from Stmt:
Method Overview
- public MSAsmStmt(clang::Stmt::EmptyShell Empty)
- public MSAsmStmt(const clang::ASTContext & C, clang::SourceLocation asmloc, clang::SourceLocation lbraceloc, bool issimple, bool isvolatile, ArrayRef<clang::Token> asmtoks, unsigned int numoutputs, unsigned int numinputs, ArrayRef<llvm::StringRef> constraints, ArrayRef<clang::Expr *> exprs, llvm::StringRef asmstr, ArrayRef<llvm::StringRef> clobbers, clang::SourceLocation endloc)
- public clang::Stmt::const_child_range children() const
- public clang::Stmt::child_range children()
- public static bool classof(const clang::Stmt * T)
- public std::string generateAsmString(const clang::ASTContext & C) const
- public ArrayRef<llvm::StringRef> getAllConstraints() const
- public ArrayRef<clang::Expr *> getAllExprs() const
- public llvm::StringRef getAsmString() const
- public clang::Token * getAsmToks()
- public clang::SourceLocation getBeginLoc() const
- public llvm::StringRef getClobber(unsigned int i) const
- public ArrayRef<llvm::StringRef> getClobbers() const
- public clang::SourceLocation getEndLoc() const
- public llvm::StringRef getInputConstraint(unsigned int i) const
- public clang::Expr * getInputExpr(unsigned int i)
- public const clang::Expr * getInputExpr(unsigned int i) const
- public clang::SourceLocation getLBraceLoc() const
- public unsigned int getNumAsmToks()
- public llvm::StringRef getOutputConstraint(unsigned int i) const
- public const clang::Expr * getOutputExpr(unsigned int i) const
- public clang::Expr * getOutputExpr(unsigned int i)
- public bool hasBraces() const
- private void initialize(const clang::ASTContext & C, llvm::StringRef AsmString, ArrayRef<clang::Token> AsmToks, ArrayRef<llvm::StringRef> Constraints, ArrayRef<clang::Expr *> Exprs, ArrayRef<llvm::StringRef> Clobbers)
- public void setEndLoc(clang::SourceLocation L)
- public void setInputExpr(unsigned int i, clang::Expr * E)
- public void setLBraceLoc(clang::SourceLocation L)
Inherited from AsmStmt:
- public begin_inputs
- public begin_inputs
- public begin_outputs
- public begin_outputs
- public children
- public children
- public classof
- public end_inputs
- public end_inputs
- public end_outputs
- public end_outputs
- public generateAsmString
- public getAsmLoc
- public getBeginLoc
- public getClobber
- public getEndLoc
- public getInputConstraint
- public getInputExpr
- public getNumClobbers
- public getNumInputs
- public getNumOutputs
- public getNumPlusOperands
- public getOutputConstraint
- public getOutputExpr
- public inputs
- public inputs
- public isOutputPlusConstraint
- public isSimple
- public isVolatile
- public outputs
- public outputs
- public setAsmLoc
- public setSimple
- public setVolatile
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
¶MSAsmStmt(clang::Stmt::EmptyShell Empty)
MSAsmStmt(clang::Stmt::EmptyShell Empty)
Description
Build an empty MS-style inline-assembly statement.
Declared at: clang/include/clang/AST/Stmt.h:3278
Parameters
- clang::Stmt::EmptyShell Empty
¶MSAsmStmt(const clang::ASTContext& C,
clang::SourceLocation asmloc,
clang::SourceLocation lbraceloc,
bool issimple,
bool isvolatile,
ArrayRef<clang::Token> asmtoks,
unsigned int numoutputs,
unsigned int numinputs,
ArrayRef<llvm::StringRef> constraints,
ArrayRef<clang::Expr*> exprs,
llvm::StringRef asmstr,
ArrayRef<llvm::StringRef> clobbers,
clang::SourceLocation endloc)
MSAsmStmt(const clang::ASTContext& C,
clang::SourceLocation asmloc,
clang::SourceLocation lbraceloc,
bool issimple,
bool isvolatile,
ArrayRef<clang::Token> asmtoks,
unsigned int numoutputs,
unsigned int numinputs,
ArrayRef<llvm::StringRef> constraints,
ArrayRef<clang::Expr*> exprs,
llvm::StringRef asmstr,
ArrayRef<llvm::StringRef> clobbers,
clang::SourceLocation endloc)
Declared at: clang/include/clang/AST/Stmt.h:3270
Parameters
- const clang::ASTContext& C
- clang::SourceLocation asmloc
- clang::SourceLocation lbraceloc
- bool issimple
- bool isvolatile
- ArrayRef<clang::Token> asmtoks
- unsigned int numoutputs
- unsigned int numinputs
- ArrayRef<llvm::StringRef> constraints
- ArrayRef<clang::Expr*> exprs
- llvm::StringRef asmstr
- ArrayRef<llvm::StringRef> clobbers
- clang::SourceLocation endloc
¶clang::Stmt::const_child_range children() const
clang::Stmt::const_child_range children() const
Declared at: clang/include/clang/AST/Stmt.h:3356
¶clang::Stmt::child_range children()
clang::Stmt::child_range children()
Declared at: clang/include/clang/AST/Stmt.h:3352
¶static bool classof(const clang::Stmt* T)
static bool classof(const clang::Stmt* T)
Declared at: clang/include/clang/AST/Stmt.h:3348
Parameters
- const clang::Stmt* T
¶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:3294
Parameters
- const clang::ASTContext& C
¶ArrayRef<llvm::StringRef> getAllConstraints()
const
ArrayRef<llvm::StringRef> getAllConstraints()
const
Declared at: clang/include/clang/AST/Stmt.h:3325
¶ArrayRef<clang::Expr*> getAllExprs() const
ArrayRef<clang::Expr*> getAllExprs() const
Declared at: clang/include/clang/AST/Stmt.h:3333
¶llvm::StringRef getAsmString() const
llvm::StringRef getAsmString() const
Declared at: clang/include/clang/AST/Stmt.h:3291
¶clang::Token* getAsmToks()
clang::Token* getAsmToks()
Declared at: clang/include/clang/AST/Stmt.h:3288
¶clang::SourceLocation getBeginLoc() const
clang::SourceLocation getBeginLoc() const
Declared at: clang/include/clang/AST/Stmt.h:3346
¶llvm::StringRef getClobber(unsigned int i) const
llvm::StringRef getClobber(unsigned int i) const
Declared at: clang/include/clang/AST/Stmt.h:3338
Parameters
- unsigned int i
¶ArrayRef<llvm::StringRef> getClobbers() const
ArrayRef<llvm::StringRef> getClobbers() const
Declared at: clang/include/clang/AST/Stmt.h:3329
¶clang::SourceLocation getEndLoc() const
clang::SourceLocation getEndLoc() const
Declared at: clang/include/clang/AST/Stmt.h:3282
¶llvm::StringRef getInputConstraint(
unsigned int i) const
llvm::StringRef getInputConstraint(
unsigned int i) const
Declared at: clang/include/clang/AST/Stmt.h:3311
Parameters
- unsigned int i
¶clang::Expr* getInputExpr(unsigned int i)
clang::Expr* getInputExpr(unsigned int i)
Declared at: clang/include/clang/AST/Stmt.h:3316
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:3319
Parameters
- unsigned int i
¶clang::SourceLocation getLBraceLoc() const
clang::SourceLocation getLBraceLoc() const
Declared at: clang/include/clang/AST/Stmt.h:3280
¶unsigned int getNumAsmToks()
unsigned int getNumAsmToks()
Declared at: clang/include/clang/AST/Stmt.h:3287
¶llvm::StringRef getOutputConstraint(
unsigned int i) const
llvm::StringRef getOutputConstraint(
unsigned int i) const
Declared at: clang/include/clang/AST/Stmt.h:3298
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:3305
Parameters
- unsigned int i
¶clang::Expr* getOutputExpr(unsigned int i)
clang::Expr* getOutputExpr(unsigned int i)
Declared at: clang/include/clang/AST/Stmt.h:3303
Parameters
- unsigned int i
¶bool hasBraces() const
bool hasBraces() const
Declared at: clang/include/clang/AST/Stmt.h:3285
¶void initialize(
const clang::ASTContext& C,
llvm::StringRef AsmString,
ArrayRef<clang::Token> AsmToks,
ArrayRef<llvm::StringRef> Constraints,
ArrayRef<clang::Expr*> Exprs,
ArrayRef<llvm::StringRef> Clobbers)
void initialize(
const clang::ASTContext& C,
llvm::StringRef AsmString,
ArrayRef<clang::Token> AsmToks,
ArrayRef<llvm::StringRef> Constraints,
ArrayRef<clang::Expr*> Exprs,
ArrayRef<llvm::StringRef> Clobbers)
Declared at: clang/include/clang/AST/Stmt.h:3341
Parameters
- const clang::ASTContext& C
- llvm::StringRef AsmString
- ArrayRef<clang::Token> AsmToks
- ArrayRef<llvm::StringRef> Constraints
- ArrayRef<clang::Expr*> Exprs
- ArrayRef<llvm::StringRef> Clobbers
¶void setEndLoc(clang::SourceLocation L)
void setEndLoc(clang::SourceLocation L)
Declared at: clang/include/clang/AST/Stmt.h:3283
Parameters
¶void setInputExpr(unsigned int i, clang::Expr* E)
void setInputExpr(unsigned int i, clang::Expr* E)
Declared at: clang/include/clang/AST/Stmt.h:3317
Parameters
- unsigned int i
- clang::Expr* E
¶void setLBraceLoc(clang::SourceLocation L)
void setLBraceLoc(clang::SourceLocation L)
Declared at: clang/include/clang/AST/Stmt.h:3281