From 7a87758dfbca714549ef95a92ed7657622949dec Mon Sep 17 00:00:00 2001 From: Andreas Schwab Date: Sat, 23 May 1998 23:14:57 +0000 Subject: [PATCH] m68k.h: Declare more functions used in macros. * m68k.h: Declare more functions used in macros. (REG_CLASS_CONTENTS): Completely embrace initializer. * m68k.md (adddi3, subdi3): Add abort call to avoid warning about returning no value. * cse.c (find_best_addr): Declare p and found_better only if needed. * dbxout.c (dbxout_continue): Define only if DBX_CONTIN_LENGTH > 0. * dwarfout.c (string_length_attribute): #if 0 away. * function.c (expand_function_end): Define varible blktramp only if needed. * jump.c (find_insert_position): Define only if !HAVE_cc0. * loop.c (combine_givs_p): Define variable tem only if needed. * real.c: Comment out unused functions eabs, eround, e{24,53,64,113}toasc and eiinfin. From-SVN: r19998 --- gcc/ChangeLog | 18 ++++++++++++++++++ gcc/config/m68k/m68k.h | 18 ++++++++++-------- gcc/config/m68k/m68k.md | 4 ++++ gcc/cse.c | 5 ++++- gcc/dbxout.c | 4 ++++ gcc/dwarfout.c | 4 ++++ gcc/function.c | 2 ++ gcc/jump.c | 4 ++++ gcc/loop.c | 2 ++ gcc/real.c | 24 ++++++++++++++++++++++++ 10 files changed, 76 insertions(+), 9 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 801108d502e..4cff9d243ea 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,21 @@ +1998-05-24 Andreas Schwab + + * m68k.h: Declare more functions used in macros. + (REG_CLASS_CONTENTS): Completely embrace initializer. + * m68k.md (adddi3, subdi3): Add abort call to avoid warning + about returning no value. + * cse.c (find_best_addr): Declare p and found_better only if + needed. + * dbxout.c (dbxout_continue): Define only if DBX_CONTIN_LENGTH > 0. + * dwarfout.c (string_length_attribute): #if 0 away. + * function.c (expand_function_end): Define varible blktramp only + if needed. + * jump.c (find_insert_position): Define only if !HAVE_cc0. + * loop.c (combine_givs_p): Define variable tem only if needed. + * real.c: Comment out unused functions eabs, eround, + e{24,53,64,113}toasc and eiinfin. + + Sat May 23 23:44:53 1998 Alexandre Oliva * Makefile.in (boostrap2-lean, bootstrap3-lean, diff --git a/gcc/config/m68k/m68k.h b/gcc/config/m68k/m68k.h index 623e3ce1979..f3563a15a8a 100644 --- a/gcc/config/m68k/m68k.h +++ b/gcc/config/m68k/m68k.h @@ -586,14 +586,14 @@ enum reg_class { #define REG_CLASS_CONTENTS \ { \ - 0x00000000, /* NO_REGS */ \ - 0x000000ff, /* DATA_REGS */ \ - 0x0000ff00, /* ADDR_REGS */ \ - 0x00ff0000, /* FP_REGS */ \ - 0x0000ffff, /* GENERAL_REGS */ \ - 0x00ff00ff, /* DATA_OR_FP_REGS */ \ - 0x00ffff00, /* ADDR_OR_FP_REGS */ \ - 0x00ffffff, /* ALL_REGS */ \ + {0x00000000}, /* NO_REGS */ \ + {0x000000ff}, /* DATA_REGS */ \ + {0x0000ff00}, /* ADDR_REGS */ \ + {0x00ff0000}, /* FP_REGS */ \ + {0x0000ffff}, /* GENERAL_REGS */ \ + {0x00ff00ff}, /* DATA_OR_FP_REGS */ \ + {0x00ffff00}, /* ADDR_OR_FP_REGS */ \ + {0x00ffffff}, /* ALL_REGS */ \ } /* The same information, inverted: @@ -2121,6 +2121,8 @@ extern int use_return_insn (); extern void print_operand_address (); extern void print_operand (); extern void notice_update_cc (); +extern void finalize_pic (); +extern void override_options (); /* diff --git a/gcc/config/m68k/m68k.md b/gcc/config/m68k/m68k.md index cb31fa5f092..f583dc5e1cd 100644 --- a/gcc/config/m68k/m68k.md +++ b/gcc/config/m68k/m68k.md @@ -2220,6 +2220,8 @@ return \"add%.l %R2,%1\;move%.l %0,%3\;addx%.l %2,%3\;move%.l %3,%0\"; } } + else + abort (); } ") (define_insn "addsi_lshrsi_31" @@ -2777,6 +2779,8 @@ return \"sub%.l %R2,%1\;move%.l %0,%3\;subx%.l %2,%3\;move%.l %3,%0\"; } } + else + abort (); } ") (define_insn "subsi3" diff --git a/gcc/cse.c b/gcc/cse.c index 6d513c121be..d494b04466a 100644 --- a/gcc/cse.c +++ b/gcc/cse.c @@ -2564,9 +2564,12 @@ find_best_addr (insn, loc) rtx insn; rtx *loc; { - struct table_elt *elt, *p; + struct table_elt *elt; rtx addr = *loc; +#ifdef ADDRESS_COST + struct table_elt *p; int found_better = 1; +#endif int save_do_not_record = do_not_record; int save_hash_arg_in_memory = hash_arg_in_memory; int save_hash_arg_in_struct = hash_arg_in_struct; diff --git a/gcc/dbxout.c b/gcc/dbxout.c index bc2e2bac455..a2abc7fc944 100644 --- a/gcc/dbxout.c +++ b/gcc/dbxout.c @@ -326,7 +326,9 @@ static void dbxout_function_end PROTO((void)); #endif static void dbxout_typedefs PROTO((tree)); static void dbxout_type_index PROTO((tree)); +#if DBX_CONTIN_LENGTH > 0 static void dbxout_continue PROTO((void)); +#endif static void dbxout_type_fields PROTO((tree)); static void dbxout_type_method_1 PROTO((tree, char *)); static void dbxout_type_methods PROTO((tree)); @@ -602,6 +604,7 @@ dbxout_type_index (type) #endif } +#if DBX_CONTIN_LENGTH > 0 /* Continue a symbol-description that gets too big. End one symbol table entry with a double-backslash and start a new one, eventually producing something like @@ -620,6 +623,7 @@ dbxout_continue () fprintf (asmfile, "%s \"", ASM_STABS_OP); current_sym_nchars = 0; } +#endif /* DBX_CONTIN_LENGTH > 0 */ /* Subroutine of `dbxout_type'. Output the type fields of TYPE. This must be a separate function because anonymous unions require diff --git a/gcc/dwarfout.c b/gcc/dwarfout.c index ce9df47efd3..c4bfc6321f8 100644 --- a/gcc/dwarfout.c +++ b/gcc/dwarfout.c @@ -362,7 +362,9 @@ static inline void body_begin_attribute PROTO((char *)); static inline void body_end_attribute PROTO((char *)); static inline void language_attribute PROTO((unsigned)); static inline void member_attribute PROTO((tree)); +#if 0 static inline void string_length_attribute PROTO((tree)); +#endif static inline void comp_dir_attribute PROTO((char *)); static inline void sf_names_attribute PROTO((char *)); static inline void src_info_attribute PROTO((char *)); @@ -2875,6 +2877,7 @@ member_attribute (context) } } +#if 0 static inline void string_length_attribute (upper_bound) register tree upper_bound; @@ -2890,6 +2893,7 @@ string_length_attribute (upper_bound) output_bound_representation (upper_bound, 0, 'u'); ASM_OUTPUT_LABEL (asm_out_file, end_label); } +#endif static inline void comp_dir_attribute (dirname) diff --git a/gcc/function.c b/gcc/function.c index 900ad3b47cb..00e7546b268 100644 --- a/gcc/function.c +++ b/gcc/function.c @@ -5695,7 +5695,9 @@ expand_function_end (filename, line, end_bindings) tree function = TREE_PURPOSE (link); rtx context = lookup_static_chain (function); rtx tramp = RTL_EXPR_RTL (TREE_VALUE (link)); +#ifdef TRAMPOLINE_TEMPLATE rtx blktramp; +#endif rtx seq; #ifdef TRAMPOLINE_TEMPLATE diff --git a/gcc/jump.c b/gcc/jump.c index 74b038c7c79..301381c40d9 100644 --- a/gcc/jump.c +++ b/gcc/jump.c @@ -118,7 +118,9 @@ static void delete_from_jump_chain PROTO((rtx)); static int delete_labelref_insn PROTO((rtx, rtx, int)); static void mark_modified_reg PROTO((rtx, rtx)); static void redirect_tablejump PROTO((rtx, rtx)); +#ifndef HAVE_cc0 static rtx find_insert_position PROTO((rtx, rtx)); +#endif /* Delete no-op jumps and optimize jumps to jumps and jumps around jumps. @@ -4739,6 +4741,7 @@ rtx_equal_for_thread_p (x, y, yinsn) } +#ifndef HAVE_cc0 /* Return the insn that NEW can be safely inserted in front of starting at the jump insn INSN. Return 0 if it is not safe to do this jump optimization. Note that NEW must contain a single set. */ @@ -4779,3 +4782,4 @@ find_insert_position (insn, new) return reg_mentioned_p (SET_DEST (single_set (new)), prev) ? 0 : prev; } +#endif /* !HAVE_cc0 */ diff --git a/gcc/loop.c b/gcc/loop.c index 8bc4ef28fac..45678def1dc 100644 --- a/gcc/loop.c +++ b/gcc/loop.c @@ -5845,7 +5845,9 @@ static int combine_givs_p (g1, g2) struct induction *g1, *g2; { +#ifdef ADDRESS_COST rtx tem; +#endif /* If these givs are identical, they can be combined. */ if (rtx_equal_p (g1->mult_val, g2->mult_val) diff --git a/gcc/real.c b/gcc/real.c index ac560499d61..37b0a883867 100644 --- a/gcc/real.c +++ b/gcc/real.c @@ -325,7 +325,9 @@ static void endian PROTO((unsigned EMUSHORT *, long *, enum machine_mode)); static void eclear PROTO((unsigned EMUSHORT *)); static void emov PROTO((unsigned EMUSHORT *, unsigned EMUSHORT *)); +#if 0 static void eabs PROTO((unsigned EMUSHORT *)); +#endif static void eneg PROTO((unsigned EMUSHORT *)); static int eisneg PROTO((unsigned EMUSHORT *)); static int eisinf PROTO((unsigned EMUSHORT *)); @@ -340,7 +342,9 @@ static void emovz PROTO((unsigned EMUSHORT *, unsigned EMUSHORT *)); static void einan PROTO((unsigned EMUSHORT *)); static int eiisnan PROTO((unsigned EMUSHORT *)); static int eiisneg PROTO((unsigned EMUSHORT *)); +#if 0 static void eiinfin PROTO((unsigned EMUSHORT *)); +#endif static int eiisinf PROTO((unsigned EMUSHORT *)); static int ecmpm PROTO((unsigned EMUSHORT *, unsigned EMUSHORT *)); static void eshdn1 PROTO((unsigned EMUSHORT *)); @@ -379,7 +383,9 @@ static void toe53 PROTO((unsigned EMUSHORT *, unsigned EMUSHORT *)); static void etoe24 PROTO((unsigned EMUSHORT *, unsigned EMUSHORT *)); static void toe24 PROTO((unsigned EMUSHORT *, unsigned EMUSHORT *)); static int ecmp PROTO((unsigned EMUSHORT *, unsigned EMUSHORT *)); +#if 0 static void eround PROTO((unsigned EMUSHORT *, unsigned EMUSHORT *)); +#endif static void ltoe PROTO((HOST_WIDE_INT *, unsigned EMUSHORT *)); static void ultoe PROTO((unsigned HOST_WIDE_INT *, unsigned EMUSHORT *)); static void eifrac PROTO((unsigned EMUSHORT *, HOST_WIDE_INT *, @@ -388,10 +394,12 @@ static void euifrac PROTO((unsigned EMUSHORT *, unsigned HOST_WIDE_INT *, unsigned EMUSHORT *)); static int eshift PROTO((unsigned EMUSHORT *, int)); static int enormlz PROTO((unsigned EMUSHORT *)); +#if 0 static void e24toasc PROTO((unsigned EMUSHORT *, char *, int)); static void e53toasc PROTO((unsigned EMUSHORT *, char *, int)); static void e64toasc PROTO((unsigned EMUSHORT *, char *, int)); static void e113toasc PROTO((unsigned EMUSHORT *, char *, int)); +#endif /* 0 */ static void etoasc PROTO((unsigned EMUSHORT *, char *, int)); static void asctoe24 PROTO((char *, unsigned EMUSHORT *)); static void asctoe53 PROTO((char *, unsigned EMUSHORT *)); @@ -1292,7 +1300,9 @@ ereal_isneg (x) e53toe (&d, e) IEEE double precision to e type e64toe (&d, e) IEEE long double precision to e type e113toe (&d, e) 128-bit long double precision to e type +#if 0 eabs (e) absolute value +#endif eadd (a, b, c) c = b + a eclear (e) e = 0 ecmp (a, b) Returns 1 if a > b, 0 if a == b, @@ -1307,12 +1317,16 @@ ereal_isneg (x) emov (a, b) b = a emul (a, b, c) c = b * a eneg (e) e = -e +#if 0 eround (a, b) b = nearest integer value to a +#endif esub (a, b, c) c = b - a +#if 0 e24toasc (&f, str, n) single to ASCII string, n digits after decimal e53toasc (&d, str, n) double to ASCII string, n digits after decimal e64toasc (&d, str, n) 80-bit long double to ASCII string e113toasc (&d, str, n) 128-bit long double to ASCII string +#endif etoasc (e, str, n) e to ASCII string, n digits after decimal etoe24 (e, &f) convert e type to IEEE single precision etoe53 (e, &d) convert e type to IEEE double precision @@ -1350,7 +1364,9 @@ ereal_isneg (x) eiisnan (ai) 1 if a NaN eiisneg (ai) 1 if sign bit of ai != 0, else 0 einan (ai) set ai = NaN +#if 0 eiinfin (ai) set ai = infinity +#endif The result is always normalized and rounded to NI-4 word precision after each arithmetic operation. @@ -1520,6 +1536,7 @@ emov (a, b) } +#if 0 /* Absolute value of e-type X. */ static void @@ -1529,6 +1546,7 @@ eabs (x) /* sign is top bit of last word of external format */ x[NE - 1] &= 0x7fff; } +#endif /* 0 */ /* Negate the e-type number X. */ @@ -1821,6 +1839,7 @@ eiisneg (x) return x[0] != 0; } +#if 0 /* Fill exploded e-type X with infinity pattern. This has maximum exponent and significand all zeros. */ @@ -1832,6 +1851,7 @@ eiinfin (x) ecleaz (x); x[E] = 0x7fff; } +#endif /* 0 */ /* Return nonzero if exploded e-type X is infinite. */ @@ -4083,6 +4103,7 @@ ecmp (a, b) return (-msign); /* p is littler */ } +#if 0 /* Find e-type nearest integer to X, as floor (X + 0.5). */ static void @@ -4092,6 +4113,7 @@ eround (x, y) eadd (ehalf, x, y); efloor (y, y); } +#endif /* 0 */ /* Convert HOST_WIDE_INT LP to e type Y. */ @@ -4563,6 +4585,7 @@ static unsigned EMUSHORT emtens[NTEN + 1][NE] = }; #endif +#if 0 /* Convert float value X to ASCII string STRING with NDIG digits after the decimal point. */ @@ -4622,6 +4645,7 @@ e113toasc (x, string, ndigs) e113toe (x, w); etoasc (w, string, ndigs); } +#endif /* 0 */ /* Convert e-type X to ASCII string STRING with NDIGS digits after the decimal point. */ -- 2.30.2