|
tvm
|
TIR specific transformation passes. More...
#include <tvm/ir/transform.h>#include <tvm/target/target.h>#include <tvm/tirx/expr.h>#include <tvm/tirx/function.h>#include <string>#include <vector>Go to the source code of this file.
Namespaces | |
| tvm | |
| An object that builds and maintains block scope and StmtSref mapping for Dependence analysis. | |
| tvm::tirx | |
| tvm::tirx::transform | |
Functions | |
| Pass | tvm::tirx::transform::CreatePrimFuncPass (std::function< PrimFunc(PrimFunc, IRModule, PassContext)> pass_func, int opt_level, ffi::String name, tvm::ffi::Array< ffi::String > required, bool traceable=false) |
| Pass | tvm::tirx::transform::VectorizeLoop (bool enable_vectorize=true) |
| Lower vectorization loops. More... | |
| 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. More... | |
| 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. More... | |
| Pass | tvm::tirx::transform::RemoveNoOp () |
| Remove No Op from the Stmt. More... | |
| Pass | tvm::tirx::transform::Simplify () |
| Run arithmetic simplifications on the statements and expressions. More... | |
| Pass | tvm::tirx::transform::ConvertSSA () |
| Convert an IRModule to be SSA form. More... | |
| Pass | tvm::tirx::transform::MakePackedAPI () |
| Transform the high-level PrimFunc to a low-level version that can be used as an API function. More... | |
| Pass | tvm::tirx::transform::RemapThreadAxis (ffi::Map< ffi::String, IterVar > axis_map) |
| Remap the thread axis. More... | |
| Pass | tvm::tirx::transform::LowerCustomDatatypes () |
| Lower custom datatypes. More... | |
| Pass | tvm::tirx::transform::AnnotateDeviceRegions () |
| Annotate locations that should be run on the device. More... | |
| Pass | tvm::tirx::transform::SplitHostDevice () |
| Split the function into a host function and device functions. More... | |
| Pass | tvm::tirx::transform::LowerDeviceKernelLaunch () |
| Lower cross-device function calls. More... | |
| Pass | tvm::tirx::transform::SkipAssert () |
| skip assert stmt. More... | |
| Pass | tvm::tirx::transform::LowerTVMBuiltin () |
| Lower builtin intrinsics. More... | |
| Pass | tvm::tirx::transform::LowerIntrin () |
| Lower the target specific function intrinsics in each of the function. More... | |
| Pass | tvm::tirx::transform::LowerWarpMemory () |
| Lower warp memory access to low-level device related function calls. More... | |
| Pass | tvm::tirx::transform::NarrowDataType (int target_bits) |
| Narrow down PrimExpr datatype in stmt to target_bits. More... | |
| Pass | tvm::tirx::transform::ForceNarrowIndexToInt32 () |
| Force to narrow down indexing expressions and integer buffers to int32 dtype. More... | |
| Pass | tvm::tirx::transform::BF16ComputeLegalize () |
| Legalize bf16 compute Ops. Add a cast to fp32 before Ops, then add a cast back to bf16. More... | |
| 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. More... | |
| Pass | tvm::tirx::transform::BF16StorageLegalize () |
| Legalize bf16 storage types to u16. More... | |
| Pass | tvm::tirx::transform::FP8StorageLegalize () |
| Legalize fp8 storage types to u8. More... | |
| Pass | tvm::tirx::transform::InlinePrivateFunctions () |
| Inline calls to private functions. More... | |
| 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. More... | |
| Pass | tvm::tirx::transform::FlattenBuffer () |
| Flatten the multi-dimensional BufferLoad and BufferStore to single dimensional BufferLoad/BufferStore for the TIR not contains opaque block. More... | |
| Pass | tvm::tirx::transform::CommonSubexprElim () |
| Implements Common Subexpression Elimination (CSE) for TIR which introduces Bind statements for duplicated sub-expressions. More... | |
| Pass | tvm::tirx::transform::UnifiedStaticMemoryPlanner () |
| This is the unified static memory planner pass that will plan for memory intra- and inter- PrimFuncs together. The pass requires all the function to be PrimFuncs including the main. More... | |
| Pass | tvm::tirx::transform::BindTarget (Target target) |
| Annotate a PrimFunc with a given target. More... | |
| Pass | tvm::tirx::transform::AnnotateEntryFunc () |
| Set a PrimFunc as the entry point if it is only function in IRModule. More... | |
| Pass | tvm::tirx::transform::Filter (ffi::TypedFunction< bool(PrimFunc)> fcond) |
| Filter PrimFuncs with a given condition. More... | |
TIR specific transformation passes.