summary refs log tree commit diff
path: root/src/librustc_codegen_ssa/mir/mod.rs
AgeCommit message (Collapse)AuthorLines
2020-02-08rustc_codegen_ssa: remove unnecessary source_locations_enabled.Eduard-Mihai Burtescu-7/+0
2020-02-03rustc_codegen_ssa: convert mir::VarDebugInfo into a custom PerLocalVarDebugInfo.Eduard-Mihai Burtescu-5/+8
2019-12-22Format the worldMark Rousskov-151/+165
2019-12-08Rollup merge of #66991 - Nashenas88:body_cache_cleanup, r=eddybMazdak Farrokhzad-2/+2
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-06Address review feedback.Adam Perry-2/+2
2019-12-06Caller location is propagated via immediates rather than memory.Adam Perry-4/+11
2019-12-05Pass a location to #[track_caller] functions in codegen_call_terminator.Adam Perry-4/+17
2019-12-05Add field to FunctionCx for passing caller location.Adam Perry-0/+4
2019-12-05rustc_codegen_ssa: Fix line accidentally reverted during rebasePaul Daniel Faria-1/+1
2019-12-05rustc: Apply clearer naming to BodyAndCache, fix Deref impl, remove unneeded ↵Paul Daniel Faria-1/+1
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-03rustc: compute FnAbi's for virtual calls through FnAbi::of_instance.Eduard-Mihai Burtescu-1/+1
2019-12-03rustc_codegen_ssa: use FnAbi::of_instance wherever possible.Eduard-Mihai Burtescu-5/+2
2019-12-03rustc_codegen_ssa: make codegen_instance a simple wrapper for codegen_mir.Eduard-Mihai Burtescu-3/+6
2019-12-03rustc_codegen_ssa: use &'tcx mir::Body<'tcx> instead of &'a ... for the MIR ↵Eduard-Mihai Burtescu-7/+7
body.
2019-12-02Fix issues caused during rebasingPaul Daniel Faria-1/+1
2019-12-02Remove BodyCache.body and rely on Deref as much as possible for ↵Paul Daniel Faria-1/+1
ReadOnlyBodyCache
2019-12-02Undo minor changes that weren't needed, fix one lifetime typoPaul Daniel Faria-3/+4
2019-12-02Fix compilation errors created during rebasePaul Daniel Faria-1/+1
2019-12-02Simplify BodyCache impl and fix all remaining type errors in librustc_mir ↵Paul Daniel Faria-9/+8
(lifetime errors still exist)
2019-12-02Account for new maybe_sideeffect helper that requires predecessorsPaul Daniel Faria-9/+10
2019-12-02Convert &mut to & since the reference didn't need to be mutablePaul Daniel Faria-1/+1
2019-12-02Revert back to using FunctionCx's BodyPaul Daniel Faria-6/+5
2019-12-02Add Body back as field of FunctionCx, but under a different lifetimePaul Daniel Faria-6/+6
2019-12-02Remove Body from FunctionCx, pass it along during librustc_codegen_ssaPaul Daniel Faria-14/+14
2019-12-02Simplify Cache wrapper to single type, impl Deref on it, fix all compilation ↵Paul Daniel Faria-8/+8
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-11-27rustc: move debug info from LocalDecl and UpvarDecl into a dedicated ↵Eduard-Mihai Burtescu-1/+3
VarDebugInfo.
2019-11-03rustc: rename {Fn,Arg}TypeExt to {Fn,Arg}AbiExt.Eduard-Mihai Burtescu-1/+1
2019-11-03rustc_target: rename {Fn,Arg}Type to {Fn,Arg}Abi.Eduard-Mihai Burtescu-10/+10
2019-10-31rustc_codegen_ssa: introduce MIR VarDebugInfo, but only for codegen.Eduard-Mihai Burtescu-0/+2
2019-10-31rustc_codegen_ssa: move debuginfo scopes into FunctionDebugContext.Eduard-Mihai Burtescu-8/+7
2019-10-31rustc_codegen_ssa: move all set_var_name calls to mir::debuginfo.Eduard-Mihai Burtescu-39/+5
2019-10-31rustc_codegen_ssa: move local variable debuginfo to mir::debuginfo.Eduard-Mihai Burtescu-233/+30
2019-10-31rustc_codegen_ssa: move debuginfo-related things to a new mir::debuginfo module.Eduard-Mihai Burtescu-61/+4
2019-10-13s/FuncId/Functionbjorn3-2/+2
2019-10-13Introduce FuncId backend typebjorn3-2/+2
2019-10-10Auto merge of #59546 - sfanxiang:interminable-ub, r=nagisabors-0/+2
Add llvm.sideeffect to potential infinite loops and recursions LLVM assumes that a thread will eventually cause side effect. This is not true in Rust if a loop or recursion does nothing in its body, causing undefined behavior even in common cases like `loop {}`. Inserting llvm.sideeffect fixes the undefined behavior. As a micro-optimization, only insert llvm.sideeffect when jumping back in blocks or calling a function. A patch for LLVM is expected to allow empty non-terminate code by default and fix this issue from LLVM side. https://github.com/rust-lang/rust/issues/28728 **UPDATE:** [Mentoring instructions here](https://github.com/rust-lang/rust/pull/59546#issuecomment-515072429) to unstall this PR
2019-10-04clean up GeneratorSubstscsmoe-1/+1
2019-10-04Rollup merge of #64817 - csmoe:closure, r=nikomatsakisMazdak Farrokhzad-1/+2
Replace ClosureSubsts with SubstsRef Addresses https://github.com/rust-lang/rust/issues/42340 part 3 https://github.com/rust-lang/rust/pull/59312 might benefit from this clean up. r? @nikomatsakis
2019-10-03generate ClosureSubsts from SubstsRefcsmoe-1/+1
2019-09-29remove indexed_vec re-export from rustc_data_structurescsmoe-1/+1
2019-09-29remove ClosureSubsts with SubstsRefcsmoe-1/+2
2019-09-29remove bit_set re-export from rustc_data_structurescsmoe-1/+1
2019-09-28rustc_codegen_ssa: remove redundant `va_list_ref` field from `FunctionCx`.Eduard-Mihai Burtescu-13/+1
2019-09-28rustc: rely on c_variadic == true instead of CVarArgs in HIR/Ty fn signatures.Eduard-Mihai Burtescu-28/+30
2019-09-28Generate llvm.sideeffect at function entry instead of callXiang Fan-0/+2
2019-09-25Rename `sty` to `kind`varkor-7/+7
2019-09-13codegen: use "_N" (like for other locals) instead of "argN", for argument names.Eduard-Mihai Burtescu-1/+2
2019-09-12codegen: be more explicit about setting giving names to allocas.Eduard-Mihai Burtescu-11/+15