Memory types for allocation (e.g. TCM)

Hi,
I asked in another thread about the @tvm.register_func("tvm.info.mem.%s" % Environment.inp_scope) lines in the VTA example.
I know they are used to declare memory scopes, but could you give more information on what are “tvm.info.mem” and how they are processed in the compulation flow?
I mean is it really just a tag that the HW specific backend needs to replace with a certain memory address space?

Thanks