rust/src/librustc_target
bors a2be769fd5 Auto merge of #51833 - wesleywiser:faster_large_constant_arrays, r=oli-obk
Speed up compilation of large constant arrays

This is a different approach to #51672 as suggested by @oli-obk. Rather
than write each repeated value one-by-one, we write the first one and
then copy its value directly into the remaining memory.

With this change, the [toy program](c2f4744d2d/src/test/run-pass/mir_heavy_promoted.rs) goes from 63 seconds to 19 seconds on my machine.

Edit: Inlining `Size::bytes()` saves an additional 6 seconds dropping the total time to 13 seconds on my machine.

Edit2: Now down to 2.8 seconds.

r? @oli-obk

cc @nnethercote @eddyb
2018-07-01 18:43:41 +00:00
..
abi Inline all methods on abi::Size 2018-06-27 19:34:42 -04:00
spec Explicitely disable WASM code generation for Emscripten 2018-06-28 15:02:38 +02:00
build.rs Rename rustc_back::target to rustc_target::spec. 2018-04-26 16:39:44 +03:00
Cargo.toml rustc_target: move in syntax::abi and flip dependency. 2018-04-26 17:49:16 +03:00
lib.rs Stabilise inclusive_range_methods 2018-05-17 20:58:28 +01:00
README.md Rename rustc_back::target to rustc_target::spec. 2018-04-26 16:39:44 +03:00

librustc_target contains some very low-level details that are specific to different compilation targets and so forth.

For more information about how rustc works, see the rustc guide.