on the tir pass module (c++), the use-def chain can be get base on the StoreNode op itself (membase architecture), .ie: the dst_buffer depends all the src_buffer in op->value and op->index, so can create a edge between them.
Note: attr::pragma_buffer_index ,attr::reinterpret_cast_begin等需要特别考虑,解析const AttrStmtNode* op*