Commit de8e52f0 by Vladimir Makarov Committed by Vladimir Makarov

re PR middle-end/44554 (Stack space after sigsetjmp is reused)

2010-09-09  Vladimir Makarov  <vmakarov@redhat.com>

	PR middle-end/44554
	* ira.c (ira): Switch off sharing spill slots if setjmp is called.

From-SVN: r164102
parent 5fdc49ec
2010-09-09 Vladimir Makarov <vmakarov@redhat.com>
PR middle-end/44554
* ira.c (ira): Switch off sharing spill slots if setjmp is called.
2010-09-09 Vladimir Makarov <vmakarov@redhat.com>
PR middle-end/40386
* ira.c (pseudo_for_reload_consideration_p): Don't use
flag_ira_share_spill_slots.
......
......@@ -3178,9 +3178,12 @@ ira (FILE *f)
ira_assert (ira_conflicts_p || !loops_p);
saved_flag_ira_share_spill_slots = flag_ira_share_spill_slots;
if (too_high_register_pressure_p ())
if (too_high_register_pressure_p () || cfun->calls_setjmp)
/* It is just wasting compiler's time to pack spilled pseudos into
stack slots in this case -- prohibit it. */
stack slots in this case -- prohibit it. We also do this if
there is setjmp call because a variable not modified between
setjmp and longjmp the compiler is required to preserve its
value and sharing slots does not guarantee it. */
flag_ira_share_spill_slots = FALSE;
ira_color ();
......
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