diff options
author | Zack Weinberg <zack@codesourcery.com> | 2004-07-29 18:30:27 +0000 |
---|---|---|
committer | Zack Weinberg <zack@gcc.gnu.org> | 2004-07-29 18:30:27 +0000 |
commit | 13b52b9060af636a2cb8233d768a55198570b037 (patch) | |
tree | 076951f7e32f369ccb99540ea16b945c0cf4c7e8 /gcc | |
parent | f70f3f7e9fbf1c0a770017cf6ba3f05886e62bd0 (diff) | |
download | gcc-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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 11 | ||||
-rw-r--r-- | gcc/config/ia64/ia64-protos.h | 41 | ||||
-rw-r--r-- | gcc/config/ia64/ia64.c | 65 | ||||
-rw-r--r-- | gcc/config/ia64/ia64.h | 2 |
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, \ |