aboutsummaryrefslogtreecommitdiff
path: root/gcc/targhooks.c
diff options
context:
space:
mode:
authorRichard Sandiford <rsandifo@redhat.com>2003-12-04 09:11:19 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2003-12-04 09:11:19 +0000
commit8a89dbd24275d78205f408da9acdee092850dc5a (patch)
tree54f81a2dcb6de1daefdbe36bae91815aee6946ac /gcc/targhooks.c
parentafb0918a9b127a64098a1267f328908acc7e4d1d (diff)
downloadgcc-8a89dbd24275d78205f408da9acdee092850dc5a.zip
gcc-8a89dbd24275d78205f408da9acdee092850dc5a.tar.gz
gcc-8a89dbd24275d78205f408da9acdee092850dc5a.tar.bz2
re PR target/13186 ([PPC] Internal compiler error in reload.c)
PR target/13186 Revert all of the following patch, except the addition of hook_bool_machine_mode_true: 2003-11-02 Richard Sandiford <rsandifo@redhat.com> * Makefile.in (targhooks.o, reload.o): Update dependencies. (GTFILES): Add targhooks.c. (gt-targhooks.h): New rule; depend on s-gtype. * target.h (direct_pool_load_p): New hook. * target-def.h (TARGET_DIRECT_POOL_LOAD_P): New macro. (TARGET_INITIALIZER): Include it. * targhooks.h (default_direct_pool_load_p): Declare. (hook_bool_machine_mode_true): Declare. * targhooks.c: Include insn-config.h, recog.h, ggc.h and gt-targhooks.h. (pool_symbol): New variable. (default_direct_pool_load_p): New function. (hook_bool_machine_mode_true): New function. * reload.c: Include target.h. (find_reloads): If an alternative will force a constant into memory, count an extra reload if constant pool symbols are not valid addresses. If an alternative uses memory to move values between registers, count the move as two reloads rather than one. * config/s390/s390.c (TARGET_DIRECT_POOL_LOAD_P): Define. * doc/tm.texi (TARGET_DIRECT_POOL_LOAD_P): Document. From-SVN: r74275
Diffstat (limited to 'gcc/targhooks.c')
-rw-r--r--gcc/targhooks.c30
1 files changed, 0 insertions, 30 deletions
diff --git a/gcc/targhooks.c b/gcc/targhooks.c
index 9be6786..62ed943 100644
--- a/gcc/targhooks.c
+++ b/gcc/targhooks.c
@@ -61,9 +61,6 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#include "target.h"
#include "tm_p.h"
#include "target-def.h"
-#include "insn-config.h"
-#include "recog.h"
-#include "ggc.h"
void
default_external_libcall (rtx fun ATTRIBUTE_UNUSED)
@@ -199,31 +196,6 @@ default_pretend_outgoing_varargs_named(CUMULATIVE_ARGS *ca ATTRIBUTE_UNUSED)
#endif
}
-/* A SYMBOL_REF for a local symbol. Used by default_direct_pool_load_p. */
-
-static GTY(()) rtx pool_symbol;
-
-/* See whether a local symbol is a valid address for MODE. If so, assume
- that constant pool symbols are also valid addresses, otherwise assume
- that they aren't.
-
- ??? This is only an approximation. We can't test constant pool
- symbols directly without forcing something into the constant pool. */
-
-bool
-default_direct_pool_load_p (enum machine_mode mode)
-{
- if (pool_symbol == 0)
- {
- char label[256];
-
- ASM_GENERATE_INTERNAL_LABEL (label, "LC", 0);
- pool_symbol = gen_rtx_SYMBOL_REF (Pmode, ggc_strdup (label));
- SYMBOL_REF_FLAGS (pool_symbol) = SYMBOL_FLAG_LOCAL;
- }
- return memory_address_p (mode, pool_symbol);
-}
-
/* Generic hook that takes a CUMULATIVE_ARGS pointer and returns true. */
bool
@@ -239,5 +211,3 @@ hook_bool_machine_mode_true (enum machine_mode a ATTRIBUTE_UNUSED)
{
return true;
}
-
-#include "gt-targhooks.h"