diff options
author | aesok <aesok@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-10-17 15:27:53 +0000 |
---|---|---|
committer | aesok <aesok@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-10-17 15:27:53 +0000 |
commit | 71db0d8bd594556609915add775a0074802718de (patch) | |
tree | 8353f8418ac7a3898efaae0ba10e35c172004549 /gcc/doc/tm.texi.in | |
parent | 51d4f5041f4b6aace566be41a209f30684eda5e0 (diff) | |
download | gcc-71db0d8bd594556609915add775a0074802718de.tar.gz |
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165588 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/doc/tm.texi.in')
-rw-r--r-- | gcc/doc/tm.texi.in | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/gcc/doc/tm.texi.in b/gcc/doc/tm.texi.in index 938ff6aeba1..604802bea0e 100644 --- a/gcc/doc/tm.texi.in +++ b/gcc/doc/tm.texi.in @@ -2665,6 +2665,17 @@ You can also use @code{PREFERRED_OUTPUT_RELOAD_CLASS} to discourage reload from using some alternatives, like @code{PREFERRED_RELOAD_CLASS}. @end defmac +@hook TARGET_PREFERRED_OUTPUT_RELOAD_CLASS +Like @code{TARGET_PREFERRED_RELOAD_CLASS}, but for output reloads instead of +input reloads. + +The default version of this hook always returns value of @code{rclass} +argument. + +You can also use @code{TARGET_PREFERRED_OUTPUT_RELOAD_CLASS} to discourage +reload from using some alternatives, like @code{TARGET_PREFERRED_RELOAD_CLASS}. +@end deftypefn + @defmac LIMIT_RELOAD_CLASS (@var{mode}, @var{class}) A C expression that places additional restrictions on the register class to use when it is necessary to be able to hold a value of mode |