From 07b8f0a812a056b69fcaf00bde67aa74b5b02397 Mon Sep 17 00:00:00 2001 From: Anatoly Sokolov Date: Thu, 2 Sep 2010 18:29:37 +0400 Subject: target.def (class_likely_spilled_p): New hook. * target.def (class_likely_spilled_p): New hook. * doc/tm.texi.in (TARGET_CLASS_LIKELY_SPILLED_P): Document. * doc/tm.texi: Regenerate. * targhooks.c (default_class_likely_spilled_p): New function. * targhooks.h (default_class_likely_spilled_p): Declare. * regs.h (CLASS_LIKELY_SPILLED_P): Remove. * combine.c: (cant_combine_insn_p, likely_spilled_retval_p): Use TARGET_CLASS_LIKELY_SPILLED_P target hook. Use HARD_REGISTER_P macro. Use fixed_reg_set instead of fixed_regs. * cse.c (hash_rtx_cb): Use TARGET_CLASS_LIKELY_SPILLED_P target hook. * calls.c (avoid_likely_spilled_reg): Ditto. * ira-conflicts.c: (ira_build_conflicts): Ditto. * ira.c (update_equiv_regs): Ditto. * mode-switching.c (create_pre_exit): Ditto. * regmove.c (find_matches): Ditto. (regclass_compatible_p): Use TARGET_CLASS_LIKELY_SPILLED_P target hook. * reload.c (SMALL_REGISTER_CLASS_P): Remove macro. (small_register_class_p): New inline function. (push_secondary_reload, find_reusable_reload, find_reloads): Use small_register_class_p instead of SMALL_REGISTER_CLASS_P. * config/i386/i386.h (CLASS_LIKELY_SPILLED_P): Remove. * config/i386/i386.c (ix86_class_likely_spilled_p): New. (TARGET_CLASS_LIKELY_SPILLED_P): Define. From-SVN: r163779 --- gcc/ira-conflicts.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'gcc/ira-conflicts.c') diff --git a/gcc/ira-conflicts.c b/gcc/ira-conflicts.c index 0ce1bbc..be79523 100644 --- a/gcc/ira-conflicts.c +++ b/gcc/ira-conflicts.c @@ -864,7 +864,8 @@ ira_build_conflicts (void) ira_free (conflicts); } } - if (! CLASS_LIKELY_SPILLED_P (base_reg_class (VOIDmode, ADDRESS, SCRATCH))) + if (! targetm.class_likely_spilled_p (base_reg_class (VOIDmode, ADDRESS, + SCRATCH))) CLEAR_HARD_REG_SET (temp_hard_reg_set); else { -- cgit v1.1