]> git.lizzy.rs Git - rust.git/commit
auto merge of #19362 : nikomatsakis/rust/crateification, r=nikomatsakis
authorbors <bors@rust-lang.org>
Fri, 5 Dec 2014 09:23:09 +0000 (09:23 +0000)
committerbors <bors@rust-lang.org>
Fri, 5 Dec 2014 09:23:09 +0000 (09:23 +0000)
commit52636007ce40da67998276c0671c6345512c3b58
treea6780f3640570b2bf971631045679ede197cfcb9
parent361baabb07b2fb921d0f556d0787b3ea7ef86746
parent602fc781ff0990b7f94851e210c6a4a516c80935
auto merge of #19362 : nikomatsakis/rust/crateification, r=nikomatsakis

This has the goal of further reducing peak memory usage and enabling more parallelism. This patch should allow trans/typeck to build in parallel. The plan is to proceed by moving as many additional passes as possible into distinct crates that lay alongside typeck/trans. Basically, the idea is that there is the `rustc` crate which defines the common data structures shared between passes. Individual passes then go into their own crates. Finally, the `rustc_driver` crate knits it all together.

cc @jakub-: One wrinkle is the diagnostics plugin. Currently, it assumes all diagnostics are defined and used within one crate in order to track what is used and what is duplicated. I had to disable this. We'll have to find an alternate strategy, but I wasn't sure what was best so decided to just disable the duplicate checking for now.