| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2017-09-29 | stop using monomorphize::resolve() | Douglas Campos | -1/+4 | |
| 2017-09-29 | take ParamEnv into account when resolving | Douglas Campos | -2/+5 | |
| 2017-09-29 | make it not to be a method | Douglas Campos | -1/+1 | |
| 2017-09-29 | always use resolve | Douglas Campos | -19/+4 | |
| 2017-09-29 | re-enable mir inlining across trait methods | Douglas Campos | -8/+23 | |
| this fixes #44389 | ||||
| 2017-09-11 | Auto merge of #44383 - qmx:gh/40473/no-inline-trait-method, r=nikomatsakis | bors | -6/+8 | |
| MIR: should not inline trait method Fixes #40473. The idea here is bailing out of inlining if we're talking about a trait method. | ||||
| 2017-09-08 | simplify | Douglas Campos | -9/+1 | |
| 2017-09-08 | Auto merge of #44142 - alexcrichton:dllimport-query, r=nikomatsakis | bors | -1/+1 | |
| Migrate a slew of metadata methods to queries This PR intends to make more progress on #41417, knocking off some low-hanging fruit. Closes #44190 cc #44137 | ||||
| 2017-09-06 | ugly, but works! | Douglas Campos | -6/+16 | |
| 2017-09-06 | Reintroduce the early returns | Oliver Schneider | -4/+9 | |
| 2017-09-06 | Fix a bug in the inliner | Oliver Schneider | -1/+2 | |
| 2017-09-05 | rustc: Migrate lang items to a query | Alex Crichton | -1/+1 | |
| This commit moves the calculation of the `LanguageItems` structure into a query rather than being calculated before the `TyCtxt` exists, with the eventual end goal of removing some `CrateStore` methods. | ||||
| 2017-09-03 | rustc_mir: implement visit_local instead/along visit_lvalue where possible. | Eduard-Mihai Burtescu | -31/+24 | |
| 2017-08-28 | Merge branch 'master' of https://github.com/rust-lang/rust into gen | John Kåre Alsaker | -1/+6 | |
| 2017-08-25 | rustc: Add a FIXME for `try_get` in MIR inlining | Alex Crichton | -1/+6 | |
| It sounds like this is being handled elsewhere, so for now just preserve the existing behavior of ignoring th error. | ||||
| 2017-08-16 | Merge remote-tracking branch 'origin/master' into gen | Alex Crichton | -9/+9 | |
| 2017-08-15 | use field init shorthand EVERYWHERE | Zack M. Davis | -9/+9 | |
| Like #43008 (f668999), but _much more aggressive_. | ||||
| 2017-07-28 | Rename suspend to yield | John Kåre Alsaker | -2/+2 | |
| 2017-07-28 | Generator literal support | John Kåre Alsaker | -0/+6 | |
| 2017-07-12 | overload the mir ty methods to make them more ergonomic to use | Ralf Jung | -5/+5 | |
| 2017-07-11 | Refactor: {Lvalue,Rvalue,Operand}::ty only need the locals' types, not the ↵ | Ralf Jung | -5/+5 | |
| full &Mir | ||||
| 2017-06-27 | rustc: move the PolyFnSig out of TyFnDef. | Eduard-Mihai Burtescu | -3/+4 | |
| 2017-06-01 | rewrite layout to take a (param-env, ty) pair instead of infcx | Niko Matsakis | -4/+2 | |
| 2017-06-01 | move projection mode into parameter environment | Niko Matsakis | -3/+3 | |
| 2017-05-22 | rename `parameter_environment` to `param_env` | Niko Matsakis | -1/+1 | |
| 2017-05-22 | rename `ParameterEnvironment` to `ParamEnv` | Niko Matsakis | -1/+1 | |
| 2017-05-22 | centralize the caching for is-copy, is-sized, and is-freeze | Niko Matsakis | -1/+1 | |
| Use the trait-environment+type as the key. Note that these are only invoked on types that live for the entire compilation (no inference artifacts). We no longer need the various special-case bits and caches that were in place before. | ||||
| 2017-05-13 | rustc: uniformly compute ParameterEnvironment's "free outlive scope". | Eduard-Mihai Burtescu | -1/+2 | |
| 2017-05-02 | update comment about heuristics | Niko Matsakis | -1/+3 | |
| 2017-05-02 | rename from `item_mir` to `optimized_mir` | Niko Matsakis | -1/+1 | |
| 2017-05-02 | support inlining by asking for optimizer mir for callees | Niko Matsakis | -139/+62 | |
| I tested this with it enabled 100% of the time, and we were able to run mir-opt tests successfully. | ||||
| 2017-05-02 | rip out everything but `MirPass`, move the logic into suites | Niko Matsakis | -16/+11 | |
| 2017-05-02 | remove `Pass` and (temporarily) drop `Inline` | Niko Matsakis | -1/+6 | |
| 2017-05-02 | convert the `inline` pass to use the new multi result | Niko Matsakis | -43/+47 | |
| This involves changing various details about that system, though the basic shape remains the same. | ||||
| 2017-05-02 | retool MIR passes completely | Niko Matsakis | -3/+12 | |
| The new setup is as follows. There is a pipeline of MIR passes that each run **per def-id** to optimize a particular function. You are intended to request MIR at whatever stage you need it. At the moment, there is only one stage you can request: - `optimized_mir(def_id)` This yields the final product. Internally, it pulls the MIR for the given def-id through a series of steps. Right now, these are still using an "interned ref-cell" but they are intended to "steal" from one another: - `mir_build` -- performs the initial construction for local MIR - `mir_pass_set` -- performs a suite of optimizations and transformations - `mir_pass` -- an individual optimization within a suite So, to construct the optimized MIR, we invoke: mir_pass_set((MIR_OPTIMIZED, def_id)) which will build up the final MIR. | ||||
| 2017-05-02 | simplify the MirPass traits and passes dramatically | Niko Matsakis | -14/+4 | |
| Overall goal: reduce the amount of context a mir pass needs so that it resembles a query. - The hooks are no longer "threaded down" to the pass, but rather run automatically from the top-level (we also thread down the current pass number, so that the files are sorted better). - The hook now receives a *single* callback, rather than a callback per-MIR. - The traits are no longer lifetime parameters, which moved to the methods -- given that we required `for<'tcx>` objecs, there wasn't much point to that. - Several passes now store a `String` instead of a `&'l str` (again, no point). | ||||
| 2017-05-02 | rework `MirPass` API to be stateless and extract helper fns | Niko Matsakis | -24/+4 | |
| 2017-05-02 | introduce `mir_keys()` | Niko Matsakis | -29/+9 | |
| Each MIR key is a DefId that has MIR associated with it | ||||
| 2017-04-22 | avoid calling `mk_region` unnecessarily | Ariel Ben-Yehuda | -2/+2 | |
| this improves typeck & trans performance by 1%. This looked hotter on callgrind than it is on a CPU. | ||||
| 2017-04-20 | rustc: combine type_needs_drop_given_env and may_drop into needs_drop. | Eduard-Mihai Burtescu | -1/+1 | |
| 2017-04-11 | store Spans for all MIR locals | Ariel Ben-Yehuda | -9/+6 | |
| 2017-03-10 | Only run inlining if mir opts are enabled | James Miller | -1/+1 | |
| 2017-03-10 | Add dep-graph tasks where needed | James Miller | -16/+10 | |
| 2017-03-10 | Initial implementation of inlining for MIR | James Miller | -0/+842 | |
| Fairly basic implementation of inlining for MIR. Uses conservative heuristics for inlining. | ||||
