summaryrefslogtreecommitdiff
path: root/gcc/ira-conflicts.c
diff options
context:
space:
mode:
authoruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>2009-04-28 16:18:17 +0000
committeruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>2009-04-28 16:18:17 +0000
commit13506fb4aa3e962faad4f48aae09286c85609076 (patch)
tree3014ac421165da8bcefc7487391364b1586f1f22 /gcc/ira-conflicts.c
parent623b54a7dd8bd5b67f4e61164a312b36d5429dde (diff)
downloadgcc-13506fb4aa3e962faad4f48aae09286c85609076.tar.gz
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146904 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ira-conflicts.c')
-rw-r--r--gcc/ira-conflicts.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/ira-conflicts.c b/gcc/ira-conflicts.c
index 399a28ae5cc..29c77c9be9f 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)