re PR rtl-optimization/39914 (96% performance regression in floating point code; part of the problem started 2009/03/12-13)

PR rtl-optimization/39914
	* ira-conflicts.c (ira_build_conflicts): Prohibit call used
	registers for allocnos created from user-defined variables only
	when not optimizing.

From-SVN: r146904
This commit is contained in:
Uros Bizjak 2009-04-28 18:18:17 +02:00
parent 9f1bdf53bd
commit f1028b9da4
2 changed files with 10 additions and 5 deletions

View File

@ -1,3 +1,10 @@
2009-04-28 Uros Bizjak <ubizjak@gmail.com>
PR rtl-optimization/39914
* ira-conflicts.c (ira_build_conflicts): Prohibit call used
registers for allocnos created from user-defined variables only
when not optimizing.
2009-04-28 Richard Guenther <rguenther@suse.de>
PR middle-end/39937
@ -42,8 +49,7 @@
2009-04-28 Richard Guenther <rguenther@suse.de>
* tree-vect-stmts.c (vect_get_vec_def_for_operand): Fix
type error.
* tree-vect-stmts.c (vect_get_vec_def_for_operand): Fix type error.
2009-04-28 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
@ -83,8 +89,7 @@
(threadedge_finalize_values): Likewise.
* tree-ssa-dom.c (ssa_name_values): New global variable.
(SSA_NAME_VALUE): Define.
(tree_ssa_dominator_optimize): Initialize/free the value-handle
array.
(tree_ssa_dominator_optimize): Initialize/free the value-handle array.
2009-04-28 Ira Rosen <irar@il.ibm.com>

View File

@ -806,7 +806,7 @@ ira_build_conflicts (void)
if ((! flag_caller_saves && ALLOCNO_CALLS_CROSSED_NUM (a) != 0)
/* For debugging purposes don't put user defined variables in
callee-clobbered registers. */
|| (optimize <= 1
|| (optimize == 0
&& (attrs = REG_ATTRS (regno_reg_rtx [ALLOCNO_REGNO (a)])) != NULL
&& (decl = attrs->decl) != NULL
&& VAR_OR_FUNCTION_DECL_P (decl)