Is there a difference between the binding done in MatchBufferLower::Bind
and the binding done in ArgBinder::Bind
? I’m working on some changes that impact the buffer binding, and would like to understand if there are any differences, or any reasons to avoid refactoring out common functionality. From a quick look through, it looks like they are handling very similar use cases, just with MatchBufferLower::Bind
being on the TensorIR flow and ArgBinder::Bind
being called by BufferBindUnwrapper
on the TE flow.
-
MatchBufferLower::Bind
vsArgBinder::Bind_
-
MatchBufferLower::CheckAndUpdateVarMap
vsArgBinder::BindBuffer
-
tvm::tir::transform::LowerMatchBuffer
vstvm::tir::BufferBindUnwrapper::Apply
Are there any differences between these that I should be aware of while working on them?