rust-lang/rust — pull request #16270 by epdtry (2014-08-05 17:09:18+00:00)
Title: use available_externally linkage for cross-crate inlined functions

Cross-crate inlining currently uses `internal` linkage for functions that have been inlined from other crates. This works fine if the rustc-inlined copy of the function actually gets LLVM-inlined at all of its call sites, but if that doesn't happen, then we end up with an extra copy of the function in the object code. Using LLVM's `available_externally` linkage allows LLVM to perform inlining, but prevents the extra object code from being generated.

cc #14527