Intel® Implicit SPMD Program Compiler (Intel® ISPC)
1.13.0
|
#include <stmt.h>
Public Member Functions | |
DeleteStmt (Expr *e, SourcePos p) | |
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 (DeleteStmt 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 | |
Expr * | expr |
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 } |
|
inlinestatic |
|
inlinestatic |
Definition at line 524 of file stmt.h.
References ASTNode::DeleteStmtID, 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 2850 of file stmt.cpp.
References AssertPos, FunctionEmitContext::BitCastInst(), FunctionEmitContext::CallInst(), Module::errorCount, expr, g, FunctionEmitContext::GetCurrentBasicBlock(), Expr::GetType(), Expr::GetValue(), LLVMTypes::Int64VectorType, Target::is32Bit(), Type::IsUniformType(), m, Module::module, ASTNode::pos, Globals::target, LLVMTypes::VoidPointerType, and FunctionEmitContext::ZExtInst().
|
virtual |
Estimate the execution cost of the node (not including the cost of the children. The value returned should be based on the COST_* enumerant values defined in ispc.h.
Implements ASTNode.
Definition at line 2916 of file stmt.cpp.
References COST_DELETE.
|
virtual |
|
virtual |
Type checking should be performed by the node when this method is called. In the event of an error, a NULL value may be returned. As with ASTNode::Optimize(), the caller should store the returned pointer in place of the original ASTNode *.
Implements Stmt.
Definition at line 2903 of file stmt.cpp.
References Error(), expr, Type::GetString(), Expr::GetType(), and ASTNode::pos.
Expr* DeleteStmt::expr |
Expression that gives the pointer value to be deleted.
Definition at line 533 of file stmt.h.
Referenced by DeleteStmt(), EmitCode(), TypeCheck(), and WalkAST().