diff options
author | Anatoly Sokolov <aesok@post.ru> | 2010-10-11 21:41:24 +0400 |
---|---|---|
committer | Anatoly Sokolov <aesok@gcc.gnu.org> | 2010-10-11 21:41:24 +0400 |
commit | fba42e243e264f3b4d507d075b38c699821d5951 (patch) | |
tree | 4b63d698c47af01f476f8ddd1376746e9309a913 /gcc/reload1.c | |
parent | 43c36287976d2cb4d134aff2952eca031c78eb59 (diff) | |
download | gcc-fba42e243e264f3b4d507d075b38c699821d5951.zip gcc-fba42e243e264f3b4d507d075b38c699821d5951.tar.gz gcc-fba42e243e264f3b4d507d075b38c699821d5951.tar.bz2 |
target.def (preferred_reload_class): New hook.
* target.def (preferred_reload_class): New hook.
* doc/tm.texi.in (TARGET_PREFERRED_RELOAD_CLASS): Document.
* doc/tm.texi: Regenerate.
* targhooks.c (default_preferred_reload_class): New function.
* targhooks.h (default_preferred_reload_class): Declare.
* reload.c (find_dummy_reload): Change preferred_class variable type
from enum reg_class to reg_class_t. Use TARGET_PREFERRED_RELOAD_CLASS
target hook.
(find_reloads): Change goal_alternative array type from int to
reg_class_t. Use TARGET_PREFERRED_RELOAD_CLASS target hook.
(push_reload, find_reloads_address_part): Use
TARGET_PREFERRED_RELOAD_CLASS target hook.
* reload1.c (emit_input_reload_insns): Ditto.
* ira-costs.c (copy_cost): Use TARGET_PREFERRED_RELOAD_CLASS target
hook. Change rclass argument and secondary_class variable types from
'enum reg_class' to reg_class_t.
* config/i386/i386.h (PREFERRED_RELOAD_CLASS): Remove.
* config/i386/i386-protos (ix86_preferred_reload_class): Remove.
* config/i386/i386.c (ix86_preferred_reload_class): Make static.
Change regclass argument and result types from enum reg_class to
reg_class_t.
(TARGET_PREFERRED_RELOAD_CLASS): Define.
From-SVN: r165321
Diffstat (limited to 'gcc/reload1.c')
-rw-r--r-- | gcc/reload1.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/reload1.c b/gcc/reload1.c index 40098b3..00c1671 100644 --- a/gcc/reload1.c +++ b/gcc/reload1.c @@ -7500,8 +7500,8 @@ emit_input_reload_insns (struct insn_chain *chain, struct reload *rl, || (reg_equiv_constant [REGNO (SUBREG_REG (oldequiv))] != 0))) || (CONSTANT_P (oldequiv) - && (PREFERRED_RELOAD_CLASS (oldequiv, - REGNO_REG_CLASS (REGNO (reloadreg))) + && (targetm.preferred_reload_class (oldequiv, + REGNO_REG_CLASS (REGNO (reloadreg))) == NO_REGS))) real_oldequiv = rl->in; gen_reload (reloadreg, real_oldequiv, rl->opnum, |