rust/src/librustc_trans
Michael Woerister 22f77a9171 Run base::internalize_symbols() even for single-codegen-unit crates.
The initial linkage-assignment (especially for closures) is a conservative one that makes some symbols more visible than they need to be. While this is not a correctness problem, it does force the LLVM inliner to be more conservative too, which results in poor performance. Once translation is based solely on MIR, it will be easier to also make the initial linkage assignment a better fitting one. Until then `internalize_symbols()` does a good job of preventing most performance regressions.
2016-07-18 10:21:40 -04:00
..
back Remove CoreEmitter and focus on Emitter 2016-07-14 07:57:46 -04:00
debuginfo Remove Interner<T> and rename StrInterner to Interner. 2016-07-11 22:16:00 +00:00
mir Handle nested pairs in MIR trans. 2016-07-06 14:41:35 +03:00
_match.rs Merge PatKind::QPath into PatKind::Path in HIR 2016-07-08 12:42:57 +03:00
abi.rs Make drop-glue translation collector-driven. 2016-07-08 10:42:47 -04:00
adt.rs prefer if let to match with None => {} arm in some places 2016-07-03 16:27:02 -07:00
asm.rs rustc: move rustc_front to rustc::hir. 2016-04-06 09:01:55 +03:00
attributes.rs Emit "no-frame-pointer-elim" attribute for closures, shims, and glue. 2016-05-27 13:54:43 -04:00
base.rs Run base::internalize_symbols() even for single-codegen-unit crates. 2016-07-18 10:21:40 -04:00
basic_block.rs Delete obviously-unreachable blocks 2016-03-30 13:00:02 +13:00
build.rs Move errors from libsyntax to its own crate 2016-06-23 08:07:35 -04:00
builder.rs Use ptr::{null, null_mut} instead of 0 as *{const, mut} 2016-07-12 10:40:40 +02:00
cabi_aarch64.rs Handle integer-extending for C ABI 2016-04-04 22:14:10 +02:00
cabi_arm.rs Handle integer-extending for C ABI 2016-04-04 22:14:10 +02:00
cabi_asmjs.rs rustc_trans: move the contents of the trans module to top-level. 2016-03-27 01:23:28 +02:00
cabi_mips.rs Handle integer-extending for C ABI 2016-04-04 22:14:10 +02:00
cabi_powerpc.rs Handle integer-extending for C ABI 2016-04-04 22:14:10 +02:00
cabi_powerpc64.rs Handle integer-extending for C ABI 2016-04-04 22:14:10 +02:00
cabi_x86.rs Handle integer-extending for C ABI 2016-04-04 22:14:10 +02:00
cabi_x86_64.rs Handle integer-extending for C ABI 2016-04-04 22:14:10 +02:00
cabi_x86_win64.rs Handle integer-extending for C ABI 2016-04-04 22:14:10 +02:00
callee.rs trans: Add missing normalize_associated_type() call to callee::get_fn(). 2016-07-08 10:42:48 -04:00
Cargo.toml Move errors from libsyntax to its own crate 2016-06-23 08:07:35 -04:00
cleanup.rs rustc: Replace &'a TyCtxt<'tcx> with a TyCtxt<'a, 'tcx> wrapper. 2016-05-11 04:14:58 +03:00
closure.rs trans: Make sure that closures only get translated once. 2016-07-09 12:15:34 -04:00
collector.rs trans: Remove tracking of translation item state. 2016-07-08 10:42:48 -04:00
common.rs Move errors from libsyntax to its own crate 2016-06-23 08:07:35 -04:00
consts.rs Auto merge of #34365 - petrochenkov:deferr, r=eddyb 2016-07-09 15:16:21 -07:00
context.rs Move variant_size_differences out of trans 2016-07-10 22:12:31 +02:00
controlflow.rs Introduce TyCtxt::expect_def/expect_resolution helpers and use them where possible 2016-06-10 01:03:54 +03:00
datum.rs Move errors from libsyntax to its own crate 2016-06-23 08:07:35 -04:00
declare.rs Make drop-glue translation collector-driven. 2016-07-08 10:42:47 -04:00
diagnostics.rs Revert "Revert "Remove the return_address intrinsic."" 2016-07-04 21:06:50 +03:00
disr.rs rustc_trans: move the contents of the trans module to top-level. 2016-03-27 01:23:28 +02:00
expr.rs hir-trans: Don't generate code for unreachable operands in short-circuiting logical operations. 2016-07-08 10:42:48 -04:00
glue.rs trans: Adjust linkage assignment so that we don't need weak linkage. 2016-07-08 10:42:48 -04:00
inline.rs Drive function item translation from collector 2016-07-08 10:42:38 -04:00
intrinsic.rs Revert "Revert "Remove the return_address intrinsic."" 2016-07-04 21:06:50 +03:00
lib.rs Build SymbolMap for symbol name conflict checking and caching. 2016-07-08 10:42:47 -04:00
machine.rs rustc_trans: move the contents of the trans module to top-level. 2016-03-27 01:23:28 +02:00
macros.rs rustc_trans: move the contents of the trans module to top-level. 2016-03-27 01:23:28 +02:00
meth.rs Move errors from libsyntax to its own crate 2016-06-23 08:07:35 -04:00
monomorphize.rs trans: Adjust linkage assignment so that we don't need weak linkage. 2016-07-08 10:42:48 -04:00
partitioning.rs trans: Adjust linkage assignment so that we don't need weak linkage. 2016-07-08 10:42:48 -04:00
README.txt Make librustc's markdown README.txt claim to be markdown. 2015-03-20 13:29:13 +01:00
symbol_map.rs collector-driven-trans: Take care of nits. 2016-07-08 10:42:47 -04:00
symbol_names_test.rs Clean up trans::trans_crate() after making things collector driven. 2016-07-08 10:42:47 -04:00
trans_item.rs Auto merge of #34772 - jseyfried:cleanup_interner, r=eddyb 2016-07-13 10:26:18 -07:00
tvec.rs rustc: move rustc_front to rustc::hir. 2016-04-06 09:01:55 +03:00
type_.rs Support 16-bit pointers as well as i/usize 2016-05-19 13:55:13 -04:00
type_of.rs [MIR] Add PointerCast for Unsize casts of fat pointers. 2016-05-19 02:42:24 -04:00
value.rs rustc_trans: move the contents of the trans module to top-level. 2016-03-27 01:23:28 +02:00

See the README.md in ../librustc.