Niko Matsakis
e4728e494e
transition various normalization functions to the new methods
...
In particular:
- `fully_normalize_monormophic_ty` => `normalize_erasing_regions`
- `normalize_associated_type_in_env` => `normalize_erasing_regions`
- `fully_normalize_associated_types_in` => `normalize_erasing_regions`
- `erase_late_bound_regions_and_normalize` => `normalize_erasing_late_bound_regions`
2018-03-13 11:22:07 -04:00
John Kåre Alsaker
184fd32a03
Move PROFQ_CHAN to a Session field
2018-03-09 08:04:31 +01:00
Oliver Schneider
5b247b9bbe
Report errors in statics during collecting instead of translating
2018-03-08 08:34:12 +01:00
Oliver Schneider
9857eaa4df
Nuke ConstInt and Const*size
2018-03-08 08:34:10 +01:00
Oliver Schneider
918b6d7633
Produce instead of pointers
2018-03-08 08:08:14 +01:00
Wesley Wiser
368e586a3d
Add linkage to TransFnAttrs
...
Part of #47320
2018-03-06 20:19:39 -05:00
Michael Woerister
f5ab4d4cdd
Don't show crate metadata symbol as exported symbol to downstream crates.
2018-03-06 09:58:47 +01:00
Michael Woerister
33d5da1ee4
Clean up handling of symbol export information.
2018-03-06 09:47:43 +01:00
Michael Woerister
1be7f966e0
Rename is_translated_fn query to is_translated_item and make it support statics.
2018-02-19 16:47:59 +01:00
Alex Crichton
3b2403306f
Rollup merge of #47415 - varkor:cgu-partition-heuristic, r=michaelwoerister
...
Add CGU size heuristic for partitioning
This addresses the concern of #47316 by estimating CGU size based on
the size of its MIR. Looking at the size estimate differences for a
small selection of crates, this heuristic produces different orderings,
which should more accurately reflect optimisation time. (Fixes #47316.)
r? @michaelwoerister
2018-01-25 12:48:44 -06:00
bjorn3
74c92c5562
Allow runtime switching between trans backends
2018-01-19 20:27:10 +01:00
varkor
c8e9da44a9
Update comments about the partitioning inefficiency
2018-01-19 00:42:14 +00:00
varkor
e60b0f802b
Refactor CodegenUnit size estimates
2018-01-19 00:41:50 +00:00
Eduard-Mihai Burtescu
209abc71e5
rustc_trans: rename bcx to bx.
2018-01-14 08:56:44 +02:00
Eduard-Mihai Burtescu
e69dacb431
rustc_trans: rename ccx to cx.
2018-01-14 08:56:44 +02:00
Eduard-Mihai Burtescu
fb7de6a041
rustc_trans: rename CrateContext to CodegenCx.
2018-01-14 08:55:57 +02:00
Eduard-Mihai Burtescu
2931af62f0
rustc_trans: access fields directly on CrateContext.
2018-01-14 08:55:43 +02:00
Eduard-Mihai Burtescu
d0d13204a6
rustc_trans: collapse {Local,Shared}CrateContext.
2018-01-14 08:52:16 +02:00
bors
8e7a609e63
Auto merge of #46916 - michaelwoerister:generate-dead-code-plz, r=alexcrichton
...
Generate code for unused const- and inline-fns if -Clink-dead-code is specified.
Fixes https://github.com/rust-lang/rust/issues/46467 .
r? @alexcrichton
2018-01-04 14:04:27 +00:00
Michael Woerister
238ed47d29
Generate code for const- and inline-fns if -Clink-dead-code is specified.
2018-01-04 10:12:20 +01:00
Malo Jaffré
8ed13d643a
Update crates and submodules to pull doc fixes
...
Update `rand` crate to `0.3.19`.
Update `log` crate to `0.3.9` and `0.4.1`.
Update `parking_lot_core` crate to `0.2.9`.
Upgrade all flate2 dependencies to `1.0.1`.
- Update `rust-installer` submodule.
2018-01-01 14:44:10 +01:00
Bastian Köcher
5a4298b6d3
Don't use process::exit
as it is an unreachable
on wasm32
2017-12-26 23:53:51 +01:00
Bastian Köcher
011c9eac35
Fixes compile bug caused by upstream changes
2017-12-26 12:26:39 +01:00
Bastian Köcher
d7918fb2e8
Implements RFC 1937: ?
in main
...
This is the first part of the RFC 1937 that supports new
`Termination` trait in the rust `main` function.
2017-12-26 12:26:39 +01:00
bors
f0cf23e115
Auto merge of #46842 - michaelwoerister:fingerprint-vec, r=nikomatsakis
...
incr.comp.: Use an array instead of a hashmap for storing result hashes.
Doing so should result in some of the core tracking components being faster.
r? @nikomatsakis
2017-12-22 23:34:29 +00:00
kennytm
4d9ed87437
Rollup merge of #46751 - michaelwoerister:c-incremental, r=alexcrichton
...
incr.comp.: Add `-C incremental` in addition to `-Z incremental`
This PR adds a stable commandline option for invoking incremental compilation.
r? @alexcrichton
2017-12-20 21:21:54 +08:00
Michael Woerister
e6e5589db4
incr.comp.: Use an IndexVec instead of a hashmap for storing result hashes.
2017-12-20 11:14:31 +01:00
Maik Klein
45f8a3b30c
Move partitioning.rs to rustc_mir
2017-12-18 17:08:49 +02:00
Maik Klein
1df6f8321b
Remove duplicated functions from trans::common.rs
2017-12-18 17:08:49 +02:00
Maik Klein
c06e3aa446
Refactor paths to middle::trans to mir::mono
2017-12-18 17:08:49 +02:00
Maik Klein
09ad6ebd0b
Rename mono_item.rs to item.rs
2017-12-18 17:08:49 +02:00
Maik Klein
17bfd74955
Rename more functions from trans to mono
2017-12-18 17:08:48 +02:00
Maik Klein
b9ab487a7a
Rename TransItemExt to MonoItemExt
2017-12-18 17:08:48 +02:00
Maik Klein
98b9eba316
Rename TransItemCollectionMode to MonoItemCollectionMode
2017-12-18 17:08:48 +02:00
Maik Klein
1181f45813
Rename TransItem to MonoItem
2017-12-18 17:08:48 +02:00
Maik Klein
e579b067db
Move trans_item and monomorphize to rustc_mir
2017-12-18 17:08:48 +02:00
Maik Klein
094c021218
Move collector to monomorphize
2017-12-18 17:08:48 +02:00
Michael Woerister
796264b6df
incr.comp.: Add -Cincremental in addition to -Zincremental
2017-12-18 14:37:24 +01:00
Eduard-Mihai Burtescu
5cab0bf0ad
rustc_trans: always require alignment for load/store/memcpy.
2017-12-17 16:34:54 +02:00
Eduard-Mihai Burtescu
16307465d5
rustc_trans: always keep track of the Align in LvalueRef.
2017-12-17 16:34:54 +02:00
bors
088f328ec5
Auto merge of #46382 - alexcrichton:thinlto-default, r=michaelwoerister
...
rustc: Prepare to enable ThinLTO by default
This commit *almost* enables ThinLTO and multiple codegen units in release mode by
default but is blocked on #46346 now before pulling the trigger.
2017-12-02 22:27:24 +00:00
Eduard-Mihai Burtescu
473f044225
MIR: s/lv(al(ue)?)?/place in function/variable/module names.
2017-12-01 18:48:57 +02:00
Eduard-Mihai Burtescu
511743c438
MIR: s/Lvalue/Place in type names.
2017-12-01 18:47:36 +02:00
Alex Crichton
855f6d1483
rustc: Prepare to enable ThinLTO by default
...
This commit prepares to enable ThinLTO and multiple codegen units in release
mode by default. We've still got a debuginfo bug or two to sort out before
actually turning it on by default.
2017-11-30 07:17:53 -08:00
Michael Woerister
c60b0e43c8
incr.comp.: Remove on-export crate metadata hashing.
2017-11-29 16:28:25 +01:00
Eduard-Mihai Burtescu
7a36141465
rustc: unpack scalar pair newtype layout ABIs.
2017-11-19 02:43:55 +02:00
Eduard-Mihai Burtescu
f62e43da28
rustc: track validity ranges for layout::Abi::Scalar values.
2017-11-19 02:14:33 +02:00
Eduard-Mihai Burtescu
b28f668e26
rustc: move size, align & primitive_align from Abi::Aggregate to layout.
2017-11-19 02:14:32 +02:00
Eduard-Mihai Burtescu
b723af284a
rustc_trans: go through layouts uniformly for fat pointers and variants.
2017-11-19 02:14:32 +02:00
Eduard-Mihai Burtescu
3fd6b00082
rustc_trans: query LLVM types from a layout instead of a Ty.
2017-11-19 02:14:32 +02:00