Test lower linalg to snitch
test_lower_linalg_to_snitch
OPTIMISE_MEMREF_STREAM_PASSES: tuple[ModulePass, ...] = (canonicalize.CanonicalizePass(), memref_stream_infer_fill.MemRefStreamInferFillPass(), memref_stream_unnest_out_parameters.MemRefStreamUnnestOutParametersPass(), memref_stream_fold_fill.MemRefStreamFoldFillPass(), memref_stream_generalize_fill.MemRefStreamGeneralizeFillPass(), memref_stream_interleave.MemRefStreamInterleavePass(), memref_stream_tile_outer_loops.MemRefStreamTileOuterLoopsPass(target_rank=4), memref_streamify.MemRefStreamifyPass(), convert_memref_stream_to_loops.ConvertMemRefStreamToLoopsPass(), canonicalize.CanonicalizePass(), scf_for_loop_flatten.ScfForLoopFlattenPass())
module-attribute
LOWER_MEMREF_STREAM_TO_SNITCH_STREAM_PASSES: tuple[ModulePass, ...] = (canonicalize.CanonicalizePass(), convert_memref_to_riscv.ConvertMemRefToRiscvPass(), lower_affine.LowerAffinePass(), convert_scf_to_riscv_scf.ConvertScfToRiscvPass(), convert_arith_to_riscv_snitch.ConvertArithToRiscvSnitchPass(), convert_arith_to_riscv.ConvertArithToRiscvPass(), convert_func_to_riscv_func.ConvertFuncToRiscvFuncPass(), convert_memref_stream_to_snitch_stream.ConvertMemRefStreamToSnitchStreamPass(), reconcile_unrealized_casts.ReconcileUnrealizedCastsPass())
module-attribute
LOWER_SNITCH_STREAM_TO_ASM_PASSES: tuple[ModulePass, ...] = (canonicalize.CanonicalizePass(), convert_riscv_scf_for_to_frep.ConvertRiscvScfForToFrepPass(), snitch_allocate_registers.SnitchAllocateRegistersPass(), convert_snitch_stream_to_snitch.ConvertSnitchStreamToSnitch(), lower_snitch.LowerSnitchPass(), canonicalize.CanonicalizePass(), riscv_scf_loop_range_folding.RiscvScfLoopRangeFoldingPass(), canonicalize.CanonicalizePass(), riscv_allocate_registers.RISCVAllocateRegistersPass(add_regalloc_stats=True), canonicalize.CanonicalizePass(), convert_riscv_scf_to_riscv_cf.ConvertRiscvScfToRiscvCfPass(), canonicalize.CanonicalizePass(), riscv_lower_parallel_mov.RISCVLowerParallelMovPass(), canonicalize.CanonicalizePass())
module-attribute
TEST_LOWER_LINALG_TO_SNITCH_PASSES: tuple[ModulePass, ...] = (canonicalize.CanonicalizePass(), convert_linalg_to_memref_stream.ConvertLinalgToMemRefStreamPass(), memref_stream_legalize.MemRefStreamLegalizePass(), *OPTIMISE_MEMREF_STREAM_PASSES, *LOWER_MEMREF_STREAM_TO_SNITCH_STREAM_PASSES, *LOWER_SNITCH_STREAM_TO_ASM_PASSES)
module-attribute
TestLowerLinalgToSnitchPass
dataclass
Bases: ModulePass
A compiler pass used for testing lowering microkernels from linalg generic to snitch assembly.
Source code in xdsl/transforms/test_lower_linalg_to_snitch.py
92 93 94 95 96 97 98 99 100 101 102 103 | |
name = 'test-lower-linalg-to-snitch'
class-attribute
instance-attribute
__init__() -> None
apply(ctx: Context, op: builtin.ModuleOp) -> None
Source code in xdsl/transforms/test_lower_linalg_to_snitch.py
101 102 103 | |