|
tvm
|
TIR specific transformation passes. More...
#include <tvm/ir/function.h>#include <tvm/ir/prim/expr.h>#include <tvm/ir/transform.h>#include <tvm/target/target.h>#include <tvm/tirx/function.h>#include <string>#include <vector>Go to the source code of this file.
Namespaces | |
| namespace | tvm |
| An object that builds and maintains block scope and StmtSref mapping for Dependence analysis. | |
| namespace | tvm::tirx |
| Backend-defined execution hierarchy nodes shared by layouts and tile calls. | |
| namespace | tvm::tirx::transform |
Functions | |
| TVM_TIRX_DLL Pass | tvm::tirx::transform::DecorateDeviceScope () |
| Wrap a function body in a device scope region. | |
| TVM_TIRX_DLL Pass | tvm::tirx::transform::CreateFunctionPass (std::function< ffi::Optional< Function >(Function, IRModule, PassContext)> pass_func, int opt_level, ffi::String name) |
| TVM_TIRX_DLL Pass | tvm::tirx::transform::VectorizeLoop (bool enable_vectorize=true) |
| Lower vectorization loops. | |
| TVM_TIRX_DLL Pass | tvm::tirx::transform::StorageRewrite () |
| Rewrite storage allocation pattern. Moves the allocation to outer most possible scope. Trying to share space between allocations to make a static allocation plan when possible. | |
| TVM_TIRX_DLL Pass | tvm::tirx::transform::UnrollLoop () |
| unroll the constant loop marked by unroll. This pass also automatically attach pragma unroll tag to loops which meets the standard. | |
| TVM_TIRX_DLL Pass | tvm::tirx::transform::RemoveNoOp () |
| Remove No Op from the Stmt. | |
| TVM_TIRX_DLL Pass | tvm::tirx::transform::HoistIf () |
| Hoist loop-invariant If statements outside eligible loops. | |
| TVM_TIRX_DLL Pass | tvm::tirx::transform::RenormalizeSplitPattern () |
| Renormalize the split pattern from floordiv(floormod()) to floormod(floordiv()). | |
| TVM_TIRX_DLL Pass | tvm::tirx::transform::StmtSimplify () |
| Run statement-level arithmetic simplifications on the TIR Function. | |
| TVM_TIRX_DLL Pass | tvm::tirx::transform::ConvertSSA () |
| Convert an IRModule to be SSA form. | |
| TVM_TIRX_DLL Pass | tvm::tirx::transform::LowerThreadAllreduce () |
| Lower cross-thread reductions to target-specific communication. | |
| TVM_TIRX_DLL Pass | tvm::tirx::transform::MakePackedAPI () |
| Transform the high-level Function to a low-level version that can be used as an API function. | |
| TVM_TIRX_DLL Pass | tvm::tirx::transform::SplitHostDevice () |
| Annotate, split, and lower host/device functions. | |
| TVM_TIRX_DLL Pass | tvm::tirx::transform::SkipAssert () |
| skip assert stmt. | |
| TVM_TIRX_DLL Pass | tvm::tirx::transform::LowerTVMBuiltin () |
| Lower builtin intrinsics. | |
| TVM_TIRX_DLL Pass | tvm::tirx::transform::LowerIntrin () |
| Lower the target specific function intrinsics in each of the function. | |
| TVM_TIRX_DLL Pass | tvm::tirx::transform::LowerWarpMemory () |
| Lower warp memory access to low-level device related function calls. | |
| TVM_TIRX_DLL Pass | tvm::tirx::transform::NarrowDataType (int target_bits) |
| Narrow down PrimExpr datatype in stmt to target_bits. | |
| TVM_TIRX_DLL Pass | tvm::tirx::transform::ForceNarrowIndexToInt32 () |
| Force to narrow down indexing expressions and integer tensors to int32 dtype. | |
| TVM_TIRX_DLL Pass | tvm::tirx::transform::BF16ComputeLegalize () |
| Legalize bf16 compute Ops. Add a cast to fp32 before Ops, then add a cast back to bf16. | |
| TVM_TIRX_DLL Pass | tvm::tirx::transform::FP8ComputeLegalize (ffi::String promote_dtype="float16") |
| Legalize fp8 compute Ops. Add a cast to fp16/fp32 before Ops, then add a cast back to fp8. | |
| TVM_TIRX_DLL Pass | tvm::tirx::transform::BF16StorageLegalize () |
| Legalize bf16 storage types to u16. | |
| TVM_TIRX_DLL Pass | tvm::tirx::transform::FP8StorageLegalize () |
| Legalize fp8 storage types to u8. | |
| TVM_TIRX_DLL Pass | tvm::tirx::transform::PointerValueTypeRewrite () |
| Rewrite the pointer content type of arguments, as well as Alloc internal to the function to use the most frequently accessed type for load/store to avoid pointer casting in backend when possible. | |
| TVM_TIRX_DLL Pass | tvm::tirx::transform::FlattenTensor () |
| Flatten the multi-dimensional TensorLoad and TensorStore to single dimensional TensorLoad/TensorStore for the TIR not contains opaque block. | |
| TVM_TIRX_DLL Pass | tvm::tirx::transform::CommonSubexprElim () |
| Implements Common Subexpression Elimination (CSE) for TIR which introduces Bind statements for duplicated sub-expressions. | |
| TVM_TIRX_DLL Pass | tvm::tirx::transform::BindTarget (Target target) |
| Annotate a Function with a given target. | |
| TVM_TIRX_DLL Pass | tvm::tirx::transform::AnnotateEntryFunc () |
| Set a Function as the entry point if it is only function in IRModule. | |
| TVM_TIRX_DLL Pass | tvm::tirx::transform::Filter (ffi::TypedFunction< bool(Function)> fcond) |
| Filter Functions with a given condition. | |
| TVM_TIRX_DLL Pass | tvm::tirx::transform::TileDispatch () |
| Lower TIRx op calls using registered op dispatchers for the given target. | |
| TVM_TIRX_DLL Pass | tvm::tirx::transform::LowerTIRxCleanup () |
| Finalize TIRx lowering by applying layout rewriters and cleanup passes. | |
| TVM_TIRX_DLL Pass | tvm::tirx::transform::LowerTIRx () |
| Lower the TIR to a lower level IR for the given target. | |
TIR specific transformation passes.