target.def (preferred_output_reload_class): New hook.
commitabd26bfbf3434e296f7dd412557f925e7ac512c5
authorAnatoly Sokolov <aesok@post.ru>
Sun, 17 Oct 2010 15:27:53 +0000 (17 19:27 +0400)
committerAnatoly Sokolov <aesok@gcc.gnu.org>
Sun, 17 Oct 2010 15:27:53 +0000 (17 19:27 +0400)
tree8353f8418ac7a3898efaae0ba10e35c172004549
parent88c87359fa92a1869402a4f0b45517e071570174
target.def (preferred_output_reload_class): New hook.

* target.def (preferred_output_reload_class): New hook.
* doc/tm.texi.in (TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Document.
* doc/tm.texi: Regenerate.
* targhooks.c (default_preferred_output_reload_class): New function.
* targhooks.h (default_preferred_output_reload_class): Declare.
* reload.c (find_dummy_reload): Change rclass argument type from
enum reg_class to reg_class_t. Change this_alternative array type
from enum reg_class to reg_class_t.
Use TARGET_PREFERRED_OUTPUT_RELOAD_CLASS target hook.
(push_reload): Change preferred_class variable type to reg_class_t.
Use TARGET_PREFERRED_OUTPUT_RELOAD_CLASS target hook.
* recog.c (reg_fits_class_p): Change result type to bool. Change cl
argument type from enum reg_class to reg_class_t. Use
HARD_REGISTER_NUM_P predicate.
* recog.h (reg_fits_class_p): Update prototype.

* config/i386/i386.h (PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
* config/i386/i386-protos.h (ix86_preferred_output_reload_class): Remove.
* config/i386/i386.c (ix86_preferred_output_reload_class): Make
static. Change regclass argument and result types from enum reg_class
to reg_class_t.
(TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.

From-SVN: r165588
12 files changed:
gcc/ChangeLog
gcc/config/i386/i386-protos.h
gcc/config/i386/i386.c
gcc/config/i386/i386.h
gcc/doc/tm.texi
gcc/doc/tm.texi.in
gcc/recog.c
gcc/recog.h
gcc/reload.c
gcc/target.def
gcc/targhooks.c
gcc/targhooks.h