aboutsummaryrefslogtreecommitdiff
path: root/gcc/target.h
diff options
context:
space:
mode:
authorRoger Sayle <roger@eyesopen.com>2003-02-03 19:40:58 +0000
committerRoger Sayle <sayle@gcc.gnu.org>2003-02-03 19:40:58 +0000
commit7daebb7ae4a90b9463a5b6940977690e2da07ff9 (patch)
tree941a0c444f84c4242289e65f0a9288ba576f035e /gcc/target.h
parent348b0c310505a37e779ad69065190f1991253854 (diff)
downloadgcc-7daebb7ae4a90b9463a5b6940977690e2da07ff9.zip
gcc-7daebb7ae4a90b9463a5b6940977690e2da07ff9.tar.gz
gcc-7daebb7ae4a90b9463a5b6940977690e2da07ff9.tar.bz2
hooks.c (hook_rtx_rtx_identity): Generic hook function that takes a single rtx and returns it unmodified.
* hooks.c (hook_rtx_rtx_identity): Generic hook function that takes a single rtx and returns it unmodified. * hooks.h (hook_rtx_rtx_identity): Prototype here. * target.h (struct gcc_target): Add "delegitimize_address" field to target structure. * target-def.h (TARGET_DELEGITIMIZE_ADDRESS): Provide default for delegitimize_address target using hook_rtx_rtx_identity. (TARGET_INITIALIZER): Initialize delegitimize_address field using TARGET_DELEGITIMIZE_ADDRESS macro. * simplify-rtx.c (avoid_constant_pool_reference): Handle float extensions of constant pool references. Use delegitimize_address to undo the obfuscation of "-fpic". * Makefile.in (simplify-rtx.o): Add dependency on target.h. * config/i386/i386.c (TARGET_DELEGITIMIZE_ADDRESS): Define as i386_simplify_dwarf_addr. (ix86_find_base_term): Simplify using i386_simplify_dwarf_addr. (maybe_get_pool_constant): Likewise. From-SVN: r62336
Diffstat (limited to 'gcc/target.h')
-rw-r--r--gcc/target.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/target.h b/gcc/target.h
index b6d7f8d..8c286f7 100644
--- a/gcc/target.h
+++ b/gcc/target.h
@@ -1,5 +1,5 @@
/* Data structure definitions for a generic GCC target.
- Copyright (C) 2001, 2002 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
@@ -292,6 +292,9 @@ struct gcc_target
/* True if the constant X cannot be placed in the constant pool. */
bool (* cannot_force_const_mem) PARAMS ((rtx));
+ /* Given an address RTX, undo the effects of LEGITIMIZE_ADDRESS. */
+ rtx (* delegitimize_address) PARAMS ((rtx));
+
/* True if it is OK to do sibling call optimization for the specified
call expression EXP. DECL will be the called function, or NULL if
this is an indirect call. */