class_docstr: De-dup auto-broadcast buffers
  
  Auto-broadcast buffers can define additional variables during the
  `Buffer::Buffer` constructor for the strides.  This is intended to
  be used for match buffers, where these variables are defined based
  on the argument being passed in.
  
  These additional variables can cause errors when copying a buffer
  with the `Buffer::Buffer` constructor.  If a buffer has non-empty
  shape, empty strides, and kAutoBroadcast type, then the resulting
  buffer will have additional strides defined.  Such a buffer can
  result from lowering of a scalar buffer, which will be flattened
  to a shape of [1].
  
  Previous implementations of ConvertSSA incorrectly handled this
  case, resulting in undefined stride variables.
class_docstr_tok: ["De-dup","auto-broadcast","buffers","Auto-broadcast","buffers","can","define","additional","variables","during","the","`","Buffer",":",":Buffer","`","constructor","for","the","strides",".","This","is","intended","to","be","used","for","match","buffers",",","where","these","variables","are","defined","based","on","the","argument","being","passed","in",".","These","additional","variables","can","cause","errors","when","copying","a","buffer","with","the","`","Buffer",":",":Buffer","`","constructor",".","If","a","buffer","has","non-empty","shape",",","empty","strides",",","and","kAutoBroadcast","type",",","then","the","resulting","buffer","will","have","additional","strides","defined",".","Such","a","buffer","can","result","from","lowering","of","a","scalar","buffer",",","which","will","be","flattened","to","a","shape","of","[","1","]",".","Previous","implementations","of","ConvertSSA","incorrectly","handled","this","case",",","resulting","in","undefined","stride","variables","."]
code: def expected(self):
      return tvm.IRModule(
          {"func_a": self._make_func(), "func_b": self._make_func()}
      )
  
imports: import tvm
  import tvm.testing
  from tvm import tir
  from tvm.script import tir, ir
label_desc: Use image node_id 3 for calling the TestDedupAutoBroadcastBuffer obj's underlying member method code with example usage: obj.expected() and returns: tvm