[RUSTC] Does "-C metadata" affects how functions are grouped in rcgu.o?

I found that under different metadata string it seems that rustc might group different functions (aka instances) into LLVM modules (writed to different rcgu.os) with same index even by same compiler.
Is it intentional, or did I misunderstanded?

Edit. Indeed the metadata hash affects sort of items. This happens in rustc_monomorphize::collector::collect_crate_mono_items.

-Cmetadata likely affects sort order of definitions, which then affects the order in which codegen units gets merged, which in turn affects which codegen units includes which functions.