rust/compiler/rustc_codegen_llvm/src
bors 503e129328 Auto merge of #118568 - DianQK:no-builtins-symbols, r=pnkfelix
Avoid adding builtin functions to `symbols.o`

We found performance regressions in #113923. The problem seems to be that `--gc-sections` does not remove these symbols. I tested that lld removes these symbols, but ld and gold do not.

I found that `used` adds symbols to `symbols.o` at 3e202ead60/compiler/rustc_codegen_ssa/src/back/linker.rs (L1786-L1791).
The PR removes builtin functions.

Note that under LTO, ld still preserves these symbols. (lld will still remove them.)

The first commit also fixes #118559. But I think the second commit also makes sense.
2023-12-07 20:31:55 +00:00
..
back Avoid adding compiler-used functions to symbols.o 2023-12-04 22:28:00 +08:00
coverageinfo merge DefKind::Coroutine into DefKind::Closure 2023-11-26 21:05:08 +08:00
debuginfo Fix clippy::needless_borrow in the compiler 2023-11-21 20:13:40 +01:00
llvm Auto merge of #113923 - DianQK:restore-no-builtins-lto, r=pnkfelix 2023-12-01 21:45:18 +00:00
abi.rs Fix clippy::needless_borrow in the compiler 2023-11-21 20:13:40 +01:00
allocator.rs Fix clippy::needless_borrow in the compiler 2023-11-21 20:13:40 +01:00
asm.rs Auto merge of #114467 - Amanieu:asm-unstable-features, r=davidtwco 2023-08-15 11:59:02 +00:00
attributes.rs Add -Zfunction-return={keep,thunk-extern} option 2023-11-30 20:21:31 +01:00
base.rs cg_llvm: remove pointee types and pointercast/bitcast-of-ptr 2023-07-29 13:18:17 -04:00
builder.rs more targeted errors when extern types end up in places they should not 2023-12-03 08:11:15 +01:00
callee.rs Fix clippy::needless_borrow in the compiler 2023-11-21 20:13:40 +01:00
common.rs ctfe interpreter: extend provenance so that it can track whether a pointer is immutable 2023-12-07 17:46:36 +01:00
consts.rs ctfe interpreter: extend provenance so that it can track whether a pointer is immutable 2023-12-07 17:46:36 +01:00
context.rs Auto merge of #117947 - Dirbaio:drop-llvm-15, r=cuviper 2023-11-27 21:54:03 +00:00
declare.rs CFI: Fix SIGILL reached via trait objects 2023-05-09 20:04:19 +00:00
errors.rs De-genericize some IntoDiagnostic impls. 2023-12-04 18:57:42 +11:00
intrinsic.rs Merge simd size and type extraction into checking whether a type is simd, as these always go together. 2023-10-31 11:23:39 +00:00
lib.rs Update compiler/rustc_codegen_llvm/src/lib.rs 2023-11-29 18:12:53 -06:00
llvm_util.rs Rollup merge of #118142 - saethlin:llvm-linkage, r=tmiasko 2023-11-22 09:28:51 -08:00
mono_item.rs use visibility to check unused imports and delete some stmts 2023-10-22 21:27:46 +08:00
type_.rs remove unused pub fn 2023-11-23 14:11:02 +03:00
type_of.rs Clean dead codes 2023-11-26 09:25:07 +08:00
va_arg.rs cg_llvm: remove pointee types and pointercast/bitcast-of-ptr 2023-07-29 13:18:17 -04:00
value.rs mv compiler to compiler/ 2020-08-30 18:45:07 +03:00