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:

protected

Method Overview

Inherited from Stmt:

Methods

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)

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

Declared at: clang/include/clang/AST/Stmt.h:2981

clang::AsmStmt::inputs_iterator begin_inputs()

Declared at: clang/include/clang/AST/Stmt.h:2971

clang::AsmStmt::const_outputs_iterator
begin_outputs() const

Declared at: clang/include/clang/AST/Stmt.h:3012

clang::AsmStmt::outputs_iterator begin_outputs()

Declared at: clang/include/clang/AST/Stmt.h:3000

clang::Stmt::const_child_range children() const

Declared at: clang/include/clang/AST/Stmt.h:3028

clang::Stmt::child_range children()

Declared at: clang/include/clang/AST/Stmt.h:3024

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

Declared at: clang/include/clang/AST/Stmt.h:2985

clang::AsmStmt::inputs_iterator end_inputs()

Declared at: clang/include/clang/AST/Stmt.h:2975

clang::AsmStmt::const_outputs_iterator
end_outputs() const

Declared at: clang/include/clang/AST/Stmt.h:3016

clang::AsmStmt::outputs_iterator end_outputs()

Declared at: clang/include/clang/AST/Stmt.h:3004

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

Declared at: clang/include/clang/AST/Stmt.h:2905

clang::SourceLocation getBeginLoc() const

Declared at: clang/include/clang/AST/Stmt.h:2914

llvm::StringRef getClobber(unsigned int i) const

Declared at: clang/include/clang/AST/Stmt.h:2957

Parameters

unsigned int i

clang::SourceLocation getEndLoc() const

Declared at: clang/include/clang/AST/Stmt.h:2915

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

Declared at: clang/include/clang/AST/Stmt.h:2952

Parameters

unsigned int i

unsigned int getNumClobbers() const

Declared at: clang/include/clang/AST/Stmt.h:2956

unsigned int getNumInputs() const

Declared at: clang/include/clang/AST/Stmt.h:2946

unsigned int getNumOutputs() const

Declared at: clang/include/clang/AST/Stmt.h:2924

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

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

Declared at: clang/include/clang/AST/Stmt.h:2938

Parameters

unsigned int i

clang::AsmStmt::inputs_range inputs()

Declared at: clang/include/clang/AST/Stmt.h:2979

clang::AsmStmt::inputs_const_range inputs() const

Declared at: clang/include/clang/AST/Stmt.h:2989

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

Declared at: clang/include/clang/AST/Stmt.h:2908

bool isVolatile() const

Declared at: clang/include/clang/AST/Stmt.h:2911

clang::AsmStmt::outputs_range outputs()

Declared at: clang/include/clang/AST/Stmt.h:3008

clang::AsmStmt::outputs_const_range outputs()
    const

Declared at: clang/include/clang/AST/Stmt.h:3020

void setAsmLoc(clang::SourceLocation L)

Declared at: clang/include/clang/AST/Stmt.h:2906

Parameters

clang::SourceLocation L

void setSimple(bool V)

Declared at: clang/include/clang/AST/Stmt.h:2909

Parameters

bool V

void setVolatile(bool V)

Declared at: clang/include/clang/AST/Stmt.h:2912

Parameters

bool V