code: def test_in_bounds_conv_llvm(loop_tiling=False):
      HSTR = WSTR = 1
      in_channel = 128
      kernel_height = kernel_width = 3
      out_channel = 64
      batch_size = 1
      in_height = in_width = 64
      out_height = out_width = in_height - kernel_height + 1
      data = te.placeholder(
          (batch_size, in_channel, in_height, in_width), name="data"
      )
      kernel = te.placeholder(
          (kernel_height, kernel_width, in_channel, out_channel),
          name="kernel",
      )
      ic = te.reduce_axis((0, in_channel), name="ic")
      kh = te.reduce_axis((0, kernel_height), name="kh")
      kw = te.reduce_axis((0, kernel_width), name="kw")
      conv = te.compute(
          (batch_size, out_channel, out_height, out_width),
          lambda n, oc, oh, ow: te.sum(
              data[n, ic, oh * HSTR + kh, ow * WSTR + kw]
              * kernel[kh, kw, ic, oc],
              axis=[ic, kh, kw],
          ),
          name="conv2d",
      )
      s = te.create_schedule(conv.op)
  
      n, oc, oh, ow = conv.op.axis
      if loop_tiling:
          oho, owo, ohi, owi = s[conv].tile(oh, ow, 16, 16)
      lowered_func = tvm.lower(
          s, [data, kernel, conv], simple_mode=True
      )
      dev = tvm.cpu(0)
  
      f = tvm.build(s, [data, kernel, conv], "llvm")
      data_input = tvm.nd.array(
          np.random.uniform(
              size=(batch_size, in_channel, in_height, in_width)
          ).astype("float32"),
          dev,
      )
      kernel_input = tvm.nd.array(
          np.random.uniform(
              size=(
                  kernel_height,
                  kernel_width,
                  in_channel,
                  out_channel,
              )
          ).astype("float32"),
          dev,
      )
      conv_out = tvm.nd.empty(
          (batch_size, out_channel, out_height, out_width),
          "float32",
          dev,
      )
      f(data_input, kernel_input, conv_out)
  
imports: import pytest
  import tvm
  import tvm.testing
  from tvm import te
  import numpy
label_desc: Use image node_id 11 for calling a global function with example usage: test_in_bounds_conv_llvm(loop_tiling) without return types