| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2019-12-11 | Auto merge of #66650 - matthewjasper:nonuniform-array-move, r=pnkfelix | bors | -1/+2 | |
| Remove uniform array move MIR passes This PR fixes a number of bugs caused by limitations of this pass * Projections from constant indexes weren't being canonicalized * Constant indexes from the start weren't being canonicalized (they could have different min_lengths) * It didn't apply to non-moves This PR makes the following changes to support removing this pass: * ConstantIndex of arrays are now generated in a canonical form (from the start, min_length is the actual length). * Subslices are now split when generating move paths and when checking subslices have been moved. Additionally * The parent move path of a projection from an array element is now calculated correctly closes #66502 | ||||
| 2019-12-11 | Rollup merge of #67134 - oli-obk:const_prop_zst, r=wesleywiser | Yuki Okushi | -1/+8 | |
| Ensure that we get a hard error on generic ZST constants if their bod… …y causes an error during evaluation cc #67083 (does not fix because we still need the beta backport) r? @wesleywiser cc @RalfJung | ||||
| 2019-12-09 | Make const index and subslice array projections more useful | Matthew Jasper | -1/+2 | |
| * `min_length` is now exact for const index elements. * const index elements are always from the start. * make array `Subslice` `PlaceElems` count both `from` and `to` from the start. | ||||
| 2019-12-08 | Rollup merge of #66991 - Nashenas88:body_cache_cleanup, r=eddyb | Mazdak Farrokhzad | -3/+3 | |
| Cleanup BodyCache After this PR: - `BodyCache` is renamed to `BodyAndCache` - `ReadOnlyBodyCache` is renamed to `ReadOnlyBodyAndCache` - `ReadOnlyBodyAndCache::body` fn is removed and all calls to it are replaced by a deref (possible due to fix of its `Deref` imp in #65947) cc @eddyb @oli-obk | ||||
| 2019-12-08 | Rollup merge of #66325 - BartMassey:master, r=joshtriplett | Mazdak Farrokhzad | -1/+1 | |
| Change unused_labels from allow to warn Fixes #66324, making the unused_labels lint warn instead of allow by default. I'm told @rust-lang/lang will need to review this, and perhaps will want to do a crater run. | ||||
| 2019-12-08 | Ensure that we get a hard error on generic ZST constants if their body ↵ | Oliver Scherer | -1/+8 | |
| causes an error during evaluation | ||||
| 2019-12-07 | Auto merge of #65881 - anp:implicit-caller-location, r=eddyb,oli-obk | bors | -12/+50 | |
| Implement #[track_caller] attribute. (RFC 2091 4/N) Implements the `#[track_caller]` attribute in both const and codegen contexts. The const implementation walks up the stack to find the nearest untracked callsite. The codegen implementation adds an implicit argument to tracked function calls, and populates it with either a call to the previously-landed intrinsic or if the caller has `#[track_caller]` with a copy of the location passed to the current function. Also includes a little cleanup and a few comments in the other caller location areas. [Depends on: 65664](https://github.com/rust-lang/rust/pull/65664) [RFC 2091 text](https://github.com/rust-lang/rfcs/blob/master/text/2091-inline-semantic.md) [Tracking issue](https://github.com/rust-lang/rust/issues/47809) [Tracking doc](https://paper.dropbox.com/doc/track_rfc_2091_impl-notes--Anf1NwnIb0xcRv31YLIadyj0Ag-rwCdRc2fi2yvRZ7syGZ9q#:uid=863513134494965680023183&h2=TODO-actually-pass-location-to) | ||||
| 2019-12-06 | Address review feedback. | Adam Perry | -4/+4 | |
| 2019-12-06 | Caller location is propagated via immediates rather than memory. | Adam Perry | -8/+13 | |
| 2019-12-05 | Pass a location to #[track_caller] functions in codegen_call_terminator. | Adam Perry | -4/+29 | |
| 2019-12-05 | Add field to FunctionCx for passing caller location. | Adam Perry | -8/+16 | |
| 2019-12-05 | rustc_codegen_ssa: Fix line accidentally reverted during rebase | Paul Daniel Faria | -1/+1 | |
| 2019-12-05 | rustc: Apply clearer naming to BodyAndCache, fix Deref impl, remove unneeded ↵ | Paul Daniel Faria | -2/+2 | |
| Index impl, remove body fn rustc_codegen_ssa: Fix BodyAndCache reborrow to Body and change instances of body() call to derefence rustc_mir: Fix BodyAndCache reborrow to Body and change intances of body() call to derefence | ||||
| 2019-12-06 | use abort instead of unreachable | Ralf Jung | -1/+9 | |
| 2019-12-05 | comments | Ralf Jung | -2/+5 | |
| 2019-12-05 | codegen: mark invalid SetDiscriminant unreachable | Ralf Jung | -2/+3 | |
| 2019-12-03 | rustc: take a PolyFnSig instead of an FnSig in FnAbi::of_fn_ptr. | Eduard-Mihai Burtescu | -17/+13 | |
| 2019-12-03 | rustc: rename FnAbi::new to FnAbi::of_fn_ptr. | Eduard-Mihai Burtescu | -1/+1 | |
| 2019-12-03 | rustc: compute FnAbi's for virtual calls through FnAbi::of_instance. | Eduard-Mihai Burtescu | -22/+26 | |
| 2019-12-03 | rustc_codegen_ssa: use FnAbi::of_instance wherever possible. | Eduard-Mihai Burtescu | -5/+2 | |
| 2019-12-03 | rustc_codegen_ssa: clean up lifetimes on TerminatorCodegenHelper's methods. | Eduard-Mihai Burtescu | -14/+13 | |
| 2019-12-03 | rustc_codegen_ssa: make codegen_instance a simple wrapper for codegen_mir. | Eduard-Mihai Burtescu | -3/+6 | |
| 2019-12-03 | rustc_codegen_ssa: use &'tcx mir::Body<'tcx> instead of &'a ... for the MIR ↵ | Eduard-Mihai Burtescu | -28/+29 | |
| body. | ||||
| 2019-12-03 | rustc: expose the mir::Body reference lifetime from mir::ReadOnlyBodyCache ↵ | Eduard-Mihai Burtescu | -7/+7 | |
| (#64736 fallout). | ||||
| 2019-12-02 | Fix issues caused during rebasing | Paul Daniel Faria | -1/+1 | |
| 2019-12-02 | Remove files created during conflict resolution | Paul Daniel Faria | -1696/+0 | |
| 2019-12-02 | Fix typos caused during rebase | Paul Daniel Faria | -2/+1698 | |
| 2019-12-02 | Remove HasLocalDecls impl from BodyCache's, properly reborrow to Body, ↵ | Paul Daniel Faria | -7/+7 | |
| rename all body_cache back to body | ||||
| 2019-12-02 | Remove BodyCache.body and rely on Deref as much as possible for ↵ | Paul Daniel Faria | -11/+13 | |
| ReadOnlyBodyCache | ||||
| 2019-12-02 | Undo minor changes that weren't needed, fix one lifetime typo | Paul Daniel Faria | -30/+30 | |
| 2019-12-02 | Fix compilation errors created during rebase | Paul Daniel Faria | -2/+2 | |
| 2019-12-02 | Fix tidy errors | Paul Daniel Faria | -1/+5 | |
| 2019-12-02 | Simplify BodyCache impl and fix all remaining type errors in librustc_mir ↵ | Paul Daniel Faria | -52/+51 | |
| (lifetime errors still exist) | ||||
| 2019-12-02 | Account for new maybe_sideeffect helper that requires predecessors | Paul Daniel Faria | -45/+45 | |
| 2019-12-02 | Convert &mut to & since the reference didn't need to be mutable | Paul Daniel Faria | -2/+2 | |
| 2019-12-02 | Revert back to using FunctionCx's Body | Paul Daniel Faria | -147/+118 | |
| 2019-12-02 | Add Body back as field of FunctionCx, but under a different lifetime | Paul Daniel Faria | -49/+46 | |
| 2019-12-02 | Improved BodyCache body impl so it only returns a sharable ref, add new ↵ | Paul Daniel Faria | -6/+7 | |
| body_mut method, fix visit macros, simplify usage in codegen_ssa analyzer | ||||
| 2019-12-02 | Remove Body from FunctionCx, pass it along during librustc_codegen_ssa | Paul Daniel Faria | -157/+182 | |
| 2019-12-02 | Simplify Cache wrapper to single type, impl Deref on it, fix all compilation ↵ | Paul Daniel Faria | -34/+42 | |
| errors in librustc_codegen_ssa | ||||
| 2019-12-02 | Move predecessors cache invalidation back to basic_blocks_mut, add a couple ↵ | Paul Daniel Faria | -1/+1 | |
| more ensure_predecessors to prevent panics | ||||
| 2019-12-02 | Stop invalidating predecessors cache when accessing unique basic block, ↵ | Paul Daniel Faria | -1/+1 | |
| invalidate cache when accessing unique terminator | ||||
| 2019-11-30 | libunwind_panic: adjust miri panic hack | Ralf Jung | -11/+4 | |
| 2019-11-27 | rustc: move debug info from LocalDecl and UpvarDecl into a dedicated ↵ | Eduard-Mihai Burtescu | -158/+98 | |
| VarDebugInfo. | ||||
| 2019-11-22 | Rollup merge of #66587 - matthewjasper:handle-static-as-const, r=oli-obk | Mazdak Farrokhzad | -4/+26 | |
| Handle statics in MIR as const pointers This is the first PR towards the goal of removing `PlaceBase::Static`. In this PR: * Statics are lowered to dereferencing a const pointer. * The temporaries holding such pointers are tracked in MIR, for the most part this is only used for diagnostics. There are two exceptions: * The borrow checker has some checks for thread-locals that directly use this data. * Const checking will suppress "cannot dereference raw pointer" diagnostics for pointers to `static mut`/`extern static`. This is to maintain the current behaviour (12 tests fail otherwise). The following are left to future PRs (I think that @spastorino will be working on the first 3): * Applying the same treatments to promoted statics. * Removing `PlaceBase::Static`. * Replacing `PlaceBase` with `Local`. * Moving the ever growing collection of metadata that we have for diagnostics in MIR passes somewhere more appropriate. r? @oli-obk | ||||
| 2019-11-21 | Fix rebase | Matthew Jasper | -1/+1 | |
| 2019-11-21 | Readjust constant evaluation for operands | Santiago Pastorino | -2/+24 | |
| 2019-11-21 | Simplify pattern | Santiago Pastorino | -2/+2 | |
| 2019-11-21 | Aggregation of drive-by cosmetic changes. | Alexander Regueiro | -49/+47 | |
| 2019-11-15 | Cleaned up unused labels | Bart Massey | -1/+1 | |
| Deleted unused labels from compiler and fixed or allowed unused labels in tests. This patch removes some gratuitous unused labels and turns off the warning for unused labels that are a necessary part of tests. This will permit setting the `unused_labels` lint to `warn`. | ||||
