re PR rtl-optimization/20370 (dead_or_predictable doesn't resize reg_n_info)

PR rtl-optimization/20370
	* ifcvt.c (dead_or_predicable): Before calling propagate_block,
	call allocate_reg_info if necessary.

From-SVN: r102282
This commit is contained in:
J"orn Rennecke 2005-07-22 12:25:20 +00:00 committed by Joern Rennecke
parent 475a3eef78
commit 191e1ff2f5
2 changed files with 12 additions and 0 deletions

View File

@ -1,5 +1,9 @@
2005-07-22 J"orn Rennecke <joern.rennecke@st.com>
PR rtl-optimization/20370
* ifcvt.c (dead_or_predicable): Before calling propagate_block,
call allocate_reg_info if necessary.
PR rtl-optimization/21848
* calls.c (emit_library_call_value_1): For const functions, add
USEs of the stack slots to CALL_INSN_FUNCTION_USAGE.

View File

@ -3341,6 +3341,14 @@ dead_or_predicable (basic_block test_bb, basic_block merge_bb,
/* ??? bb->local_set is only valid during calculate_global_regs_live,
so we must recompute usage for MERGE_BB. Not so bad, I suppose,
since we've already asserted that MERGE_BB is small. */
/* If we allocated new pseudos (e.g. in the conditional move
expander called from noce_emit_cmove), we must resize the
array first. */
if (max_regno < max_reg_num ())
{
max_regno = max_reg_num ();
allocate_reg_info (max_regno, FALSE, FALSE);
}
propagate_block (merge_bb, tmp, merge_set, merge_set, 0);
/* For small register class machines, don't lengthen lifetimes of