diff options
author | Roger Sayle <roger@eyesopen.com> | 2003-02-03 19:40:58 +0000 |
---|---|---|
committer | Roger Sayle <sayle@gcc.gnu.org> | 2003-02-03 19:40:58 +0000 |
commit | 7daebb7ae4a90b9463a5b6940977690e2da07ff9 (patch) | |
tree | 941a0c444f84c4242289e65f0a9288ba576f035e /gcc/target.h | |
parent | 348b0c310505a37e779ad69065190f1991253854 (diff) | |
download | gcc-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.h | 5 |
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. */ |