This is a typo/thinko introduced with one of my recent scheduler patches. Rather than flag_sched_pressure we have to use sched_pressure_p, which accurately is only set during sched1. Bootstrapped and tested on i686-linux, and committed as obvious.
Bernd
Index: ChangeLog =================================================================== --- ChangeLog (revision 172524) +++ ChangeLog (working copy) @@ -1,3 +1,9 @@ +2011-04-16 Bernd Schmidt <ber...@codesourcery.com> + + PR target/48629 + * haifa-sched.c (prune_ready_list, schedule_block): Use + sched_pressure_p rather than flag_sched_pressure. + 2011-04-15 Pat Haugen <pthau...@us.ibm.com> * config/rs6000/rs6000.c (call_ABI_of_interest): Call Index: haifa-sched.c =================================================================== --- haifa-sched.c (revision 172368) +++ haifa-sched.c (working copy) @@ -2898,7 +2898,7 @@ prune_ready_list (state_t temp_state, bo cost = 1; reason = "asm"; } - else if (flag_sched_pressure) + else if (sched_pressure_p) cost = 0; else { @@ -3232,7 +3232,7 @@ schedule_block (basic_block *target_bb) { memcpy (temp_state, curr_state, dfa_state_size); cost = state_transition (curr_state, insn); - if (!flag_sched_pressure) + if (!sched_pressure_p) gcc_assert (cost < 0); if (memcmp (temp_state, curr_state, dfa_state_size) != 0) cycle_issued_insns++;