This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: New and undocumented target hooks (cf. PR3386, a regression)


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
--


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]