mirror of
https://github.com/rust-lang/rust.git
synced 2025-01-26 14:43:24 +00:00
Elide storage markers for internal locals when inlining
This commit is contained in:
parent
162bd16352
commit
625af2cc75
@ -616,7 +616,9 @@ impl<'tcx> Inliner<'tcx> {
|
||||
// If there are any locals without storage markers, give them storage only for the
|
||||
// duration of the call.
|
||||
for local in callee_body.vars_and_temps_iter() {
|
||||
if integrator.always_live_locals.contains(local) {
|
||||
if !callee_body.local_decls[local].internal
|
||||
&& integrator.always_live_locals.contains(local)
|
||||
{
|
||||
let new_local = integrator.map_local(local);
|
||||
caller_body[callsite.block].statements.push(Statement {
|
||||
source_info: callsite.source_info,
|
||||
@ -629,7 +631,9 @@ impl<'tcx> Inliner<'tcx> {
|
||||
// the slice once.
|
||||
let mut n = 0;
|
||||
for local in callee_body.vars_and_temps_iter().rev() {
|
||||
if integrator.always_live_locals.contains(local) {
|
||||
if !callee_body.local_decls[local].internal
|
||||
&& integrator.always_live_locals.contains(local)
|
||||
{
|
||||
let new_local = integrator.map_local(local);
|
||||
caller_body[block].statements.push(Statement {
|
||||
source_info: callsite.source_info,
|
||||
|
Loading…
Reference in New Issue
Block a user