* target.def (class_likely_spilled_p): New hook.
authoraesok <aesok@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 2 Sep 2010 14:29:37 +0000 (14:29 +0000)
committeraesok <aesok@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 2 Sep 2010 14:29:37 +0000 (14:29 +0000)
commit24dd066854c04dc78c5624f8097da0816d6b532c
tree8800ae6420f6689c40bea9995085ad6bf47c0f65
parentdbd6de328ae1bdb74aa9ad274035c2e5a25ff99c
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163779 138bc75d-0d04-0410-961f-82ee72b054a4
18 files changed:
gcc/ChangeLog
gcc/calls.c
gcc/combine.c
gcc/config/i386/i386.c
gcc/config/i386/i386.h
gcc/cse.c
gcc/doc/tm.texi
gcc/doc/tm.texi.in
gcc/ira-conflicts.c
gcc/ira.c
gcc/mode-switching.c
gcc/regmove.c
gcc/regs.h
gcc/reload.c
gcc/sched-rgn.c
gcc/target.def
gcc/targhooks.c
gcc/targhooks.h