New and undocumented target hooks (cf. PR3386, a regression)
Roger Sayle
roger@eyesopen.com
Sat Dec 4 00:08:00 GMT 2004
On Fri, 3 Dec 2004, Steven Bosscher wrote:
> 2003-02-03 Roger Sayle <roger@eyesopen.com>
> TARGET_DELEGITIMIZE_ADDRESS
And here's my contribution, tested with "make dvi" on i686-pc-linux-gnu.
Ok for mainline?
2004-12-03 Roger Sayle <roger@eyesopen.com>
* doc/tm.texi (TARGET_DELEGITIMIZE_ADDRESS): Document target hook.
Index: tm.texi
===================================================================
RCS file: /cvs/gcc/gcc/gcc/doc/tm.texi,v
retrieving revision 1.401
diff -c -3 -p -r1.401 tm.texi
*** tm.texi 3 Dec 2004 23:15:15 -0000 1.401
--- tm.texi 3 Dec 2004 23:57:20 -0000
*************** an immediate operand on the target machi
*** 5156,5161 ****
--- 5156,5171 ----
anything @code{CONSTANT_P} is valid.
@end defmac
+ @deftypefn {Target Hook} rtx TARGET_DELEGITIMIZE_ADDRESS (rtx @var{x})
+ This hook is used to undo the possibly obfuscating effects of the
+ @code{LEGITIMIZE_ADDRESS} and @code{LEGITIMIZE_RELOAD_ADDRESS} target
+ macros. Some backend implementations of these macros wrap symbol
+ references inside an @code{UNSPEC} rtx to represent PIC or similar
+ addressing modes. This target hook allows GCC's optimizers to understand
+ the semantics of these opaque @code{UNSPEC}s by converting them back
+ into their original form.
+ @end deftypefn
+
@deftypefn {Target Hook} bool TARGET_CANNOT_FORCE_CONST_MEM (rtx @var{x})
This hook should return true if @var{x} is of a form that cannot (or
should not) be spilled to the constant pool. The default version of
Roger
--
More information about the Gcc
mailing list