Clean up duplicated calls to the same target in LLVM output (#45091)
Currently, every not-previously-emitted reference to a julia function
gets a unique new name when we generate LLVM ir and we resolve all
those names later when we actually emit the referenced function.
This causes confusion in LLVM IR output (e.g. in #44998, where
we had tens of thousands of unique names for the exact same
function). It doesn't so much matter for the JIT, since the
references get merged before the JIT runs, but for output to
IR, this change will make the result much nicer.