| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2017-12-21 | Revert "Auto merge of #45225 - eddyb:trans-abi, r=arielb1" | Ariel Ben-Yehuda | -2/+3 | |
| This reverts commit f50fd075c2555d8511ccee8a7fe7aee3f2c45e14, reversing changes made to 5041b3bb3d953a14f32b15d1e41341c629acae12. | ||||
| 2017-11-19 | rustc: move size, align & primitive_align from Abi::Aggregate to layout. | Eduard-Mihai Burtescu | -1/+1 | |
| 2017-11-19 | rustc: remove Ty::layout and move everything to layout_of. | Eduard-Mihai Burtescu | -3/+2 | |
| 2017-11-15 | Auto merge of #45913 - sinkuu:mir-inlining-closure, r=arielb1 | bors | -22/+61 | |
| Handle closures correctly in MIR inlining Fixes #45894. | ||||
| 2017-11-14 | Add TyCtxt::is_closure | Shotaro Yamada | -2/+1 | |
| 2017-11-14 | Make create_temp_necessary a method | Shotaro Yamada | -46/+40 | |
| 2017-11-14 | Handle closures correctly in MIR inlining | Shotaro Yamada | -10/+56 | |
| 2017-11-14 | rustc: split off BodyOwnerKind from MirSource. | Eduard-Mihai Burtescu | -8/+7 | |
| 2017-11-14 | rustc: move the MIR pass infrastructure and list to rustc_mir. | Eduard-Mihai Burtescu | -1/+2 | |
| 2017-11-14 | Auto merge of #45909 - sinkuu:issue-45885, r=arielb1 | bors | -5/+33 | |
| Normalize inlined function in MIR inliner Fixes #45885 r? @arielb1 | ||||
| 2017-11-10 | Normalize inlined function in MIR inliner | Shotaro Yamada | -5/+33 | |
| 2017-11-09 | add a bunch of debug logging to transform::inline | Ariel Ben-Yehuda | -6/+23 | |
| 2017-11-02 | add TerminatorKind::FalseEdges and use it in matches | Mikhail Modin | -0/+6 | |
| 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 | |
