virtual int EstimateCost() const =0
ASTNode(SourcePos p, unsigned scid)
virtual ASTNode * TypeCheck()=0
Interface class for statements in the ispc language.
const unsigned char SubclassID
ASTNode * WalkAST(ASTNode *root, ASTPreCallBackFunc preFunc, ASTPostCallBackFunc postFunc, void *data)
Abstract base class for nodes in the abstract syntax tree (AST).
unsigned getValueID() const
bool SafeToRunWithMaskAllOff(ASTNode *root)
virtual ASTNode * Optimize()=0
Representation of a range of positions in a source file.
bool(* ASTPreCallBackFunc)(ASTNode *node, void *data)
static bool classof(ASTNode const *)
std::vector< Function * > functions
Representation of a program symbol.
ASTNode *(* ASTPostCallBackFunc)(ASTNode *node, void *data)
Expr is the abstract base class that defines the interface that all expression types must implement...
Main ispc.header file. Defines Target, Globals and Opt classes.