code: def test_postproc_disallow_async_strided_mem_copy_allows():
      mod = Matmul
      sch = tir.Schedule(mod, debug_mask="all")
  
      matmul_block = sch.get_block("matmul")
  
      loops = sch.get_loops(matmul_block)
      cache_read = sch.cache_read(matmul_block, 0, "global.vtcm")
  
      sch.compute_at(cache_read, loops[1])
  
      sch.annotate(loops[1], "software_pipeline_stage", [0, 1])
      sch.annotate(loops[1], "software_pipeline_order", [0, 1])
      sch.annotate(loops[1], "software_pipeline_async_stages", [0])
  
      ctx = _create_context(sch.mod, target=_target())
      sch.mod.show()
      assert ctx.space_generator.postprocs[0].apply(sch)
  
file_path: tvm/tests/python/meta_schedule/test_meta_schedule_postproc_disallow_async_strided_mem_copy.py
imports: import tvm
  from tvm import meta_schedule
  from tvm import tir
  from tvm.script import tir
  from tvm.target import Target
label_desc: Use image node_id 3 for calling a global function with example usage: test_postproc_disallow_async_strided_mem_copy_allows() without return types