* doc/tm.texi (TARGET_DELEGITIMIZE_ADDRESS): Document target hook.
authorsayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 4 Dec 2004 00:34:43 +0000 (00:34 +0000)
committersayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 4 Dec 2004 00:34:43 +0000 (00:34 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@91713 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/doc/tm.texi

index b507d6d..13b1004 100644 (file)
@@ -1,3 +1,7 @@
+2004-12-03  Roger Sayle  <roger@eyesopen.com>
+
+       * doc/tm.texi (TARGET_DELEGITIMIZE_ADDRESS): Document target hook.
+
 2004-12-03  Richard Henderson  <rth@redhat.com>
 
        * alias.c (component_uses_parent_alias_set): Rename from 
index 46a9adf..97b4a0f 100644 (file)
@@ -5156,6 +5156,16 @@ an immediate operand on the target machine.  You can assume that
 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