|
clang
3.8.0
|
AsmStmt is the base class for GCCAsmStmt and MSAsmStmt. More...
#include <Stmt.h>
Public Types | |
| typedef ExprIterator | inputs_iterator |
| typedef ConstExprIterator | const_inputs_iterator |
| typedef llvm::iterator_range < inputs_iterator > | inputs_range |
| typedef llvm::iterator_range < const_inputs_iterator > | inputs_const_range |
| typedef ExprIterator | outputs_iterator |
| typedef ConstExprIterator | const_outputs_iterator |
| typedef llvm::iterator_range < outputs_iterator > | outputs_range |
| typedef llvm::iterator_range < const_outputs_iterator > | outputs_const_range |
Public Member Functions | |
| AsmStmt (StmtClass SC, EmptyShell Empty) | |
| Build an empty inline-assembly statement. More... | |
| SourceLocation | getAsmLoc () const |
| void | setAsmLoc (SourceLocation L) |
| bool | isSimple () const |
| void | setSimple (bool V) |
| bool | isVolatile () const |
| void | setVolatile (bool V) |
| SourceLocation | getLocStart () const LLVM_READONLY |
| SourceLocation | getLocEnd () const LLVM_READONLY |
| std::string | generateAsmString (const ASTContext &C) const |
| Assemble final IR asm string. More... | |
| unsigned | getNumOutputs () const |
| StringRef | getOutputConstraint (unsigned i) const |
| getOutputConstraint - Return the constraint string for the specified output operand. More... | |
| 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). More... | |
| const Expr * | getOutputExpr (unsigned i) const |
| unsigned | getNumPlusOperands () const |
| getNumPlusOperands - Return the number of output operands that have a "+" constraint. More... | |
| unsigned | getNumInputs () const |
| StringRef | getInputConstraint (unsigned i) const |
| getInputConstraint - Return the specified input constraint. More... | |
| const Expr * | getInputExpr (unsigned i) const |
| unsigned | getNumClobbers () const |
| StringRef | 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 () |
Static Public Member Functions | |
| static bool | classof (const Stmt *T) |
Protected Member Functions | |
| AsmStmt (StmtClass SC, SourceLocation asmloc, bool issimple, bool isvolatile, unsigned numoutputs, unsigned numinputs, unsigned numclobbers) | |
Protected Attributes | |
| SourceLocation | AsmLoc |
| bool | IsSimple |
| True if the assembly statement does not have any input or output operands. More... | |
| bool | IsVolatile |
| If true, treat this inline assembly as having side effects. More... | |
| unsigned | NumOutputs |
| unsigned | NumInputs |
| unsigned | NumClobbers |
| Stmt ** | Exprs |
Friends | |
| class | ASTStmtReader |
AsmStmt is the base class for GCCAsmStmt and MSAsmStmt.
| typedef ConstExprIterator clang::AsmStmt::const_inputs_iterator |
| typedef ConstExprIterator clang::AsmStmt::const_outputs_iterator |
| typedef llvm::iterator_range<const_inputs_iterator> clang::AsmStmt::inputs_const_range |
| typedef ExprIterator clang::AsmStmt::inputs_iterator |
| typedef llvm::iterator_range<inputs_iterator> clang::AsmStmt::inputs_range |
| typedef llvm::iterator_range<const_outputs_iterator> clang::AsmStmt::outputs_const_range |
| typedef ExprIterator clang::AsmStmt::outputs_iterator |
| typedef llvm::iterator_range<outputs_iterator> clang::AsmStmt::outputs_range |
|
inlineexplicit |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
| std::string AsmStmt::generateAsmString | ( | const ASTContext & | C | ) | const |
Assemble final IR asm string.
Definition at line 330 of file Stmt.cpp.
Referenced by clang::CodeGen::CodeGenFunction::EmitAsmStmt().
|
inline |
Definition at line 1421 of file Stmt.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitAsmStmt().
| StringRef AsmStmt::getClobber | ( | unsigned | i | ) | const |
Definition at line 370 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.
Definition at line 354 of file Stmt.cpp.
Referenced by clang::CodeGen::CodeGenFunction::EmitAsmStmt().
Definition at line 362 of file Stmt.cpp.
Referenced by clang::CodeGen::CodeGenFunction::EmitAsmStmt().
|
inline |
|
inline |
|
inline |
Definition at line 1472 of file Stmt.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitAsmStmt().
|
inline |
Definition at line 1462 of file Stmt.h.
Referenced by clang::Sema::ActOnGCCAsmStmt(), clang::GCCAsmStmt::AnalyzeAsmString(), clang::CodeGen::CodeGenFunction::EmitAsmStmt(), and clang::GCCAsmStmt::getNamedOperand().
|
inline |
Definition at line 1440 of file Stmt.h.
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 380 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 '+').
Definition at line 338 of file Stmt.cpp.
Referenced by clang::CodeGen::CodeGenFunction::EmitAsmStmt().
Definition at line 346 of file Stmt.cpp.
Referenced by clang::CodeGen::CodeGenFunction::EmitAsmStmt().
|
inline |
|
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 1450 of file Stmt.h.
Referenced by getNumPlusOperands().
|
inline |
Definition at line 1424 of file Stmt.h.
Referenced by clang::GCCAsmStmt::AnalyzeAsmString().
|
inline |
Definition at line 1427 of file Stmt.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitAsmStmt().
|
inline |
Definition at line 1522 of file Stmt.h.
Referenced by clang::ento::ExprEngine::VisitGCCAsmStmt().
|
inline |
|
inline |
|
friend |
|
protected |
|
protected |
Definition at line 1407 of file Stmt.h.
Referenced by clang::GCCAsmStmt::getInputExpr(), clang::GCCAsmStmt::getOutputExpr(), and clang::GCCAsmStmt::setInputExpr().
|
protected |
|
protected |
|
protected |
Definition at line 1404 of file Stmt.h.
Referenced by clang::GCCAsmStmt::GCCAsmStmt().
|
protected |
Definition at line 1403 of file Stmt.h.
Referenced by clang::GCCAsmStmt::getInputExpr(), clang::MSAsmStmt::getInputExpr(), clang::GCCAsmStmt::setInputExpr(), and clang::MSAsmStmt::setInputExpr().
1.8.6