about summary refs log tree commit diff
path: root/src/librustc/dep_graph/query.rs
AgeCommit message (Collapse)AuthorLines
2020-03-23Move dep_graph to new crate librustc_query_system.Camille GILLOT-74/+0
2019-12-22Format the worldMark Rousskov-25/+13
2018-12-25Remove licensesMark Rousskov-10/+0
2018-10-19Deprecate the `FxHashMap()` and `FxHashSet()` constructor function hackOliver Scherer-1/+1
2018-07-12rename `control_flow_graph` to `graph`Niko Matsakis-1/+1
2018-07-12rename `graph` to `control_flow_graph::implementation`Niko Matsakis-1/+3
2017-09-14rustc: Preallocate when building the dep graphAlex Crichton-3/+2
This commit alters the `query` function in the dep graph module to preallocate memory using `with_capacity` instead of relying on automatic growth. Discovered in #44576 it was found that for the syntex_syntax clean incremental benchmark the peak memory usage was found when the dep graph was being saved, particularly the `DepGraphQuery` data structure itself. PRs like #44142 which add more queries end up just making this much larger! I didn't see an immediately obvious way to reduce the size of the `DepGraphQuery` object, but it turns out that `with_capacity` helps quite a bit! Locally 831 MB was used [before] this commit, and 770 MB is in use at the peak of the compiler [after] this commit. That's a nice 7.5% improvement! This won't quite make up for the losses in #44142 but I figured it's a good start. [before]: https://gist.github.com/alexcrichton/2d2b9c7a65503761925c5a0bcfeb0d1e [before]: https://gist.github.com/alexcrichton/6da51f2a6184bfb81694cc44f06deb5b
2017-07-05use field init shorthand in src/librustcZack M. Davis-2/+2
The field init shorthand syntax was stabilized in 1.17.0 (aebd94f); we are now free to use it in the compiler.
2017-06-09incr.comp.: Uniformly represent DepNodes as (Kind, StableHash) pairs.Michael Woerister-16/+14
2016-11-08Replace FnvHasher use with FxHasher.Nicholas Nethercote-3/+3
This speeds up compilation by 3--6% across most of rustc-benchmarks.
2016-05-31expand `DepNode::TraitSelect` to include type idsNiko Matsakis-12/+12
To handle the general case, we include a vector of def-ids, so that we can account for things like `(Foo, Bar)` which references both `Foo` and `Bar`. This means it is not Copy, so re-jigger some APIs to use borrowing more intelligently.
2016-05-18identify inputs of `MetaData(X)` nodesNiko Matsakis-6/+15
Generate a second hash file that contains the metadata for an X node.
2016-04-06break dep-graph into modules, parameterize DepNodeNiko Matsakis-10/+30
it is useful later to customize how change the type we use for reference items away from DefId
2016-01-05Introduce the DepGraph and DepTracking map abstractions,Niko Matsakis-0/+68
along with a README explaining how they are to be used