aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZack Weinberg <zack@codesourcery.com>2004-07-29 18:30:27 +0000
committerZack Weinberg <zack@gcc.gnu.org>2004-07-29 18:30:27 +0000
commit13b52b9060af636a2cb8233d768a55198570b037 (patch)
tree076951f7e32f369ccb99540ea16b945c0cf4c7e8
parentf70f3f7e9fbf1c0a770017cf6ba3f05886e62bd0 (diff)
downloadgcc-13b52b9060af636a2cb8233d768a55198570b037.zip
gcc-13b52b9060af636a2cb8233d768a55198570b037.tar.gz
gcc-13b52b9060af636a2cb8233d768a55198570b037.tar.bz2
ia64.c (setjmp_operand): Delete, unused.
* config/ia64/ia64.c (setjmp_operand): Delete, unused. (got_symbolic_operand): Remove unreachable code. * config/ia64/ia64.h (PREDICATE_CODES): Remove entry for setjmp_operand; add entry for tls_symbolic_operand. * config/ia64/ia64-protos.h: Remove all prototypes of predicate functions. From-SVN: r85311
-rw-r--r--gcc/ChangeLog11
-rw-r--r--gcc/config/ia64/ia64-protos.h41
-rw-r--r--gcc/config/ia64/ia64.c65
-rw-r--r--gcc/config/ia64/ia64.h2
4 files changed, 12 insertions, 107 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 1a6e4e1..72b7576 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,12 @@
+2004-07-29 Zack Weinberg <zack@codesourcery.com>
+
+ * config/ia64/ia64.c (setjmp_operand): Delete, unused.
+ (got_symbolic_operand): Remove unreachable code.
+ * config/ia64/ia64.h (PREDICATE_CODES): Remove entry for
+ setjmp_operand; add entry for tls_symbolic_operand.
+ * config/ia64/ia64-protos.h: Remove all prototypes of
+ predicate functions.
+
2004-07-29 Mark Mitchell <mark@codesourcery.com>
* c-common.h (lang_post_pch_load): New variable.
@@ -162,7 +171,7 @@
* config/rs6000/darwin.h (BOOL_TYPE_SIZE): Conditionalize on
value of darwin_one_byte_bool.
* doc/invoke.texi: Document -mone-byte-bool flag.
-
+
2004-07-28 Eric Christopher <echristo@redhat.com>
* c-common.c (c_common_unsafe_for_reeval): Delete.
diff --git a/gcc/config/ia64/ia64-protos.h b/gcc/config/ia64/ia64-protos.h
index e59dff5..19e1335 100644
--- a/gcc/config/ia64/ia64-protos.h
+++ b/gcc/config/ia64/ia64-protos.h
@@ -33,47 +33,6 @@ extern int bundling_p;
extern int ia64_st_address_bypass_p (rtx, rtx);
extern int ia64_ld_address_bypass_p (rtx, rtx);
extern int ia64_produce_address_p (rtx);
-extern int call_operand (rtx, enum machine_mode);
-extern int sdata_symbolic_operand (rtx, enum machine_mode);
-extern int got_symbolic_operand (rtx, enum machine_mode);
-extern int symbolic_operand (rtx, enum machine_mode);
-extern int tls_symbolic_operand (rtx, enum machine_mode);
-extern int function_operand (rtx, enum machine_mode);
-extern int setjmp_operand (rtx, enum machine_mode);
-extern int move_operand (rtx, enum machine_mode);
-extern int gr_register_operand (rtx, enum machine_mode);
-extern int fr_register_operand (rtx, enum machine_mode);
-extern int grfr_register_operand (rtx, enum machine_mode);
-extern int gr_nonimmediate_operand (rtx, enum machine_mode);
-extern int fr_nonimmediate_operand (rtx, enum machine_mode);
-extern int grfr_nonimmediate_operand (rtx, enum machine_mode);
-extern int gr_reg_or_0_operand (rtx, enum machine_mode);
-extern int gr_reg_or_5bit_operand (rtx, enum machine_mode);
-extern int gr_reg_or_6bit_operand (rtx, enum machine_mode);
-extern int gr_reg_or_8bit_operand (rtx, enum machine_mode);
-extern int grfr_reg_or_8bit_operand (rtx, enum machine_mode);
-extern int gr_reg_or_8bit_adjusted_operand (rtx, enum machine_mode);
-extern int gr_reg_or_8bit_and_adjusted_operand (rtx, enum machine_mode);
-extern int gr_reg_or_14bit_operand (rtx, enum machine_mode);
-extern int gr_reg_or_22bit_operand (rtx, enum machine_mode);
-extern int shift_count_operand (rtx, enum machine_mode);
-extern int shift_32bit_count_operand (rtx, enum machine_mode);
-extern int shladd_operand (rtx, enum machine_mode);
-extern int fetchadd_operand (rtx, enum machine_mode);
-extern int fr_reg_or_fp01_operand (rtx, enum machine_mode);
-extern int normal_comparison_operator (rtx, enum machine_mode);
-extern int adjusted_comparison_operator (rtx, enum machine_mode);
-extern int signed_inequality_operator (rtx, enum machine_mode);
-extern int destination_operand (rtx, enum machine_mode);
-extern int not_postinc_memory_operand (rtx, enum machine_mode);
-extern int predicate_operator (rtx, enum machine_mode);
-extern int ar_lc_reg_operand (rtx, enum machine_mode);
-extern int ar_ccv_reg_operand (rtx, enum machine_mode);
-extern int ar_pfs_reg_operand (rtx, enum machine_mode);
-extern int general_xfmode_operand (rtx, enum machine_mode);
-extern int destination_xfmode_operand (rtx, enum machine_mode);
-extern int xfreg_or_fp01_operand (rtx, enum machine_mode);
-extern int basereg_operand (rtx, enum machine_mode);
extern rtx ia64_expand_move (rtx, rtx);
extern int ia64_move_ok (rtx, rtx);
diff --git a/gcc/config/ia64/ia64.c b/gcc/config/ia64/ia64.c
index aa0dc20..1053447 100644
--- a/gcc/config/ia64/ia64.c
+++ b/gcc/config/ia64/ia64.c
@@ -479,22 +479,7 @@ got_symbolic_operand (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED)
op = XEXP (op, 1);
if (GET_CODE (op) != CONST_INT)
return 0;
-
- return 1;
-
- /* Ok if we're not using GOT entries at all. */
- if (TARGET_NO_PIC || TARGET_AUTO_PIC)
- return 1;
-
- /* "Ok" while emitting rtl, since otherwise we won't be provided
- with the entire offset during emission, which makes it very
- hard to split the offset into high and low parts. */
- if (currently_expanding_to_rtl)
- return 1;
-
- /* Force the low 14 bits of the constant to zero so that we do not
- use up so many GOT entries. */
- return (INTVAL (op) & 0x3fff) == 0;
+ return 1;
case SYMBOL_REF:
if (SYMBOL_REF_SMALL_ADDR_P (op))
@@ -548,54 +533,6 @@ function_operand (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED)
return 0;
}
-/* Return 1 if OP is setjmp or a similar function. */
-
-/* ??? This is an unsatisfying solution. Should rethink. */
-
-int
-setjmp_operand (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED)
-{
- const char *name;
- int retval = 0;
-
- if (GET_CODE (op) != SYMBOL_REF)
- return 0;
-
- name = XSTR (op, 0);
-
- /* The following code is borrowed from special_function_p in calls.c. */
-
- /* Disregard prefix _, __ or __x. */
- if (name[0] == '_')
- {
- if (name[1] == '_' && name[2] == 'x')
- name += 3;
- else if (name[1] == '_')
- name += 2;
- else
- name += 1;
- }
-
- if (name[0] == 's')
- {
- retval
- = ((name[1] == 'e'
- && (! strcmp (name, "setjmp")
- || ! strcmp (name, "setjmp_syscall")))
- || (name[1] == 'i'
- && ! strcmp (name, "sigsetjmp"))
- || (name[1] == 'a'
- && ! strcmp (name, "savectx")));
- }
- else if ((name[0] == 'q' && name[1] == 's'
- && ! strcmp (name, "qsetjmp"))
- || (name[0] == 'v' && name[1] == 'f'
- && ! strcmp (name, "vfork")))
- retval = 1;
-
- return retval;
-}
-
/* Return 1 if OP is a general operand, excluding tls symbolic operands. */
int
diff --git a/gcc/config/ia64/ia64.h b/gcc/config/ia64/ia64.h
index 8bc4e3b..96b559b 100644
--- a/gcc/config/ia64/ia64.h
+++ b/gcc/config/ia64/ia64.h
@@ -2150,8 +2150,8 @@ do { \
{ "sdata_symbolic_operand", {SYMBOL_REF, CONST}}, \
{ "small_addr_symbolic_operand", {SYMBOL_REF}}, \
{ "symbolic_operand", {SYMBOL_REF, CONST, LABEL_REF}}, \
+{ "tls_symbolic_operand", {SYMBOL_REF}}, \
{ "function_operand", {SYMBOL_REF}}, \
-{ "setjmp_operand", {SYMBOL_REF}}, \
{ "destination_operand", {SUBREG, REG, MEM}}, \
{ "not_postinc_memory_operand", {MEM}}, \
{ "move_operand", {SUBREG, REG, MEM, CONST_INT, CONST_DOUBLE, \