]> git.lizzy.rs Git - rust.git/commit
Auto merge of #32779 - michaelwoerister:partitioning, r=nikomatsakis
authorbors <bors@rust-lang.org>
Sat, 16 Apr 2016 01:13:59 +0000 (18:13 -0700)
committerbors <bors@rust-lang.org>
Sat, 16 Apr 2016 01:13:59 +0000 (18:13 -0700)
commitfef6c64a8020c357dda902593f1065864564c079
tree349401d295fec479a4821343e14328f159b343bb
parent576229fea054105f1f3a49ca5f31f5f4983f5266
parente8441b6784bffde062443590f1be7d6187ec9934
Auto merge of #32779 - michaelwoerister:partitioning, r=nikomatsakis

Add initial version of codegen unit partitioning for incremental compilation.

The task of the partitioning module is to take the complete set of translation items of a crate and produce a set of codegen units from it, where a codegen unit is a named set of (translation-item, linkage) pairs. That is, this module decides which translation item appears in which codegen units with which linkage.

This version only handles the case of partitioning for incremental compilation, not the regular N-codegen units case. In the future the regular case should be handled too, maybe even doing a bit more analysis to intelligently figure out a good partitioning.

One thing that could be improved is the syntax of the codegen unit tests. Right now they still use the compile-fail error specification infrastructure, so everything has to be on one line. Would be nice to be able to format things in a more readable way.