rust/src/librustc/ty
bors 8327b5afaf Auto merge of #37429 - camlorn:univariant_layout_optimization, r=eddyb
struct field reordering and optimization

This is work in progress.  The goal is to divorce the order of fields in source code from the order of fields in the LLVM IR, then optimize structs (and tuples/enum variants)by always ordering fields from least to most aligned.  It does not work yet.  I intend to check compiler memory usage as a benchmark, and a crater run will probably be required.

I don't know enough of the compiler to complete this work unaided.  If you see places that still need updating, please mention them.  The only one I know of currently is debuginfo, which I'm putting off intentionally until a bit later.

r? @eddyb
2016-12-18 07:59:32 +00:00
..
_match.rs rustc: pass ty::Region behind an interned 'tcx reference. 2016-08-27 01:15:06 +03:00
adjustment.rs rustc: record the target type of every adjustment. 2016-11-02 04:00:02 +02:00
cast.rs Refactor TyStruct/TyEnum/TyUnion into TyAdt 2016-09-08 22:17:53 +03:00
contents.rs Refactor TyTrait to contain a interned ExistentialPredicate slice. 2016-11-28 18:09:13 -07:00
context.rs Refactor FnSig to contain a Slice for its inputs and outputs. 2016-12-05 22:33:38 -07:00
error.rs Auto merge of #37954 - eddyb:rustdoc-2, r=alexcrichton 2016-11-30 07:46:00 +00:00
fast_reject.rs Refactor ty::FnSig to privatize all fields 2016-12-05 22:22:49 -07:00
flags.rs Refactor ty::FnSig to privatize all fields 2016-12-05 22:22:49 -07:00
fold.rs rustc_privacy: visit Ty instead of HIR types in EmbargoVisitor. 2016-11-28 05:09:28 +02:00
item_path.rs Refactor TyTrait to contain a interned ExistentialPredicate slice. 2016-11-28 18:09:13 -07:00
layout.rs Incorporate review comments. 2016-12-16 12:06:12 -05:00
maps.rs rustc: simplify AdtDef by removing the field types and ty::ivar. 2016-11-29 21:24:26 +02:00
mod.rs Auto merge of #38053 - eddyb:lazy-9, r=nikomatsakis 2016-12-02 15:06:36 +00:00
outlives.rs Refactor TyTrait to contain a interned ExistentialPredicate slice. 2016-11-28 18:09:13 -07:00
relate.rs Refactor FnSig to contain a Slice for its inputs and outputs. 2016-12-05 22:33:38 -07:00
structural_impls.rs Refactor FnSig to contain a Slice for its inputs and outputs. 2016-12-05 22:33:38 -07:00
sty.rs Refactor FnSig to contain a Slice for its inputs and outputs. 2016-12-05 22:33:38 -07:00
subst.rs rustc: remove type information from TraitDef. 2016-11-29 21:24:26 +02:00
trait_def.rs rustc: remove type information from TraitDef. 2016-11-29 21:24:26 +02:00
util.rs Use StableHasher everywhere 2016-12-15 20:48:59 +02:00
walk.rs Refactor ty::FnSig to privatize all fields 2016-12-05 22:22:49 -07:00
wf.rs Adds TyCtxt::require_lang_item(LangItem) to simplify lang item requires. 2016-11-28 18:09:15 -07:00