diff options
author | uros <uros@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-04-28 16:18:17 +0000 |
---|---|---|
committer | uros <uros@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-04-28 16:18:17 +0000 |
commit | 13506fb4aa3e962faad4f48aae09286c85609076 (patch) | |
tree | 3014ac421165da8bcefc7487391364b1586f1f22 /gcc/ira-conflicts.c | |
parent | 623b54a7dd8bd5b67f4e61164a312b36d5429dde (diff) | |
download | gcc-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.c | 2 |
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) |