From f1028b9da4ea5614c012d87c928e68300cd786b6 Mon Sep 17 00:00:00 2001 From: Uros Bizjak Date: Tue, 28 Apr 2009 18:18:17 +0200 Subject: 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 --- gcc/ChangeLog | 13 +++++++++---- gcc/ira-conflicts.c | 2 +- 2 files changed, 10 insertions(+), 5 deletions(-) (limited to 'gcc') diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 72766c4..610bd1c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2009-04-28 Uros Bizjak + + 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 PR middle-end/39937 @@ -42,8 +49,7 @@ 2009-04-28 Richard Guenther - * 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 @@ -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 diff --git a/gcc/ira-conflicts.c b/gcc/ira-conflicts.c index 399a28a..29c77c9 100644 --- a/gcc/ira-conflicts.c +++ b/gcc/ira-conflicts.c @@ -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) -- cgit v1.1