clang API Documentation
#include <Stmt.h>
AsmStmt is the base class for GCCAsmStmt and MSAsmStmt.
typedef llvm::iterator_range<const_inputs_iterator> clang::AsmStmt::inputs_const_range |
typedef llvm::iterator_range<inputs_iterator> clang::AsmStmt::inputs_range |
typedef llvm::iterator_range<const_outputs_iterator> clang::AsmStmt::outputs_const_range |
typedef llvm::iterator_range<outputs_iterator> clang::AsmStmt::outputs_range |
clang::AsmStmt::AsmStmt | ( | StmtClass | SC, |
SourceLocation | asmloc, | ||
bool | issimple, | ||
bool | isvolatile, | ||
unsigned | numoutputs, | ||
unsigned | numinputs, | ||
unsigned | numclobbers | ||
) | [inline, protected] |
clang::AsmStmt::AsmStmt | ( | StmtClass | SC, |
EmptyShell | Empty | ||
) | [inline, explicit] |
inputs_iterator clang::AsmStmt::begin_inputs | ( | ) | [inline] |
const_inputs_iterator clang::AsmStmt::begin_inputs | ( | ) | const [inline] |
Definition at line 1498 of file Stmt.h.
References Exprs, and NumOutputs.
outputs_iterator clang::AsmStmt::begin_outputs | ( | ) | [inline] |
const_outputs_iterator clang::AsmStmt::begin_outputs | ( | ) | const [inline] |
child_range clang::AsmStmt::children | ( | ) | [inline] |
Reimplemented from clang::Stmt.
Reimplemented in clang::MSAsmStmt.
Definition at line 1537 of file Stmt.h.
References Exprs, NumInputs, and NumOutputs.
static bool clang::AsmStmt::classof | ( | const Stmt * | T | ) | [inline, static] |
Reimplemented in clang::MSAsmStmt, and clang::GCCAsmStmt.
Definition at line 1476 of file Stmt.h.
References clang::Stmt::getStmtClass().
inputs_iterator clang::AsmStmt::end_inputs | ( | ) | [inline] |
const_inputs_iterator clang::AsmStmt::end_inputs | ( | ) | const [inline] |
Definition at line 1502 of file Stmt.h.
References Exprs, NumInputs, and NumOutputs.
outputs_iterator clang::AsmStmt::end_outputs | ( | ) | [inline] |
const_outputs_iterator clang::AsmStmt::end_outputs | ( | ) | const [inline] |
Definition at line 1530 of file Stmt.h.
References Exprs, and NumOutputs.
std::string AsmStmt::generateAsmString | ( | const ASTContext & | C | ) | const |
Assemble final IR asm string.
Reimplemented in clang::MSAsmStmt, and clang::GCCAsmStmt.
Definition at line 322 of file Stmt.cpp.
Referenced by clang::CodeGen::CodeGenFunction::EmitAsmStmt().
SourceLocation clang::AsmStmt::getAsmLoc | ( | ) | const [inline] |
Definition at line 1422 of file Stmt.h.
References AsmLoc.
Referenced by clang::CodeGen::CodeGenFunction::EmitAsmStmt().
StringRef AsmStmt::getClobber | ( | unsigned | i | ) | const |
Reimplemented in clang::MSAsmStmt, and clang::GCCAsmStmt.
Definition at line 362 of file Stmt.cpp.
Referenced by clang::CodeGen::CodeGenFunction::EmitAsmStmt().
StringRef AsmStmt::getInputConstraint | ( | unsigned | i | ) | const |
getInputConstraint - Return the specified input constraint. Unlike output constraints, these can be empty.
Reimplemented in clang::MSAsmStmt, and clang::GCCAsmStmt.
Definition at line 346 of file Stmt.cpp.
Referenced by clang::CodeGen::CodeGenFunction::EmitAsmStmt().
const Expr * AsmStmt::getInputExpr | ( | unsigned | i | ) | const |
Reimplemented in clang::MSAsmStmt, and clang::GCCAsmStmt.
Definition at line 354 of file Stmt.cpp.
Referenced by clang::CodeGen::CodeGenFunction::EmitAsmStmt().
SourceLocation clang::AsmStmt::getLocEnd | ( | ) | const [inline] |
Reimplemented from clang::Stmt.
Reimplemented in clang::MSAsmStmt, and clang::GCCAsmStmt.
SourceLocation clang::AsmStmt::getLocStart | ( | ) | const [inline] |
Reimplemented from clang::Stmt.
Reimplemented in clang::MSAsmStmt, and clang::GCCAsmStmt.
unsigned clang::AsmStmt::getNumClobbers | ( | ) | const [inline] |
Definition at line 1473 of file Stmt.h.
References NumClobbers.
Referenced by clang::CodeGen::CodeGenFunction::EmitAsmStmt().
unsigned clang::AsmStmt::getNumInputs | ( | ) | const [inline] |
Definition at line 1463 of file Stmt.h.
References NumInputs.
Referenced by clang::Sema::ActOnGCCAsmStmt(), clang::GCCAsmStmt::AnalyzeAsmString(), clang::CodeGen::CodeGenFunction::EmitAsmStmt(), and clang::GCCAsmStmt::getNamedOperand().
unsigned clang::AsmStmt::getNumOutputs | ( | ) | const [inline] |
Definition at line 1441 of file Stmt.h.
References NumOutputs.
Referenced by clang::Sema::ActOnGCCAsmStmt(), clang::GCCAsmStmt::AnalyzeAsmString(), clang::CodeGen::CodeGenFunction::EmitAsmStmt(), clang::GCCAsmStmt::getNamedOperand(), and getNumPlusOperands().
unsigned AsmStmt::getNumPlusOperands | ( | ) | const |
getNumPlusOperands - Return the number of output operands that have a "+" constraint.
Definition at line 372 of file Stmt.cpp.
References getNumOutputs(), and isOutputPlusConstraint().
Referenced by clang::GCCAsmStmt::AnalyzeAsmString().
StringRef AsmStmt::getOutputConstraint | ( | unsigned | i | ) | const |
getOutputConstraint - Return the constraint string for the specified output operand. All output constraints are known to be non-empty (either '=' or '+').
Reimplemented in clang::MSAsmStmt, and clang::GCCAsmStmt.
Definition at line 330 of file Stmt.cpp.
Referenced by clang::CodeGen::CodeGenFunction::EmitAsmStmt(), and isOutputPlusConstraint().
const Expr * AsmStmt::getOutputExpr | ( | unsigned | i | ) | const |
Reimplemented in clang::MSAsmStmt, and clang::GCCAsmStmt.
Definition at line 338 of file Stmt.cpp.
Referenced by clang::CodeGen::CodeGenFunction::EmitAsmStmt().
inputs_range clang::AsmStmt::inputs | ( | ) | [inline] |
Definition at line 1496 of file Stmt.h.
References begin_inputs(), and end_inputs().
inputs_const_range clang::AsmStmt::inputs | ( | ) | const [inline] |
Definition at line 1506 of file Stmt.h.
References begin_inputs(), and end_inputs().
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 1451 of file Stmt.h.
References getOutputConstraint().
Referenced by getNumPlusOperands().
bool clang::AsmStmt::isSimple | ( | ) | const [inline] |
Definition at line 1425 of file Stmt.h.
References IsSimple.
Referenced by clang::GCCAsmStmt::AnalyzeAsmString().
bool clang::AsmStmt::isVolatile | ( | ) | const [inline] |
Definition at line 1428 of file Stmt.h.
References IsVolatile.
Referenced by clang::CodeGen::CodeGenFunction::EmitAsmStmt().
outputs_range clang::AsmStmt::outputs | ( | ) | [inline] |
Definition at line 1523 of file Stmt.h.
References begin_outputs(), and end_outputs().
Referenced by clang::ento::ExprEngine::VisitGCCAsmStmt().
outputs_const_range clang::AsmStmt::outputs | ( | ) | const [inline] |
Definition at line 1533 of file Stmt.h.
References begin_outputs(), and end_outputs().
void clang::AsmStmt::setAsmLoc | ( | SourceLocation | L | ) | [inline] |
void clang::AsmStmt::setSimple | ( | bool | V | ) | [inline] |
void clang::AsmStmt::setVolatile | ( | bool | V | ) | [inline] |
Definition at line 1429 of file Stmt.h.
References IsVolatile.
friend class ASTStmtReader [friend] |
Reimplemented from clang::Stmt.
Reimplemented in clang::MSAsmStmt, and clang::GCCAsmStmt.
SourceLocation clang::AsmStmt::AsmLoc [protected] |
Definition at line 1395 of file Stmt.h.
Referenced by getAsmLoc(), clang::GCCAsmStmt::getLocStart(), clang::MSAsmStmt::getLocStart(), and setAsmLoc().
Stmt** clang::AsmStmt::Exprs [protected] |
Definition at line 1408 of file Stmt.h.
Referenced by begin_inputs(), begin_outputs(), children(), clang::MSAsmStmt::children(), end_inputs(), end_outputs(), clang::MSAsmStmt::getAllExprs(), clang::GCCAsmStmt::getInputExpr(), clang::GCCAsmStmt::getOutputExpr(), and clang::GCCAsmStmt::setInputExpr().
bool clang::AsmStmt::IsSimple [protected] |
True if the assembly statement does not have any input or output operands.
Definition at line 1398 of file Stmt.h.
Referenced by isSimple(), and setSimple().
bool clang::AsmStmt::IsVolatile [protected] |
If true, treat this inline assembly as having side effects. This assembly statement should not be optimized, deleted or moved.
Definition at line 1402 of file Stmt.h.
Referenced by isVolatile(), and setVolatile().
unsigned clang::AsmStmt::NumClobbers [protected] |
Definition at line 1406 of file Stmt.h.
Referenced by clang::MSAsmStmt::getClobbers(), and getNumClobbers().
unsigned clang::AsmStmt::NumInputs [protected] |
Definition at line 1405 of file Stmt.h.
Referenced by children(), clang::MSAsmStmt::children(), end_inputs(), clang::GCCAsmStmt::GCCAsmStmt(), clang::MSAsmStmt::getAllConstraints(), clang::MSAsmStmt::getAllExprs(), clang::MSAsmStmt::getInputConstraint(), and getNumInputs().
unsigned clang::AsmStmt::NumOutputs [protected] |
Definition at line 1404 of file Stmt.h.
Referenced by begin_inputs(), children(), clang::MSAsmStmt::children(), end_inputs(), end_outputs(), clang::MSAsmStmt::getAllConstraints(), clang::MSAsmStmt::getAllExprs(), clang::MSAsmStmt::getInputConstraint(), clang::GCCAsmStmt::getInputConstraintLiteral(), clang::GCCAsmStmt::getInputExpr(), clang::MSAsmStmt::getInputExpr(), clang::GCCAsmStmt::getInputIdentifier(), getNumOutputs(), clang::MSAsmStmt::getOutputConstraint(), clang::GCCAsmStmt::setInputExpr(), and clang::MSAsmStmt::setInputExpr().