code: def test_inline_no_ops():
      input = relay.var("input", shape=(12, 12), dtype="uint8")
      slice = relay.strided_slice(input, [0, 0], [6, 6])
      relu1 = relay.nn.relu(slice)
      reshape = relay.reshape(relu1, (36,))
      relu2 = relay.nn.relu(reshape)
      func = relay.Function(relay.analysis.free_vars(relu2), relu2)
      func = run_opt_pass(func, relay.transform.InferType())
  
      cached_func = lower_to_te(func)
      sch = te.create_schedule([cached_func.outputs[0].op])
      inline_no_ops(cached_func, sch)
      reshape_tensor = cached_func.outputs[0].op.input_tensors[0]
      slice_tensor = reshape_tensor.op.input_tensors[
          0
      ].op.input_tensors[0]
      assert sch[reshape_tensor].attach_type == AttachType.kInline
      assert sch[slice_tensor].attach_type == AttachType.kInline
  
imports: import pytest
  import tvm
  from tvm.script import tir
  from tvm import relay
  from tvm.relay.testing import run_opt_pass
  from tvm import te, topi
  from tvm.relay.backend.contrib.ethosu.tir.scheduler import tile_nd, schedule_pragmas, inline_no_ops, total_cascader, copy_constants, schedule_cache_reads, copy_luts
  from tvm.relay.backend.contrib.ethosu.tir.compiler import lower_to_te, extract_constants, _lower_to_tir
  from .infra import AttachType, make_ethosu_conv2d, make_ethosu_identity, make_ethosu_binary_elementwise
label_desc: Use image node_id 4 for calling a global function with example usage: test_inline_no_ops() without return types