Commit graph

119 commits

Author SHA1 Message Date
John Kåre Alsaker
97d3ad066d Only hash dep node indices of deps of anon tasks 2019-05-06 13:57:33 +02:00
Nicholas Nethercote
304a7be7a8 Reduce the DepNode pre-allocation ratio.
A code size of increase of 15% is overly generous. 2% is more realistic.

This change reduces peak memory size by 20+ MiB on some workloads.
2019-04-15 14:00:17 +10:00
John Kåre Alsaker
0b7b454820 Combine input and eval_always query types 2019-03-26 22:02:29 +01:00
Mazdak Farrokhzad
0431857770
Rollup merge of #58365 - Zoxc:task-status, r=michaelwoerister
Add an option to print the status of incremental tasks / dep nodes after running them

r? @michaelwoerister
2019-02-14 08:24:13 +01:00
Mazdak Farrokhzad
0bc8f6f3f4
Rollup merge of #58273 - taiki-e:rename-dependency, r=matthewjasper
Rename rustc_errors dependency in rust 2018 crates

I think this is a better solution than `use rustc_errors as errors` in `lib.rs` and `use crate::errors` in modules.

Related: rust-lang/cargo#5653

cc #58099

r? @Centril
2019-02-13 04:37:04 +01:00
Taiki Endo
3216c7656a Rename rustc_errors dependency in rust 2018 crates 2019-02-13 00:28:52 +09:00
John Kåre Alsaker
f0b15f6d6a Add an option to print the status of incremental tasks / dep nodes after running them 2019-02-11 00:53:16 +01:00
Alexander Regueiro
c3e182cf43 rustc: doc comments 2019-02-10 23:42:32 +00:00
John Kåre Alsaker
34ec9a5942 Add a query type which is always marked as red if it runs 2019-02-08 04:28:32 +01:00
Mark Mansi
e957ed9d10 move librustc to 2018 2019-02-05 12:45:47 -06:00
John Kåre Alsaker
975eb312ef Use multiple threads by default. Limits tests to one thread. Do some renaming. 2019-01-28 16:24:33 +01:00
John Kåre Alsaker
b2dfd9680d Fix race condition when emitting stored diagnostics 2019-01-23 16:20:57 +01:00
Mazdak Farrokhzad
c7686b787f
Rollup merge of #57698 - michaelwoerister:issue57692, r=Zoxc
Fix typo bug in DepGraph::try_mark_green().

r? @Zoxc

Fixes #57692.
2019-01-19 09:03:33 +01:00
Michael Woerister
3884cc8df4 Fix typo bug in DepGraph::try_mark_green(). 2019-01-17 15:32:05 +01:00
John Kåre Alsaker
1313678784 Address comments 2019-01-15 10:39:49 +01:00
John Kåre Alsaker
8ef7413f23 Optimize try_mark_green and eliminate the lock on dep node colors 2019-01-15 10:39:49 +01:00
John Kåre Alsaker
f21c08439a Move diagnostics out from QueryJob and optimize for the case with no diagnostics 2019-01-08 18:50:43 +01:00
John Kåre Alsaker
584a52096e Clean up and optimize OpenTask / read_index 2018-12-31 16:24:22 +01:00
John Kåre Alsaker
2738f2c891 Address comments 2018-12-31 09:16:06 +01:00
John Kåre Alsaker
18d6b37f2c Use entry API to avoid double lookup when interning dep nodes 2018-12-31 09:16:02 +01:00
John Kåre Alsaker
a426d47f58 Group dep node data into a single structure 2018-12-31 09:15:58 +01:00
Mark Rousskov
2a663555dd Remove licenses 2018-12-25 21:08:33 -07:00
Mark Mansi
6494f1e60e rustc-guide has moved 2018-11-26 15:03:13 -06:00
Eduard-Mihai Burtescu
7683180be5 rustc: implement and use Default on more types. 2018-11-21 08:11:50 +02:00
Oliver Scherer
3c9258e604 Prefer Default::default over FxHash*::default in struct constructors 2018-10-19 14:34:44 +02:00
Oliver Scherer
ee81739dc1 Deprecate the FxHashMap() and FxHashSet() constructor function hack 2018-10-19 14:34:44 +02:00
Niko Matsakis
f702bd6a52 rewrite constants to use NewType::MAX instead of u32::MAX
Also, adjust the MAX to be `u32::MAX - 1`, leaving room for `u32::MAX`
to become a sentinel value in the future.
2018-09-07 11:37:47 -04:00
Niko Matsakis
24ab3758a6 remove all references to private from outside the macro 2018-09-07 11:37:47 -04:00
Niko Matsakis
6ccf9b8134 change from tuple struct to brace struct 2018-09-07 11:37:47 -04:00
Niko Matsakis
1242639b88 change syntax of newtype_index to look like a struct decl 2018-09-07 11:34:41 -04:00
Michael Woerister
abd5cc3364 Always add all modules to the global ThinLTO module analysis when compiling incrementally. 2018-08-31 15:22:52 +02:00
Michael Woerister
64a738d8ce Support local ThinLTO with incremental compilation. 2018-08-31 15:22:52 +02:00
Igor Gutorov
4d81fe9243 Use optimized SmallVec implementation 2018-08-23 10:45:53 +03:00
Shotaro Yamada
e995a91a31 Better Option handling 2018-07-27 23:26:36 +09:00
Niko Matsakis
d9afd2bb38 introduce new subtyping 2018-07-25 06:38:22 +03:00
Eduard-Mihai Burtescu
5a5c7ded0d rustc: rename ty::maps to ty::query. 2018-06-14 18:05:12 +03:00
Irina Popa
b63d7e2b1c Rename trans to codegen everywhere. 2018-05-17 15:08:30 +03:00
Isaac Whitfield
89a8f2c103 Remove shared access to DepGraph::work_products 2018-05-11 08:09:53 -07:00
Alex Crichton
74e731fcb0
Rollup merge of #50598 - whitfin:unnecessary-mut-borrow, r=michaelwoerister
Remove unnecessary mutable borrow and resizing in DepGraph::serialize

I might be mistaken, but I noticed this whilst in this file for something else. It appears that this mutable borrow is unnecessary and since it's locking it should be removed. The resizing looks redundant since nothing additional is added to the fingerprints in this function, so that can also be removed.
2018-05-10 11:35:37 -05:00
Alex Crichton
e23ec4b6f0
Rollup merge of #50565 - nnethercote:try_mark_green, r=michaelwoerister
Use SmallVec for DepNodeIndex within dep_graph.

This avoids a decent number of allocations, enough to speed up
incremental runs of many rustc-benchmarks, the best by 2%.

Here are the rustc-perf benchmarks that showed an improvement of at least 1% on one run:
```
unused-warnings-check
	avg: -1.7%	min: -2.4%	max: 0.0%
unused-warnings-opt
	avg: -1.4%	min: -2.0%	max: 0.0%
unused-warnings
	avg: -1.4%	min: -2.0%	max: -0.0%
tokio-webpush-simple-check
	avg: -1.0%	min: -1.7%	max: 0.0%
futures-opt
	avg: -0.9%	min: -1.6%	max: 0.0%
encoding
	avg: -1.2%	min: -1.6%	max: -0.6%
encoding-check
	avg: -0.9%	min: -1.6%	max: 0.0%
encoding-opt
	avg: -0.8%	min: -1.6%	max: -0.1%
futures
	avg: -0.9%	min: -1.5%	max: 0.0%
futures-check
	avg: -0.9%	min: -1.5%	max: 0.1%
regression-31157-check
	avg: -0.9%	min: -1.5%	max: 0.0%
regex
	avg: -0.6%	min: -1.4%	max: 0.0%
regression-31157-opt
	avg: -0.5%	min: -1.4%	max: 0.1%
regression-31157
	avg: -0.7%	min: -1.4%	max: 0.2%
regex-opt
	avg: -0.6%	min: -1.4%	max: 0.1%
hyper-check
	avg: -0.8%	min: -1.4%	max: -0.1%
regex-check
	avg: -1.0%	min: -1.4%	max: 0.0%
hyper-opt
	avg: -0.7%	min: -1.4%	max: -0.1%
hyper
	avg: -0.7%	min: -1.3%	max: 0.1%
piston-image-opt
	avg: -0.4%	min: -1.3%	max: 0.0%
tokio-webpush-simple-opt
	avg: -0.3%	min: -1.3%	max: 0.0%
piston-image-check
	avg: -0.5%	min: -1.3%	max: -0.0%
syn-opt
	avg: -0.5%	min: -1.3%	max: 0.0%
clap-rs-check
	avg: -0.3%	min: -1.3%	max: 0.2%
piston-image
	avg: -0.5%	min: -1.2%	max: 0.1%
syn
	avg: -0.5%	min: -1.2%	max: 0.1%
syn-check
	avg: -0.6%	min: -1.2%	max: -0.1%
issue-46449-opt
	avg: -0.4%	min: -1.2%	max: -0.1%
parser-check
	avg: -0.7%	min: -1.2%	max: 0.1%
issue-46449
	avg: -0.5%	min: -1.2%	max: -0.0%
```
2018-05-10 11:35:27 -05:00
Isaac Whitfield
ae3feff028 Remove unnecessary mutable borrow and resizing 2018-05-09 23:36:57 -07:00
Nicholas Nethercote
78262e700d Use SmallVec for DepNodeIndex within dep_graph.
This avoids a decent number of allocations, enough to speed up
incremental runs of many rustc-benchmarks, the best by 2%.
2018-05-09 20:36:17 +10:00
Wesley Wiser
000d3c97ee Make DepGraph::previous_work_products immutable
Fixes #50501
2018-05-07 23:17:16 -04:00
John Kåre Alsaker
3f802ee801 Move the Lock into OpenTask 2018-04-25 11:55:12 +02:00
John Kåre Alsaker
8ec629b3a0 Address comments 2018-04-25 11:25:40 +02:00
John Kåre Alsaker
64b5d408e6 Make DepGraph thread-safe 2018-04-25 11:25:40 +02:00
Wesley Wiser
c43b1a09e0 Convert SerializedDepGraph to be a struct-of-arrays
Fixes #47326
2018-03-19 19:45:35 -04:00
Michael Woerister
ee4a7eba45 incr.comp.: Make sanity check in try_mark_green() aware of error conditions. 2018-03-16 16:19:12 +01:00
John Kåre Alsaker
184fd32a03 Move PROFQ_CHAN to a Session field 2018-03-09 08:04:31 +01:00
John Kåre Alsaker
b74e97cf42 Replace Rc with Lrc for shared data 2018-03-02 10:48:52 +01:00