|
| ExprMutator (Optional< IRModule > mod=NullOpt) |
|
Expr | VisitExpr (const Expr &expr) override |
|
Expr | VisitExpr_ (const VarNode *op) override |
|
Expr | VisitExpr_ (const DataflowVarNode *op) override |
|
Expr | VisitExpr_ (const FunctionNode *op) override |
|
Expr | VisitExpr_ (const SeqExprNode *op) override |
|
Expr | VisitExpr_ (const IfNode *op) override |
|
virtual void | VisitBinding (const Binding &binding) |
| Generic dispatcher for bindings. More...
|
|
virtual void | VisitBinding_ (const VarBindingNode *binding) |
|
virtual void | VisitBinding_ (const MatchCastNode *binding) |
|
virtual void | VisitBinding_ (const VarBindingNode *binding, const ConstantNode *val) |
|
virtual void | VisitBinding_ (const VarBindingNode *binding, const TupleNode *val) |
|
virtual void | VisitBinding_ (const VarBindingNode *binding, const VarNode *val) |
|
virtual void | VisitBinding_ (const VarBindingNode *binding, const DataflowVarNode *val) |
|
virtual void | VisitBinding_ (const VarBindingNode *binding, const ShapeExprNode *val) |
|
virtual void | VisitBinding_ (const VarBindingNode *binding, const ExternFuncNode *val) |
|
virtual void | VisitBinding_ (const VarBindingNode *binding, const GlobalVarNode *val) |
|
virtual void | VisitBinding_ (const VarBindingNode *binding, const FunctionNode *val) |
|
virtual void | VisitBinding_ (const VarBindingNode *binding, const CallNode *val) |
|
virtual void | VisitBinding_ (const VarBindingNode *binding, const SeqExprNode *val) |
|
virtual void | VisitBinding_ (const VarBindingNode *binding, const IfNode *val) |
|
virtual void | VisitBinding_ (const VarBindingNode *binding, const OpNode *val) |
|
virtual void | VisitBinding_ (const VarBindingNode *binding, const TupleGetItemNode *val) |
|
virtual void | VisitBinding_ (const VarBindingNode *binding, const PrimValueNode *val) |
|
virtual void | VisitBinding_ (const VarBindingNode *binding, const StringImmNode *val) |
|
virtual void | VisitBinding_ (const VarBindingNode *binding, const DataTypeImmNode *val) |
|
virtual BindingBlock | VisitBindingBlock (const BindingBlock &block) override |
| Generic dispatcher for binding blocks. More...
|
|
virtual BindingBlock | VisitBindingBlock_ (const BindingBlockNode *block) |
|
virtual BindingBlock | VisitBindingBlock_ (const DataflowBlockNode *block) |
|
virtual Var | VisitVarDef (const Var &var) |
| Generic dispatcher for rewriting the var definition site. More...
|
|
virtual Var | VisitVarDef_ (const VarNode *var) |
|
virtual Var | VisitVarDef_ (const DataflowVarNode *var) |
|
Expr | VisitExpr_ (const ConstantNode *op) override |
|
Expr | VisitExpr_ (const TupleNode *op) override |
|
Expr | VisitExpr_ (const VarNode *op) override |
|
Expr | VisitExpr_ (const DataflowVarNode *op) override |
|
Expr | VisitExpr_ (const ShapeExprNode *op) override |
|
Expr | VisitExpr_ (const ExternFuncNode *op) override |
|
Expr | VisitExpr_ (const GlobalVarNode *op) override |
|
Expr | VisitExpr_ (const FunctionNode *op) override |
|
Expr | VisitExpr_ (const CallNode *op) override |
|
Expr | VisitExpr_ (const SeqExprNode *op) override |
|
Expr | VisitExpr_ (const IfNode *op) override |
|
Expr | VisitExpr_ (const OpNode *op) override |
|
Expr | VisitExpr_ (const TupleGetItemNode *op) override |
|
Expr | VisitExpr_ (const PrimValueNode *op) override |
|
Expr | VisitExpr_ (const StringImmNode *op) override |
|
Expr | VisitExpr_ (const DataTypeImmNode *op) override |
|
Expr | VisitExpr (const Expr &expr) override |
|
Expr | VisitExpr_ (const ConstantNode *op) override |
|
Expr | VisitExpr_ (const TupleNode *op) override |
|
Expr | VisitExpr_ (const VarNode *op) override |
|
Expr | VisitExpr_ (const DataflowVarNode *op) override |
|
Expr | VisitExpr_ (const ShapeExprNode *op) override |
|
Expr | VisitExpr_ (const ExternFuncNode *op) override |
|
Expr | VisitExpr_ (const GlobalVarNode *op) override |
|
Expr | VisitExpr_ (const FunctionNode *op) override |
|
Expr | VisitExpr_ (const CallNode *op) override |
|
Expr | VisitExpr_ (const SeqExprNode *op) override |
|
Expr | VisitExpr_ (const IfNode *op) override |
|
Expr | VisitExpr_ (const OpNode *op) override |
|
Expr | VisitExpr_ (const TupleGetItemNode *op) override |
|
Expr | VisitExpr_ (const PrimValueNode *op) override |
|
Expr | VisitExpr_ (const StringImmNode *op) override |
|
Expr | VisitExpr_ (const DataTypeImmNode *op) override |
|
virtual PrimExpr | VisitPrimExpr (const PrimExpr &expr) |
| Used to visit the PrimExpr inside of expressions. More...
|
|
virtual StructInfo | VisitExprDepStructInfoField (const StructInfo &struct_info) |
| Visit struct_info that may recursively contain Expr/PrimExpr. More...
|
|
A mutator works in normal form.
ExprMutator expects input AST to be in the normal form, i.e., the expressions are normalized(no nesting and hence the AST is in ANF), and all checked_type_ and shape_ of expressions are available.