about summary refs log tree commit diff
path: root/src/librustc/dep_graph
AgeCommit message (Collapse)AuthorLines
2019-01-08Move diagnostics out from QueryJob and optimize for the case with no diagnosticsJohn Kåre Alsaker-1/+1
2019-01-08Auto merge of #57114 - Zoxc:query-perf11, r=michaelwoeristerbors-162/+120
Clean up and optimize OpenTask / read_index r? @michaelwoerister
2019-01-04implement a hack to make traitobject 0.1.0 compileAriel Ben-Yehuda-0/+1
2018-12-31Clean up and optimize OpenTask / read_indexJohn Kåre Alsaker-162/+120
2018-12-31Address commentsJohn Kåre Alsaker-3/+7
2018-12-31Use `entry` API to avoid double lookup when interning dep nodesJohn Kåre Alsaker-30/+39
2018-12-31Group dep node data into a single structureJohn Kåre Alsaker-126/+80
2018-12-27Integrate chalk enginescalexm-0/+1
2018-12-25Remove licensesMark Rousskov-101/+0
2018-12-19Auto merge of #54252 - arielb1:deref-query, r=nikomatsakisbors-0/+1
process nested obligations in autoderef Fixes #53843. r? @nikomatsakis
2018-12-17Remove *_inlined variantsJohn Kåre Alsaker-11/+3
2018-12-17Turn some asserts into debug_assertsJohn Kåre Alsaker-2/+2
2018-12-17Tweak query code for performanceJohn Kåre Alsaker-11/+22
2018-12-15make autoderef steps a queryAriel Ben-Yehuda-0/+1
2018-12-07Various minor/cosmetic improvements to codeAlexander Regueiro-3/+3
2018-12-06Use a function to access the Hir map to be able to turn it into a query laterJohn Kåre Alsaker-4/+4
2018-12-04cleanup: remove static lifetimes from constsljedrz-1/+1
2018-11-30proc_macro: introduce a "bridge" between clients (proc macros) and servers ↵Eduard-Mihai Burtescu-1/+1
(compiler front-ends).
2018-11-26rustc-guide has movedMark Mansi-2/+2
2018-11-21rustc: implement and use Default on more types.Eduard-Mihai Burtescu-2/+2
2018-11-15Rollup merge of #55901 - euclio:speling, r=petrochenkovPietro Albini-1/+1
fix various typos in doc comments
2018-11-13fix various typos in doc commentsAndy Russell-1/+1
2018-11-12Turn `HirLocalId` into a `newtype_index`Oliver Scherer-3/+3
2018-10-25Report const eval error inside the queryOliver Schneider-0/+1
2018-10-24introduce (but do not use) `ascribe_user_type` goalNiko Matsakis-2/+4
Lots of annoying boilerplate.
2018-10-19Prefer `Default::default` over `FxHash*::default` in struct constructorsOliver Scherer-20/+10
2018-10-19Deprecate the `FxHashMap()` and `FxHashSet()` constructor function hackOliver Scherer-9/+9
2018-10-17Use `Environment` instead of `ty::ParamEnv` in chalk contextscalexm-1/+3
2018-10-03Only promote calls to `#[rustc_promotable]` const fnsOliver Schneider-0/+1
2018-09-29don't elide lifetimes in paths in librustc/Zack M. Davis-8/+8
This seemed like a good way to kick the tires on the elided-lifetimes-in-paths lint (#52069)—seems to work! This was also pretty tedious—it sure would be nice if `cargo fix` worked on this codebase (#53896)!
2018-09-18incr.comp.: Allow for more fine-grained testing of CGU reuse and use it to ↵Michael Woerister-0/+146
test incremental ThinLTO.
2018-09-08Rollup merge of #53315 - nikomatsakis:newtype-index, r=Mark-Simulacrumkennytm-5/+11
use `NonZeroU32` in `newtype_index!`macro, change syntax Various improvements to the `newtype_index!` macro: - Use `NonZeroU32` so that `Option<T>` is cheap - More ergonomic helper method, no need to import `Idx` trait all the time - Improve syntax to use `struct` keyword so that ripgrep works to find type def'n Fixes https://github.com/rust-lang/rust/issues/50337 I'm curious to see if this passes tests =)
2018-09-07rewrite constants to use NewType::MAX instead of u32::MAXNiko Matsakis-3/+1
Also, adjust the MAX to be `u32::MAX - 1`, leaving room for `u32::MAX` to become a sentinel value in the future.
2018-09-07remove all references to `private` from outside the macroNiko Matsakis-3/+7
2018-09-07change from tuple struct to brace structNiko Matsakis-3/+3
2018-09-07change syntax of `newtype_index` to look like a struct declNiko Matsakis-2/+6
2018-09-06crates that provide a `panic_handler` are exempt from `unused_extern_crates`Jorge Aparicio-0/+1
fixes the *first* false positive reported in #53964
2018-09-03Auto merge of #53673 - michaelwoerister:incr-thinlto-2000, r=alexcrichtonbors-1/+1
Enable ThinLTO with incremental compilation. This is an updated version of #52309. This PR allows `rustc` to use (local) ThinLTO and incremental compilation at the same time. In theory this should allow for getting compile-time improvements for small changes while keeping the runtime performance of the generated code roughly the same as when compiling non-incrementally. The difference to #52309 is that this version also caches the pre-LTO version of LLVM bitcode. This allows for another layer of caching: 1. if the module itself has changed, we have to re-codegen and re-optimize. 2. if the module itself has not changed, but a module it imported from during ThinLTO has, we don't need to re-codegen and don't need to re-run the first optimization phase. Only the second (i.e. ThinLTO-) optimization phase is re-run. 3. if neither the module itself nor any of its imports have changed then we can re-use the final, post-ThinLTO version of the module. (We might have to load its pre-ThinLTO version though so it's available for other modules to import from)
2018-08-31Always add all modules to the global ThinLTO module analysis when compiling ↵Michael Woerister-1/+0
incrementally.
2018-08-31Support local ThinLTO with incremental compilation.Michael Woerister-1/+2
2018-08-31trip const_to_alloc querycsmoe-2/+1
2018-08-23Use optimized SmallVec implementationIgor Gutorov-2/+2
2018-08-22miri/CTFE refactorRalf Jung-1/+1
* Value gets renamed to Operand, so that now interpret::{Place, Operand} are the "dynamic" versions of mir::{Place, Operand}. * Operand and Place share the data for their "stuff is in memory"-base in a new type, MemPlace. This also makes it possible to give some more precise types in other areas. Both Operand and MemPlace have methods available to project into fields (and other kinds of projections) without causing further allocations. * The type for "a Scalar or a ScalarPair" is called Value, and again used to give some more precise types. * All of these have versions with an attached layout, so that we can more often drag the layout along instead of recomputing it. This lets us get rid of `PlaceExtra::Downcast`. MPlaceTy and PlaceTy can only be constructed in place.rs, making sure the layout is handled properly. (The same should eventually be done for ValTy and OpTy.) * All the high-level functions to write typed memory take a Place, and live in place.rs. All the high-level typed functions to read typed memory take an Operand, and live in operands.rs.
2018-08-05Improve query efficiencyvarkor-1/+1
2018-08-05Fix outdated handling of GetLangItemsvarkor-1/+1
2018-08-05Add lint for unknown feature attributesvarkor-0/+2
2018-07-27Better Option handlingShotaro Yamada-6/+8
2018-07-25introduce new subtypingNiko Matsakis-1/+0
2018-07-23Change single char str patterns to charsljedrz-1/+1
2018-07-21Convert implied_outlives_bounds to a queryTyler Mandry-0/+1