|
| | ExprMutator (ffi::Optional< IRModule > mod=std::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 ExprNode *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 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 | VisitExprFallback_ (const ExprNode *op) override |
| |
| Expr | VisitExpr_ (const StringImmNode *op) override |
| |
| Expr | VisitExpr_ (const DataTypeImmNode *op) override |
| |
| virtual PrimExpr | VisitTypePrimExprField (const PrimExpr &expr) |
| | Used to visit the PrimExpr inside of expressions. More...
|
| |
| virtual Type | VisitExprDepTypeField (const Type &ty) |
| | Visit ty 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 ty of expressions are available.