summaryrefslogtreecommitdiff
path: root/gcc/ira-conflicts.c
diff options
context:
space:
mode:
authorsteven <steven@138bc75d-0d04-0410-961f-82ee72b054a4>2012-07-08 18:13:19 +0000
committersteven <steven@138bc75d-0d04-0410-961f-82ee72b054a4>2012-07-08 18:13:19 +0000
commit62f13add7bad8e4ba14139b297d8cf0d89b0c77a (patch)
treeef43694284cc33f0429bdea4ec67acf874f9e98e /gcc/ira-conflicts.c
parentdc1be6dde0a6dcb8e8b143a34f6ec0866aa25b69 (diff)
downloadgcc-62f13add7bad8e4ba14139b297d8cf0d89b0c77a.tar.gz
* mcf.c: Do not include tm.h, tree.h, and langhooks.h.
(dump_fixup_graph): Use current_function_name. (adjust_cfg_counts): Likewise. * ira-conflicts.c: Do not include tree.h. (ira_build_conflicts): Use REG_USERVAR_P instead of DECL_ARTIFICIAL. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189361 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ira-conflicts.c')
-rw-r--r--gcc/ira-conflicts.c10
1 files changed, 2 insertions, 8 deletions
diff --git a/gcc/ira-conflicts.c b/gcc/ira-conflicts.c
index 1d740797ecf..583629bf5a0 100644
--- a/gcc/ira-conflicts.c
+++ b/gcc/ira-conflicts.c
@@ -25,7 +25,6 @@ along with GCC; see the file COPYING3. If not see
#include "tm.h"
#include "regs.h"
#include "rtl.h"
-#include "tree.h" /* For DECL_ARTIFICIAL and friends. */
#include "tm_p.h"
#include "target.h"
#include "flags.h"
@@ -893,17 +892,12 @@ ira_build_conflicts (void)
for (i = 0; i < n; i++)
{
ira_object_t obj = ALLOCNO_OBJECT (a, i);
- reg_attrs *attrs = REG_ATTRS (regno_reg_rtx [ALLOCNO_REGNO (a)]);
- tree decl;
+ rtx allocno_reg = regno_reg_rtx [ALLOCNO_REGNO (a)];
if ((! flag_caller_saves && ALLOCNO_CALLS_CROSSED_NUM (a) != 0)
/* For debugging purposes don't put user defined variables in
callee-clobbered registers. */
- || (optimize == 0
- && attrs != NULL
- && (decl = attrs->decl) != NULL
- && VAR_OR_FUNCTION_DECL_P (decl)
- && ! DECL_ARTIFICIAL (decl)))
+ || (optimize == 0 && REG_USERVAR_P (allocno_reg)))
{
IOR_HARD_REG_SET (OBJECT_TOTAL_CONFLICT_HARD_REGS (obj),
call_used_reg_set);