Commit 6d7306f7 by Jason Merrill

(expand_function_start): Don't set up context_display

        unless current_function_needs_context.

From-SVN: r11615
parent 65d8b1ce
...@@ -5230,12 +5230,16 @@ expand_function_start (subr, parms_have_cleanups) ...@@ -5230,12 +5230,16 @@ expand_function_start (subr, parms_have_cleanups)
use_variable (current_function_internal_arg_pointer); use_variable (current_function_internal_arg_pointer);
} }
context_display = 0;
if (current_function_needs_context)
{
/* Fetch static chain values for containing functions. */ /* Fetch static chain values for containing functions. */
tem = decl_function_context (current_function_decl); tem = decl_function_context (current_function_decl);
/* If not doing stupid register allocation copy the static chain /* If not doing stupid register allocation copy the static chain
pointer into a pseudo. If we have small register classes, copy the pointer into a pseudo. If we have small register classes, copy
value from memory if static_chain_incoming_rtx is a REG. If we do the value from memory if static_chain_incoming_rtx is a REG. If
stupid register allocation, we use the stack address generated above. */ we do stupid register allocation, we use the stack address
generated above. */
if (tem && ! obey_regdecls) if (tem && ! obey_regdecls)
{ {
#ifdef SMALL_REGISTER_CLASSES #ifdef SMALL_REGISTER_CLASSES
...@@ -5249,7 +5253,6 @@ expand_function_start (subr, parms_have_cleanups) ...@@ -5249,7 +5253,6 @@ expand_function_start (subr, parms_have_cleanups)
last_ptr = copy_to_reg (static_chain_incoming_rtx); last_ptr = copy_to_reg (static_chain_incoming_rtx);
} }
context_display = 0;
while (tem) while (tem)
{ {
tree rtlexp = make_node (RTL_EXPR); tree rtlexp = make_node (RTL_EXPR);
...@@ -5273,6 +5276,7 @@ expand_function_start (subr, parms_have_cleanups) ...@@ -5273,6 +5276,7 @@ expand_function_start (subr, parms_have_cleanups)
save_expr_regs = gen_rtx (EXPR_LIST, VOIDmode, last_ptr, save_expr_regs = gen_rtx (EXPR_LIST, VOIDmode, last_ptr,
save_expr_regs); save_expr_regs);
} }
}
/* After the display initializations is where the tail-recursion label /* After the display initializations is where the tail-recursion label
should go, if we end up needing one. Ensure we have a NOTE here should go, if we end up needing one. Ensure we have a NOTE here
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment