Eduard-Mihai Burtescu
07ff914be1
rustc: simplify AdtDef by removing the field types and ty::ivar.
2016-11-29 21:24:26 +02:00
Mark-Simulacrum
bdb399db01
Fix ICE when attempting to get closure generics.
2016-10-30 08:12:20 -06:00
Niko Matsakis
7057c421c0
cache projections in trans
2016-08-31 17:47:33 -04:00
Niko Matsakis
72694d5829
give apply_param_substs
a SharedCrateContext
...
I plan to put a cache on the shared context, for now at least.
2016-08-31 17:05:53 -04:00
Niko Matsakis
4eb7362c2c
simplify DepNode for trait selection
2016-08-31 15:23:50 -04:00
Eduard Burtescu
5222fa58a1
rustc: use accessors for Substs::{types,regions}.
2016-08-27 00:25:04 +03:00
Eduard Burtescu
25cf8001b1
Remove AST from metadata except for consts and const fns.
2016-08-24 13:23:38 +03:00
Eduard Burtescu
9453d9b8ad
rustc: remove ParamSpace from Substs.
2016-08-17 06:32:00 +03:00
Eduard Burtescu
4158673ad7
rustc: reduce Substs and Generics to a simple immutable API.
2016-08-17 05:50:57 +03:00
Eduard Burtescu
77dc61b5c6
rustc: force all raw accesses to VecPerParamSpace through as_full_slice.
2016-08-17 05:50:57 +03:00
Ariel Ben-Yehuda
3041a97b1a
finish type-auditing rustllvm
2016-08-03 15:08:47 +03:00
Niko Matsakis
58d4b8edd3
Modify trans to skip generating .o
files
...
This checks the `previous_work_products` data from the dep-graph and
tries to simply copy a `.o` file if possible. We also add new
work-products into the dep-graph, and create edges to/from the dep-node
for a work-product.
2016-07-28 12:05:45 -04:00
Michael Woerister
1c03bfe3b4
trans: Adjust linkage assignment so that we don't need weak linkage.
2016-07-08 10:42:48 -04:00
Michael Woerister
ac80d41175
trans: Remove tracking of translation item state.
...
The data tracked here was meant to compare the output of the
translation item collector to the set of translation items found
by the on-demand translator.
2016-07-08 10:42:48 -04:00
Michael Woerister
4c27a3c6d5
trans: Enable falling back to on-demand instantiation for drop-glue and monomorphizations.
...
See issue #34151 for more information.
2016-07-08 10:42:48 -04:00
Michael Woerister
ab80f74670
collector-driven-trans: Take care of nits.
2016-07-08 10:42:47 -04:00
Michael Woerister
b38e0d0d44
Build SymbolMap for symbol name conflict checking and caching.
2016-07-08 10:42:47 -04:00
Michael Woerister
5f3fefc77d
trans: Get rid of the last potential on-demand creation of non-closure functions.
2016-07-08 10:42:46 -04:00
James Miller
6717106947
Drive function item translation from collector
...
Functions and method are declared ahead-of-time, including generic ones.
Closures are not considered trans items anymore, instead they are
translated on demands.
2016-07-08 10:42:38 -04:00
Ariel Ben-Yehuda
c333ebbe63
fix RUST_LOG, hopefully for real this time
2016-07-01 23:52:22 +03:00
Jonathan Turner
6ae3502134
Move errors from libsyntax to its own crate
2016-06-23 08:07:35 -04:00
Zack M. Davis
8531d58104
prefer if let
to match with None => ()
arm in some places
...
Casual grepping revealed some places in the codebase (some of which
antedated `if let`'s December 2014 stabilization in c200ae5a) where we
were using a match with a `None => ()` arm where (in the present
author's opinion) an `if let` conditional would be more readable. (Other
places where matching to the unit value did seem to better express the
intent were left alone.)
It's likely that we don't care about making such trivial,
non-functional, sheerly æsthetic changes.
But if we do, this is a patch.
2016-06-15 08:13:10 -07:00
Eduard Burtescu
bcec7a5848
rustc: add ReErased to be used by trait selection, MIR and trans.
2016-06-05 13:58:51 +03:00
Ariel Ben-Yehuda
f6068ea847
fix ICEs with RUST_LOG
2016-06-03 16:11:18 +03:00
Michael Woerister
4f7ab0e16b
Emit "no-frame-pointer-elim" attribute for closures, shims, and glue.
2016-05-27 13:54:43 -04:00
Eduard Burtescu
c9a10bd26b
trans: move exported_symbol to Instance::symbol_name.
2016-05-25 01:34:20 +03:00
Eduard Burtescu
14133d33bc
trans: move exported_name's logic into symbol_names.
2016-05-25 01:34:17 +03:00
Michael Woerister
802bb578e4
trans: Use CrateContext::empty_substs_for_def_id() instead of Substs::empty() where appropriate.
2016-05-11 17:11:20 -04:00
Eduard Burtescu
a1c170fc35
rustc: Split local type contexts interners from the global one.
2016-05-11 04:14:58 +03:00
Eduard Burtescu
76affa5d6f
rustc: Split 'tcx into 'gcx and 'tcx for InferCtxt and its users.
2016-05-11 04:14:58 +03:00
Eduard Burtescu
513d392f7e
rustc: Replace &'a TyCtxt<'tcx> with a TyCtxt<'a, 'tcx> wrapper.
2016-05-11 04:14:58 +03:00
Eduard Burtescu
6e290998c3
infer: Turn normalize_associated_type into a method on TyCtxt.
2016-05-11 04:14:58 +03:00
Eduard Burtescu
ffca6c3e15
rustc: move middle::{def,def_id,pat_util} to hir.
2016-04-06 09:14:21 +03:00
Eduard Burtescu
8b0937293b
rustc: move rustc_front to rustc::hir.
2016-04-06 09:01:55 +03:00
Benjamin Herr
c59ea491ea
librustc_trans: use bug!(), span_bug!()
2016-03-31 22:06:52 +02:00
Björn Steinbrink
22f4587586
Use weak_odr linkage when reusing definitions across codegen units
...
When reuing a definition across codegen units, we obviously cannot use
internal linkage, but using external linkage means that we can end up
with multiple conflicting definitions of a single symbol across
multiple crates. Since the definitions should all be equal
semantically, we can use weak_odr linkage to resolve the situation.
Fixes #32518
2016-03-29 16:44:54 +02:00
Eduard Burtescu
035a645e64
rustc_trans: move the contents of the trans module to top-level.
2016-03-27 01:23:28 +02:00