]> git.lizzy.rs Git - rust.git/commitdiff
Auto merge of #33171 - michaelwoerister:collector-drop-glue, r=nikomatsakis
authorbors <bors@rust-lang.org>
Thu, 28 Apr 2016 21:37:30 +0000 (14:37 -0700)
committerbors <bors@rust-lang.org>
Thu, 28 Apr 2016 21:37:30 +0000 (14:37 -0700)
Some preliminary work towards making trans "collector driven".

The `trans::collector` already collects all translation items and `trans::partitioning` distributes these translation items into codegen units. The changes in this PR provide the following extensions to this functionality:

1. Drop-glue is handled more accurately now, knowing about the difference between `DropGlueKind::Ty` and `DropGlueKind::TyContents`.
2. The partitioning module now supports the `FixedUnitCount` strategy which more or less corresponds to the partitioning one gets via supplying `-Ccodegen-units` today.
3. The partitioning scheme also takes care of assigned LLVM declarations to codegen units, not just definitions (declarations for external items not yet implemented).

It's debatable whether declarations should be handled by the partitioning scheme or whether they should just be emitted on demand.


Trivial merge