Intel® Implicit SPMD Program Compiler (Intel® ISPC)
1.13.0
|
#include <stmt.h>
Public Member Functions | |
CaseStmt (int value, Stmt *stmt, SourcePos pos) | |
void | EmitCode (FunctionEmitContext *ctx) const |
void | Print (int indent) const |
Stmt * | TypeCheck () |
int | EstimateCost () const |
Public Member Functions inherited from Stmt | |
Stmt (SourcePos p, unsigned scid) | |
virtual Stmt * | Optimize () |
Public Member Functions inherited from ASTNode | |
ASTNode (SourcePos p, unsigned scid) | |
virtual | ~ASTNode () |
unsigned | getValueID () const |
Static Public Member Functions | |
static bool | classof (CaseStmt const *) |
static bool | classof (ASTNode const *N) |
Static Public Member Functions inherited from Stmt | |
static bool | classof (Stmt const *) |
static bool | classof (ASTNode const *N) |
Static Public Member Functions inherited from ASTNode | |
static bool | classof (ASTNode const *) |
Public Attributes | |
const int | value |
Stmt * | stmts |
Public Attributes inherited from ASTNode | |
SourcePos | pos |
Additional Inherited Members | |
Public Types inherited from ASTNode | |
enum | ASTNodeTy { AddressOfExprID, AssignExprID, BinaryExprID, ConstExprID, DerefExprID, PtrDerefExprID, RefDerefExprID, ExprListID, FunctionCallExprID, FunctionSymbolExprID, IndexExprID, StructMemberExprID, VectorMemberExprID, NewExprID, NullPointerExprID, ReferenceExprID, SelectExprID, SizeOfExprID, SymbolExprID, SyncExprID, TypeCastExprID, UnaryExprID, MaxExprID, AssertStmtID, BreakStmtID, CaseStmtID, ContinueStmtID, DeclStmtID, DefaultStmtID, DeleteStmtID, DoStmtID, ExprStmtID, ForeachActiveStmtID, ForeachStmtID, ForeachUniqueStmtID, ForStmtID, GotoStmtID, IfStmtID, LabeledStmtID, PrintStmtID, ReturnStmtID, StmtListID, SwitchStmtID, UnmaskedStmtID } |
Statement corresponding to a "case" label in the program. In addition to the value associated with the "case", this statement also stores the statements following it.
|
inlinestatic |
|
inlinestatic |
Definition at line 345 of file stmt.h.
References ASTNode::CaseStmtID, Stmt::EmitCode(), ASTNode::EstimateCost(), ASTNode::getValueID(), Stmt::Print(), and Stmt::TypeCheck().
|
virtual |
Emit LLVM IR for the statement, using the FunctionEmitContext to create the necessary instructions.
Implements Stmt.
Definition at line 2150 of file stmt.cpp.
References FunctionEmitContext::EmitCaseLabel(), Stmt::EmitCode(), lCheckMask(), ASTNode::pos, stmts, and value.
|
virtual |
|
virtual |
Print a representation of the statement (and any children AST nodes) to standard output. This method is used for debuggins.
Implements Stmt.
Definition at line 2156 of file stmt.cpp.
References ASTNode::pos, Stmt::Print(), SourcePos::Print(), stmts, and value.
|
virtual |
Stmt* CaseStmt::stmts |
Definition at line 355 of file stmt.h.
Referenced by CaseStmt(), EmitCode(), Print(), and WalkAST().
const int CaseStmt::value |
Integer value after the "case" statement
Definition at line 354 of file stmt.h.
Referenced by EmitCode(), lSwitchASTPreVisit(), and Print().