about summary refs log tree commit diff
path: root/src/librustc_codegen_ssa
AgeCommit message (Collapse)AuthorLines
2019-12-03rustc_codegen_ssa: take a FnAbi instead of a FnSig in declare_fn.Eduard-Mihai Burtescu-2/+3
2019-12-03rustc_codegen_ssa: remove define_fn and define_internal_fn.Eduard-Mihai Burtescu-14/+0
2019-12-03rustc_codegen_ssa: clean up lifetimes on TerminatorCodegenHelper's methods.Eduard-Mihai Burtescu-14/+13
2019-12-03rustc_codegen_ssa: make codegen_instance a simple wrapper for codegen_mir.Eduard-Mihai Burtescu-10/+7
2019-12-03rustc_codegen_ssa: use &'tcx mir::Body<'tcx> instead of &'a ... for the MIR ↵Eduard-Mihai Burtescu-28/+29
body.
2019-12-03rustc: expose the mir::Body reference lifetime from mir::ReadOnlyBodyCache ↵Eduard-Mihai Burtescu-7/+7
(#64736 fallout).
2019-12-03Update measureme crate to 0.5.0.Michael Woerister-1/+1
2019-12-03Change linker for x86_64-fortanix-unknown-sgx to rust-lldParth Sane-1/+2
For SGX, the relocation using the relocation table is done by the code in rust/src/libstd/sys/sgx/abi/reloc.rs and this code should not require relocation. Setting RelaxELFRelocations flag if allows this to happen, hence adding a Target Option for it.
2019-12-02Fix issues caused during rebasingPaul Daniel Faria-1/+1
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-7/+7
rename all body_cache back to body
2019-12-02Remove BodyCache.body and rely on Deref as much as possible for ↵Paul Daniel Faria-11/+13
ReadOnlyBodyCache
2019-12-02Undo minor changes that weren't needed, fix one lifetime typoPaul Daniel Faria-30/+30
2019-12-02Fix compilation errors created during rebasePaul Daniel Faria-2/+2
2019-12-02Fix tidy errorsPaul Daniel Faria-1/+5
2019-12-02Simplify BodyCache impl and fix all remaining type errors in librustc_mir ↵Paul Daniel Faria-55/+51
(lifetime errors still exist)
2019-12-02Account for new maybe_sideeffect helper that requires predecessorsPaul Daniel Faria-45/+45
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-6/+7
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-35/+46
errors in librustc_codegen_ssa
2019-12-02Move predecessors cache invalidation back to basic_blocks_mut, add a couple ↵Paul Daniel Faria-1/+1
more ensure_predecessors to prevent panics
2019-12-02Stop invalidating predecessors cache when accessing unique basic block, ↵Paul Daniel Faria-1/+1
invalidate cache when accessing unique terminator
2019-12-02Rollup merge of #66822 - RalfJung:miri-panic, r=oli-obkRalf Jung-11/+4
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-01rustc_plugin: Remove support for plugins adding LLVM passesVadim Petrochenkov-3/+0
2019-11-30libunwind_panic: adjust miri panic hackRalf Jung-11/+4
2019-11-27rustc: move debug info from LocalDecl and UpvarDecl into a dedicated ↵Eduard-Mihai Burtescu-158/+98
VarDebugInfo.
2019-11-26Auto merge of #66522 - tmiasko:sanitize-flags, r=alexcrichtonbors-17/+12
Add support for sanitizer recover and tracking origins of uninitialized memory * Add support for sanitizer recovery `-Zsanitizer-recover=...` (equivalent to `-fsanitize-recover` in clang). * Add support for tracking origins of uninitialized memory in MemorySanitizer `-Zsanitizer-memory-track-origins` (equivalent to `-fsanitize-memory-track-origins` in clang).
2019-11-23make `./x.py bench` againMazdak Farrokhzad-2/+2
2019-11-22Rollup merge of #66587 - matthewjasper:handle-static-as-const, r=oli-obkMazdak 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-22Add support for tracking origins of uninitialized memoryTomasz Miąsko-0/+4
2019-11-22Add support for sanitizer recoveryTomasz Miąsko-0/+3
2019-11-22Move sanitizer passes creation from ssa to llvmTomasz Miąsko-17/+5
2019-11-21Fix rebaseMatthew Jasper-1/+1
2019-11-21Readjust constant evaluation for operandsSantiago Pastorino-2/+24
2019-11-21Simplify patternSantiago Pastorino-2/+2
2019-11-21Aggregation of drive-by cosmetic changes.Alexander Regueiro-101/+105
2019-11-21reduce size of hir::ExprKindMazdak Farrokhzad-2/+2
2019-11-15Cleaned up unused labelsBart 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`.
2019-11-15Remove SourceMapper traitMark Rousskov-2/+3
SourceMap is now in the root of all rustc-specific crates, syntax_pos, so there's no need for the trait object to decouple the dependencies between librustc_errors and libsyntax as was needed previously.
2019-11-14Remove unused error_codes.rs filesGuillaume Gomez-71/+0
2019-11-14Update to use new librustc_error_codes libraryGuillaume Gomez-2/+5
2019-11-14Auto merge of #66233 - cjgillot:constkind, r=oli-obkbors-8/+10
Split ConstValue into two enums Hello, Issue #59210 appeared abandoned, so I gave it a go. Some further cleanup and refactoring may be mandated. I did not test beyond `x.py check`, since my home computer dies compiling librustc. Fixes #59210
2019-11-13Rollup merge of #66335 - Mark-Simulacrum:self-profile-to-data, ↵Yuki Okushi-1/+1
r=michaelwoerister Move self-profile infrastructure to data structures The single dependency on queries (QueryName) can be fairly easily abstracted via a trait and this further decouples Session from librustc (the primary goal). This is intended as a precursor to moving Session out of librustc, but since that involves lots of smaller steps that move around code I'm splitting it up into separate PRs.
2019-11-13Rollup merge of #66334 - Mark-Simulacrum:sess-cstore, r=petrochenkovYuki Okushi-2/+2
Move Session fields to CrateStore `allocator_kind` and `injected_panic_runtime` are both query-like, this moves them out of Session and into CrateStore, avoiding the `Once` they previously had by clearing separating initialization and de-initialization.
2019-11-12Fix tidy.Camille GILLOT-1/+3
2019-11-12Rename in librustc_codegen_ssa.Camille GILLOT-8/+8