|
tvm
|
A mutator works in unnormalized form. More...
#include <expr_functor.h>
Protected Member Functions | |
| bool | VisitAndCheckTypeFieldUnchanged (const ffi::ObjectRef &ty) |
| Check whether VisitExprDepTypeField change ty. | |
A mutator works in unnormalized form.
ExprMutatorBase expects input AST to be in the unnormalized form, i.e., ty of expressions can be nullptr, and the expressions may nest(and as a result the AST is not in ANF).
|
inlineprotected |
Check whether VisitExprDepTypeField change ty.
|
virtual |
Mutate BindingBlock.
| block | The binding block to be visited. |
Reimplemented in tvm::relax::ExprMutator.
|
override |
|
override |
|
override |
|
override |
|
override |
|
override |
|
override |
|
override |
|
override |
|
override |
|
override |
|
override |
|
override |
|
override |
|
override |
|
override |
|
override |
|
override |
|
override |
|
override |
|
override |
|
override |
|
override |
|
override |
|
override |
|
override |
|
override |
|
override |
|
override |
|
override |
|
override |
|
override |
|
override |
|
override |
|
override |
|
override |
|
override |
Visit ty that may recursively contain Expr/PrimExpr.
By default, this function recurse into type such as TensorType and ShapeType and call VisitExpr/VisitTypePrimExprField accordingly. It does not recurse into FunctionType as it does not contain Expr defined in the current scope.
Pass writers can overload this function to change to other behaviors. For example, if in Expr in Type won't change, we can override this function by an identity function.
| ty | Input type field. |