summary refs log tree commit diff
path: root/src/librustc_incremental
AgeCommit message (Collapse)AuthorLines
2018-10-07Revert "Auto merge of #53793 - toidiu:ak-stabalize, r=nikomatsakis"Ariel Ben-Yehuda-0/+1
This reverts commit 6810f5286b6b91daab06fc3dccb27d8c46f14349, reversing changes made to 8586ec6980462c99a8926646201b2444d8938d29.
2018-09-11stabalize infer outlives requirements (RFC 2093).toidiu-1/+0
Co-authored-by: nikomatsakis
2018-09-04Breaking change upgradesMark Rousskov-2/+2
2018-09-03Auto merge of #53673 - michaelwoerister:incr-thinlto-2000, r=alexcrichtonbors-0/+2
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-09-02Auto merge of #53599 - matthiaskrgr:split_str__to__split_char, r=frewsxcvbors-1/+1
use char pattern for single-character splits: a.split("x") -> a.split('x')
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-0/+1
2018-08-31Persist ThinLTO import data in incr. comp. session directory.Michael Woerister-0/+2
2018-08-28Use FxHash{Map,Set} instead of the default Hash{Map,Set} everywhere in rustc.Eduard-Mihai Burtescu-6/+5
2018-08-27Rename hir::map::NodeKind to hir::Nodevarkor-4/+4
2018-08-27Remove path prefixes from NodeKindvarkor-1/+2
2018-08-27Rename hir::map::Node to hir::map::NodeKindvarkor-7/+7
2018-08-24check that adding infer-outlives requirement to all crates worksNiko Matsakis-0/+1
2018-08-22use char pattern for single-character splits: a.split("x") -> a.split('x')Matthias Krüger-1/+1
2018-08-19mv codemap() source_map()Donato Sciarra-2/+2
2018-08-15Use CGU name as LLVM module name and add some caching to CGU name generation.Michael Woerister-5/+5
2018-08-15Clean up CodegenUnit name generation.Michael Woerister-8/+45
2018-08-10Auto merge of #53073 - Mark-Simulacrum:data-structures, r=pnkfelixbors-6/+8
Cleanup to librustc::session and related code No functional changes, just some cleanup. This also creates the `rustc_fs_util` crate, but I can remove that change if desired. It felt a little odd to force crates to depend on librustc for some fs utilities; and also seemed good to generally keep the size of librustc lower (for compile times); fs_util will compile in parallel with essentially the first crate since it has no dependencies beyond std.
2018-08-09Move rustc::util::fs into separate (new) crateMark Rousskov-5/+7
2018-08-09Move SVH structure to data structuresMark Rousskov-1/+1
2018-08-09[nll] librustc_incremental: enable feature(nll) for bootstrapmemoryruins-0/+1
2018-08-05Remove unnecessary feature attributes that sneaked invarkor-1/+0
2018-07-28Don't format!() string literalsljedrz-1/+1
2018-07-25Deny bare_trait_objects globallyTatsuyuki Ishi-2/+0
2018-07-18Implement existential typesOliver Schneider-0/+1
2018-07-16Update a debug stringOliver Schneider-1/+1
2018-07-16ItemKindcsmoe-15/+15
2018-07-16Revert "Persist ThinLTO import data in incr. comp. session directory."Michael Woerister-2/+0
This reverts commit 8dc7ddb9763f28b83de7bf3b3025f8042ea9e830.
2018-07-16Revert "Clean up CodegenUnit name generation."Michael Woerister-45/+8
This reverts commit 2c5cd9ce53d2d25041db0cb02b40ba460ffa8908.
2018-07-13Auto merge of #52266 - michaelwoerister:incr-thinlto-preliminaries, ↵bors-8/+47
r=alexcrichton Preliminary work for incremental ThinLTO. Since implementing incremental ThinLTO is a bit more involved than I initially thought, I'm splitting out some of the things that already work. This PR (1) adds a way accessing some ThinLTO information in `rustc` and (2) does some cleanup around CGU/object file naming (which makes things quite a bit nicer). This is probably best reviewed one commit at a time.
2018-07-14Rollup merge of #52302 - ljedrz:dyn_futureproofing, r=cramertjkennytm-0/+2
Deny bare trait objects in the rest of rust Add `#![deny(bare_trait_objects)]` to all the modules not covered before (those did not require code changes) that I consider applicable (I left out shims) in order to futureproof them.
2018-07-12Deny bare trait objects in the rest of rustljedrz-0/+2
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
2018-07-11Clean up CodegenUnit name generation.Michael Woerister-8/+45
2018-07-11Persist ThinLTO import data in incr. comp. session directory.Michael Woerister-0/+2
2018-06-27Make opaque::Encoder append-only and make it infallibleJohn Kåre Alsaker-34/+20
2018-06-19Save query results and the dep graph in parallelJohn Kåre Alsaker-8/+16
2018-06-14rustc: rename ty::maps to ty::query.Eduard-Mihai Burtescu-2/+2
2018-05-18Serialize attributes into the CrateRootIsaac Whitfield-10/+14
2018-05-17Rename trans to codegen everywhere.Irina Popa-14/+14
2018-05-11Update an old method name in debug loggingIsaac Whitfield-1/+1
2018-05-11Update naming in line with PR commentsIsaac Whitfield-15/+16
2018-05-11Catch a bad reference in use clausesIsaac Whitfield-1/+1
2018-05-11Remove shared access to DepGraph::work_productsIsaac Whitfield-19/+18
2018-05-08Fix commentWesley Wiser-1/+1
2018-05-07Make DepGraph::previous_work_products immutableWesley Wiser-55/+57
Fixes #50501
2018-05-02make it compile againflip1995-1/+1
2018-04-27Rename InternedString to LocalInternedString and introduce a new thread-safe ↵John Kåre Alsaker-1/+1
InternedString
2018-04-15Add misc timingsJohn Kåre Alsaker-4/+14