| 
    clang 22.0.0git
    
   | 
 
This represents a Microsoft inline-assembly statement extension. More...
#include "clang/AST/Stmt.h"
Public Member Functions | |
| MSAsmStmt (const ASTContext &C, SourceLocation asmloc, SourceLocation lbraceloc, bool issimple, bool isvolatile, ArrayRef< Token > asmtoks, unsigned numoutputs, unsigned numinputs, ArrayRef< StringRef > constraints, ArrayRef< Expr * > exprs, StringRef asmstr, ArrayRef< StringRef > clobbers, SourceLocation endloc) | |
| MSAsmStmt (EmptyShell Empty) | |
| Build an empty MS-style inline-assembly statement.   | |
| SourceLocation | getLBraceLoc () const | 
| void | setLBraceLoc (SourceLocation L) | 
| SourceLocation | getEndLoc () const | 
| void | setEndLoc (SourceLocation L) | 
| bool | hasBraces () const | 
| unsigned | getNumAsmToks () | 
| Token * | getAsmToks () | 
| StringRef | getAsmString () const | 
| std::string | generateAsmString (const ASTContext &C) const | 
| Assemble final IR asm string.   | |
| StringRef | getOutputConstraint (unsigned i) const | 
| Expr * | getOutputExpr (unsigned i) | 
| const Expr * | getOutputExpr (unsigned i) const | 
| StringRef | getInputConstraint (unsigned i) const | 
| Expr * | getInputExpr (unsigned i) | 
| void | setInputExpr (unsigned i, Expr *E) | 
| const Expr * | getInputExpr (unsigned i) const | 
| ArrayRef< StringRef > | getAllConstraints () const | 
| ArrayRef< StringRef > | getClobbers () const | 
| ArrayRef< Expr * > | getAllExprs () const | 
| StringRef | getClobber (unsigned i) const | 
| SourceLocation | getBeginLoc () const LLVM_READONLY | 
| child_range | children () | 
| const_child_range | children () const | 
| Public Member Functions inherited from clang::AsmStmt | |
| AsmStmt (StmtClass SC, EmptyShell Empty) | |
| Build an empty inline-assembly statement.   | |
| SourceLocation | getAsmLoc () const | 
| void | setAsmLoc (SourceLocation L) | 
| bool | isSimple () const | 
| void | setSimple (bool V) | 
| bool | isVolatile () const | 
| void | setVolatile (bool V) | 
| SourceLocation | getBeginLoc () const LLVM_READONLY | 
| SourceLocation | getEndLoc () const LLVM_READONLY | 
| std::string | generateAsmString (const ASTContext &C) const | 
| Assemble final IR asm string.   | |
| unsigned | getNumOutputs () const | 
| std::string | getOutputConstraint (unsigned i) const | 
| getOutputConstraint - Return the constraint string for the specified output operand.   | |
| 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).   | |
| const Expr * | getOutputExpr (unsigned i) const | 
| unsigned | getNumPlusOperands () const | 
| getNumPlusOperands - Return the number of output operands that have a "+" constraint.   | |
| unsigned | getNumInputs () const | 
| std::string | getInputConstraint (unsigned i) const | 
| getInputConstraint - Return the specified input constraint.   | |
| const Expr * | getInputExpr (unsigned i) const | 
| unsigned | getNumClobbers () const | 
| std::string | 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 () | 
| const_child_range | children () const | 
| Public Member Functions inherited from clang::Stmt | |
| void * | operator new (size_t bytes, const ASTContext &C, unsigned alignment=8) | 
| void * | operator new (size_t bytes, const ASTContext *C, unsigned alignment=8) | 
| void * | operator new (size_t bytes, void *mem) noexcept | 
| void | operator delete (void *, const ASTContext &, unsigned) noexcept | 
| void | operator delete (void *, const ASTContext *, unsigned) noexcept | 
| void | operator delete (void *, size_t) noexcept | 
| void | operator delete (void *, void *) noexcept | 
| Stmt ()=delete | |
| Stmt (const Stmt &)=delete | |
| Stmt (Stmt &&)=delete | |
| Stmt & | operator= (const Stmt &)=delete | 
| Stmt & | operator= (Stmt &&)=delete | 
| Stmt (StmtClass SC) | |
| StmtClass | getStmtClass () const | 
| const char * | getStmtClassName () const | 
| SourceRange | getSourceRange () const LLVM_READONLY | 
| SourceLocation tokens are not useful in isolation - they are low level value objects created/interpreted by SourceManager.   | |
| SourceLocation | getBeginLoc () const LLVM_READONLY | 
| SourceLocation | getEndLoc () const LLVM_READONLY | 
| void | dump () const | 
Dumps the specified AST fragment and all subtrees to llvm::errs().   | |
| void | dump (raw_ostream &OS, const ASTContext &Context) const | 
| int64_t | getID (const ASTContext &Context) const | 
| void | dumpColor () const | 
| dumpColor - same as dump(), but forces color highlighting.   | |
| void | dumpPretty (const ASTContext &Context) const | 
| dumpPretty/printPretty - These two methods do a "pretty print" of the AST back to its original source language syntax.   | |
| void | printPretty (raw_ostream &OS, PrinterHelper *Helper, const PrintingPolicy &Policy, unsigned Indentation=0, StringRef NewlineSymbol="\n", const ASTContext *Context=nullptr) const | 
| void | printPrettyControlled (raw_ostream &OS, PrinterHelper *Helper, const PrintingPolicy &Policy, unsigned Indentation=0, StringRef NewlineSymbol="\n", const ASTContext *Context=nullptr) const | 
| void | printJson (raw_ostream &Out, PrinterHelper *Helper, const PrintingPolicy &Policy, bool AddQuotes) const | 
| Pretty-prints in JSON format.   | |
| void | viewAST () const | 
| viewAST - Visualize an AST rooted at this Stmt* using GraphViz.   | |
| Stmt * | IgnoreContainers (bool IgnoreCaptured=false) | 
| Skip no-op (attributed, compound) container stmts and skip captured stmt at the top, if IgnoreCaptured is true.   | |
| const Stmt * | IgnoreContainers (bool IgnoreCaptured=false) const | 
| const Stmt * | stripLabelLikeStatements () const | 
| Strip off all label-like statements.   | |
| Stmt * | stripLabelLikeStatements () | 
| child_range | children () | 
| const_child_range | children () const | 
| child_iterator | child_begin () | 
| child_iterator | child_end () | 
| const_child_iterator | child_begin () const | 
| const_child_iterator | child_end () const | 
| void | Profile (llvm::FoldingSetNodeID &ID, const ASTContext &Context, bool Canonical, bool ProfileLambdaExpr=false) const | 
| Produce a unique representation of the given statement.   | |
| void | ProcessODRHash (llvm::FoldingSetNodeID &ID, ODRHash &Hash) const | 
| Calculate a unique representation for a statement that is stable across compiler invocations.   | |
Static Public Member Functions | |
| static bool | classof (const Stmt *T) | 
| Static Public Member Functions inherited from clang::AsmStmt | |
| static bool | classof (const Stmt *T) | 
| Static Public Member Functions inherited from clang::Stmt | |
| static void | addStmtClass (const StmtClass s) | 
| static void | EnableStatistics () | 
| static void | PrintStats () | 
| static Likelihood | getLikelihood (ArrayRef< const Attr * > Attrs) | 
| static Likelihood | getLikelihood (const Stmt *S) | 
| static const Attr * | getLikelihoodAttr (const Stmt *S) | 
| static Likelihood | getLikelihood (const Stmt *Then, const Stmt *Else) | 
| static std::tuple< bool, const Attr *, const Attr * > | determineLikelihoodConflict (const Stmt *Then, const Stmt *Else) | 
Friends | |
| class | ASTStmtReader | 
This represents a Microsoft inline-assembly statement extension.
| MSAsmStmt::MSAsmStmt | ( | const ASTContext & | C, | 
| SourceLocation | asmloc, | ||
| SourceLocation | lbraceloc, | ||
| bool | issimple, | ||
| bool | isvolatile, | ||
| ArrayRef< Token > | asmtoks, | ||
| unsigned | numoutputs, | ||
| unsigned | numinputs, | ||
| ArrayRef< StringRef > | constraints, | ||
| ArrayRef< Expr * > | exprs, | ||
| StringRef | asmstr, | ||
| ArrayRef< StringRef > | clobbers, | ||
| SourceLocation | endloc ) | 
Definition at line 922 of file Stmt.cpp.
References clang::AsmStmt::AsmStmt(), and clang::C.
Referenced by getInputExpr(), and getOutputExpr().
      
  | 
  inlineexplicit | 
Build an empty MS-style inline-assembly statement.
Definition at line 3635 of file Stmt.h.
References clang::AsmStmt::AsmStmt(), and clang::Empty.
      
  | 
  inline | 
Definition at line 3706 of file Stmt.h.
References clang::AsmStmt::Exprs, clang::AsmStmt::NumInputs, and clang::AsmStmt::NumOutputs.
      
  | 
  inline | 
Definition at line 3710 of file Stmt.h.
References clang::AsmStmt::Exprs, clang::AsmStmt::NumInputs, and clang::AsmStmt::NumOutputs.
| std::string MSAsmStmt::generateAsmString | ( | const ASTContext & | C | ) | const | 
      
  | 
  inline | 
Definition at line 3682 of file Stmt.h.
References clang::AsmStmt::NumInputs, and clang::AsmStmt::NumOutputs.
Definition at line 3688 of file Stmt.h.
References clang::AsmStmt::Exprs, clang::AsmStmt::NumInputs, and clang::AsmStmt::NumOutputs.
      
  | 
  inline | 
Definition at line 3700 of file Stmt.h.
References clang::AsmStmt::AsmLoc.
      
  | 
  inline | 
Definition at line 3692 of file Stmt.h.
References getClobbers().
      
  | 
  inline | 
Definition at line 3686 of file Stmt.h.
References clang::AsmStmt::NumClobbers.
Referenced by getClobber().
      
  | 
  inline | 
      
  | 
  inline | 
Definition at line 3668 of file Stmt.h.
References clang::AsmStmt::NumInputs, and clang::AsmStmt::NumOutputs.
Definition at line 885 of file Stmt.cpp.
References clang::cast(), clang::AsmStmt::Exprs, and clang::AsmStmt::NumOutputs.
Referenced by getInputExpr().
Definition at line 3676 of file Stmt.h.
References getInputExpr(), and MSAsmStmt().
      
  | 
  inline | 
      
  | 
  inline | 
Definition at line 3655 of file Stmt.h.
References clang::AsmStmt::NumOutputs.
Definition at line 881 of file Stmt.cpp.
References clang::cast(), and clang::AsmStmt::Exprs.
Referenced by getOutputExpr().
Definition at line 3662 of file Stmt.h.
References getOutputExpr(), and MSAsmStmt().
      
  | 
  inline | 
Definition at line 889 of file Stmt.cpp.
References clang::AsmStmt::Exprs, and clang::AsmStmt::NumOutputs.
      
  | 
  inline | 
      
  | 
  friend | 
Definition at line 3615 of file Stmt.h.
References ASTStmtReader, and clang::C.
Referenced by ASTStmtReader.