about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorLines
2019-12-02Fix rebasing errors, convert some BodyCache::body() calls to reborrowsPaul Daniel Faria-38/+39
2019-12-02Fix type errors created during rebasingPaul Daniel Faria-70/+67
2019-12-02Remove unchecked inline attribute, remove unused functions, make chache mod ↵Paul Daniel Faria-48/+26
private again
2019-12-02Remove inline attributes that hadn't been profiled, unexport Cache since it ↵Paul Daniel Faria-17/+1
no longer needs to be public
2019-12-02Fix type errors cause during rebasingPaul Daniel Faria-5/+6
2019-12-02Compute predecessors in mir_build query and use existing cache for ↵Paul Daniel Faria-14/+7
generating ReadOnlyBodyCache, remove unneeded fns
2019-12-02Remove files created during conflict resolutionPaul Daniel Faria-1696/+0
2019-12-02Fix typos caused during rebasePaul Daniel Faria-2/+1698
2019-12-02Remove HasLocalDecls impl from BodyCache's, properly reborrow to Body, ↵Paul Daniel Faria-630/+618
rename all body_cache back to body
2019-12-02Remove BodyCache.body and rely on Deref as much as possible for ↵Paul Daniel Faria-87/+89
ReadOnlyBodyCache
2019-12-02Undo minor changes that weren't needed, fix one lifetime typoPaul Daniel Faria-30/+31
2019-12-02Fix compilation errors created during rebasePaul Daniel Faria-2/+2
2019-12-02Fix typoPaul Daniel Faria-1/+1
2019-12-02Fix tidy errorsPaul Daniel Faria-62/+182
2019-12-02Fix typos caused during rebasePaul Daniel Faria-6/+6
2019-12-02Fix remaining compilation issuesPaul Daniel Faria-50/+102
2019-12-02Simplify BodyCache impl and fix all remaining type errors in librustc_mir ↵Paul Daniel Faria-612/+588
(lifetime errors still exist)
2019-12-02Fix remaining Body -> (ReadOnly)BodyCache type errors in librustc_mir ↵Paul Daniel Faria-14/+16
outside of librustc_mir/transform
2019-12-02Fix typo caused by rebasingPaul Daniel Faria-1/+1
2019-12-02Add predecessors fn to ReadOnlyBodyCache, fix more Body -> ↵Paul Daniel Faria-47/+52
(ReadOnly)BodyCache type errors
2019-12-02Add read_only fn to BodyCache<&mut...> impl, fix more Body -> ↵Paul Daniel Faria-40/+48
(ReadOnly)BodyCache type errors
2019-12-02Fix a large number of Body -> (ReadOnly)BodyCache type errors, add ↵Paul Daniel Faria-183/+207
predecessor_locations fn to ReadOnlyBodyCache
2019-12-02Account for new maybe_sideeffect helper that requires predecessorsPaul Daniel Faria-133/+176
2019-12-02Convert &mut to & since the reference didn't need to be mutablePaul Daniel Faria-2/+2
2019-12-02Revert back to using FunctionCx's BodyPaul Daniel Faria-147/+118
2019-12-02Add Body back as field of FunctionCx, but under a different lifetimePaul Daniel Faria-49/+46
2019-12-02Improved BodyCache body impl so it only returns a sharable ref, add new ↵Paul Daniel Faria-12/+23
body_mut method, fix visit macros, simplify usage in codegen_ssa analyzer
2019-12-02Remove Body from FunctionCx, pass it along during librustc_codegen_ssaPaul Daniel Faria-159/+184
2019-12-02Simplify Cache wrapper to single type, impl Deref on it, fix all compilation ↵Paul Daniel Faria-162/+132
errors in librustc_codegen_ssa
2019-12-02Move predecessor cache outside of Body, use wrapper types to manage Cache ↵Paul Daniel Faria-161/+300
and Body (WIP, amend this commit)
2019-12-02Move predecessors cache back to its own typePaul Daniel Faria-14/+61
This ensures that the cache can be properly ignored during encoding and decoding. Fix panics that arose due to lack of encoding
2019-12-02Add back cache invalidation to basic_blocks_and_local_decls_mutPaul Daniel Faria-1/+3
2019-12-02Address nits and remove unneeded passPaul Daniel Faria-8/+4
2019-12-02Address excessive line length that was triggering warning during lintingPaul Daniel Faria-1/+5
2019-12-02Move predecessors cache invalidation back to basic_blocks_mut, add a couple ↵Paul Daniel Faria-125/+102
more ensure_predecessors to prevent panics
2019-12-02Ensure predecessors are recomputed at critical points, fixes panicsPaul Daniel Faria-22/+40
2019-12-02Address linting errors caught by CIPaul Daniel Faria-4/+6
2019-12-02Fix Mir visitor macro to ensure it calls the proper method to invalidate the ↵Paul Daniel Faria-12/+24
predecessors cache
2019-12-02Add pass to ensure predecessors cache is generated after optimizationPaul Daniel Faria-15/+20
2019-12-02Stop invalidating predecessors cache when accessing unique basic block, ↵Paul Daniel Faria-73/+112
invalidate cache when accessing unique terminator
2019-12-02Get rid of old commentPaul Daniel Faria-1/+0
2019-12-02Inline cache impl into Body, rename predecessor fns, change output of ↵Paul Daniel Faria-91/+38
predecessors_for to slice
2019-12-02Remove interior mutability in mir predecessors cachePaul Daniel Faria-18/+27
2019-12-02Rollup merge of #66834 - infinity0:master, r=Mark-SimulacrumRalf Jung-6/+8
rustbuild fixes When upgrading Debian's rustc to 1.38 I needed these patches: (1) In order to cross-compile rustc 1.38 and take it through the full rustbuild process including install, I needed the first patch. (2) In order to build rustc 1.38 using rustc 1.38 itself I need to set --cap-lints warn, otherwise I get this error: ~~~~ error: unnecessary `unsafe` block --> src/bootstrap/builder.rs:148:19 | 148 | name: unsafe { ::std::intrinsics::type_name::<S>() }, | ^^^^^^ unnecessary `unsafe` block | note: lint level defined here --> src/bootstrap/lib.rs:107:9 | 107 | #![deny(warnings, rust_2018_idioms, unused_lifetimes)] | ^^^^^^^^ = note: `#[deny(unused_unsafe)]` implied by `#[deny(warnings)]` error: aborting due to previous error error: could not compile `bootstrap`. ~~~~ In order to set --cap-lints warn however, I need bootstrap.py not to clobber RUSTFLAGS. (This worked previously, not sure if it was broken intentionally but we would like support for it.)
2019-12-02Rollup merge of #66827 - RalfJung:miri-missing-ret-place, r=oli-obkRalf Jung-15/+23
handle diverging functions forwarding their return place Fixes https://github.com/rust-lang/miri/issues/1075: the shim around diverging closures turned into function pointers actually "obtains" a return place inside a diverging function, but just uses it as the return place for a diverging callee. Handle this by using NULL places. This is kind of a hack as it breaks our invariant that all places are dereferencable, but we'd eventually let raw pointers break that anyway I assume so that seems fine. r? @oli-obk
2019-12-02Rollup merge of #66822 - RalfJung:miri-panic, r=oli-obkRalf Jung-59/+18
libunwind_panic: adjust miri panic hack We adjust the Miri hack in libpanic_unwind such that even with `cfg(miri)`, we build a version of libpanic_unwind that actually works. This is needed to resolve https://github.com/integer32llc/rust-playground/issues/548. r? @oli-obk @alexcrichton
2019-12-02Rollup merge of #66654 - ecstatic-morse:check-consts-ref, r=eddyb,matthewjasperRalf Jung-181/+145
Handle const-checks for `&mut` outside of `HasMutInterior` Addresses [this comment](https://github.com/rust-lang/rust/pull/64470#discussion_r328200508). Const-checking relied on `HasMutInterior` to forbid `&mut` in a const context. This was strange because all we needed to do was look for an `Rvalue::Ref` with a certain `BorrowKind`, whereas the `Qualif` traits are specifically meant to get the qualifs for a *value*. This PR removes that logic from `HasMutInterior` and moves it into `check_consts::Validator`. As a result, we can now properly handle qualifications for `static`s, which had to be ignored previously since you can e.g. borrow a static `Cell` from another `static`. We also remove the `derived_from_illegal_borrow` logic, since it is no longer necessary; we give good errors for subsequent reborrows/borrows of illegal borrows.
2019-12-02Rollup merge of #66245 - tmiasko:cfg-sanitize, r=oli-obkRalf Jung-0/+98
Conditional compilation for sanitizers Configure sanitize option when compiling with a sanitizer to make it possible to execute different code depending on whether given sanitizer is enabled or not.
2019-12-02Rollup merge of #66926 - RalfJung:miri-stop, r=oli-obkMazdak Farrokhzad-17/+13
add reusable MachineStop variant to Miri engine error enum Replace the Miri-tool-specific `Exit` error variant with something dynamically typed that all clients of the Miri engine can use. r? @oli-obk Cc https://github.com/rust-lang/rust/issues/66902
2019-12-02Rollup merge of #66918 - makotokato:aarch32-crc-crypto, r=petrochenkovMazdak Farrokhzad-0/+2
Add crc and crypto to target feature whitelist on arm aarch32 (ARMv8 32-bit) supports crc and crypto.