From 13b52b9060af636a2cb8233d768a55198570b037 Mon Sep 17 00:00:00 2001 From: Zack Weinberg Date: Thu, 29 Jul 2004 18:30:27 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 11 +++++- gcc/config/ia64/ia64-protos.h | 41 ---------------------- gcc/config/ia64/ia64.c | 65 +---------------------------------- gcc/config/ia64/ia64.h | 2 +- 4 files changed, 12 insertions(+), 107 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1a6e4e130d3..72b7576dbc4 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2004-07-29 Zack Weinberg + + * 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 * 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 * 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 e59dff5afbe..19e1335b17e 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 aa0dc20c268..1053447b499 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 8bc4e3ba3b7..96b559b4d12 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, \ -- 2.30.2