OSDN Git Service

2003-01-26 Steven Bosscher <s.bosscher@student.tudelft.nl>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 86cc7f0..6960af9 100644 (file)
@@ -1,3 +1,836 @@
+2003-01-26  Steven Bosscher  <s.bosscher@student.tudelft.nl>
+
+       * config/avr/avr.h, config/cris/aout.h, config/elfos.h,
+       config/i386/freebsd-aout.h, config/mips/iris6.h: Undefine
+       ASM_FINISH_DECLARE_OBJECT before defining it.
+       * toplev.c (rest_of_decl_compilation):  Don't define
+       ASM_FINISH_DECLARE_OBJECT.  Only use it if it is defined.
+       (rest_of_type_compilation): Don't ATTRIBUTE_UNUSED function
+       parameters for DWARF2 targets because they _are_ used.
+
+2003-01-26  Alexandre Oliva  <aoliva@redhat.com>
+
+       * fp-bit.h: Define macros for TFmode floating-point constants
+       in IBM-extended TFmode types.
+       (TMODES): Define if __LDBL_MANT_DIG__ has the newly-supported
+       widths.
+       * config/fp-bit.c (pack_d, unpack_d): Support IBM-extended
+       TFmode type.
+
+       * config/fp-bit.h: Define macros for TFmode floating-point
+       constants in IEEE quad TFmode type.  Declare functions according
+       to L_ macros.
+       (TMODES): Define if __LDBL_MANT_DIG__ is 113.
+       (TFtype, TItype, UTItype): Define if TMODES is defined.
+       (MAX_UDI_INT, MAX_DI_INT, BITS_PER_DI): Likewise.
+       (F_T_BITOFF, D_T_BITOFF): Define.
+       (IMPLICIT_1, IMPLICIT_2): Cast constants to types that are
+       guaranteed to be wide enough.
+       * config/fp-bit.c: Check for L_ macros for tf functions.
+       (__thenan_tf): New.
+       (nan): Adjust.
+       (pack_d, unpack_d): Support IEEE 854 quad type.
+       (_fpmul_parts): Support TFmode.  Compute exponent adjustment
+       from FRAC_NBITS, FRAC_BITS and NGARDS.
+       (usi_to_float): Cast constants to be shifted to fractype
+       instead of assuming long long is wide enough.
+       (sf_to_tf, df_to_tf, __make_tp, tf_to_df, tf_to_sf): New.
+
+2003-01-26  Andreas Jaeger  <aj@suse.de>
+
+       * df.c: Remove prototype of unused function df_regno_rtl_debug.
+
+2003-01-26  Alexandre Oliva  <aoliva@redhat.com>
+
+       * Makefile.in (FPBIT_FUNCS): Added _sf_to_tf.
+       (DBBIT_FUNCS): Added _df_to_tf.
+       (TPBIT_FUNCS): New.
+       (libgcc.mk): Pass TPBIT and TPBIT_FUNCS down.
+       (LIBGCC_DEPS): Added TPBIT.
+       * mklibgcc.in: Support TPBIT and TPBIT_FUNCS.
+
+       * optabs.c (expand_binop) <add, sub>: Return xtarget if we haven't
+       been able to move the result to target.
+
+       * expr.c (emit_group_store): Initialize dst with CONST0_RTX
+       for the appropriate mode.
+
+       * calls.c (emit_library_call_value_1): Handle return values
+       in a PARALLEL.
+
+       * rtl.c (get_mode_alignment): Moved to...
+       * stor-layout.c: ... here.
+
+       * print-rtl.c (print_rtx): Don't print MEM details in
+       GENERATOR_FILEs.
+
+2003-01-26  Michael Hayes  <mph@paradise.net.nz>
+
+       * df.h: Update comments, tidy formatting.
+       (DF_FORWARD, DF_REVERSE, DF_UNION, DF_INTERSECTION): Rename from FORWARD,
+       REVERSE, UNION, INTERSECTION.  All uses updated.
+       (OLD_DF_INTERFACE): Remove.
+       (struct insn_info): Remove commented out insn field.
+       * df.c: Update comments, tidy formatting.
+       (df_def_table_realloc): Remove.
+
+
+2003-01-26  Alan Modra  <amodra@bigpond.net.au>
+
+       * calls.c (save_fixed_argument_area): Tidy.
+       (restore_fixed_argument_area): Tidy.  Set alignment of stack_area.
+       (expand_call): Comment typo fixes.  Don't init low_to_save.  Start
+       call chain loop at 1 if !try_tail_call.  Formatting.
+       (emit_library_call_value_1): Don't init low_to_save or high_to_save.
+       Use save_fixed_argument_area and restore_fixed_argument_area.
+
+2003-01-26  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * df.c (df_uses_record): Handle CC0.
+
+2003-01-25  Ulrich Weigand  <uweigand@de.ibm.com>
+
+        * reload.c (maybe_memory_address_p): New function.
+        (find_reloads_address): Use it instead of memory_address_p.
+
+2003-01-25  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * final.c (shorten_branches): Align the address of code label
+        when computing initial lengths and addresses.
+
+2003-01-25  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/m68hc11/m68hc11.md: Fix a comment typo.
+
+2003-01-25  Andreas Jaeger  <aj@suse.de>
+
+       * config/i386/i386.c (x86_output_mi_thunk): Correct test for
+       TARGET_MACHO.
+
+2003-01-25  Roger Sayle  <roger@eyesopen.com>
+
+       * gcse.c (bypass_last_basic_block): New global variable.
+       (bypass_block):  Use redirect_edge_and_branch_force to redirect
+       fall-through edges.  Use bypass_last_basic_block to determine
+       which blocks have valid PRE information.
+       (bypass_conditional_jumps): Initialize bypass_last_basic_block.
+
+Sat Jan 25 22:31:59 CET 2003  Jan Hubicka  <jh@suse.cz>
+
+       * gcse.c (local_cprop_pass): Update reg_sets table when needed.
+
+Sat Jan 25 21:04:33 CET 2003  Jan Hubicka  <jh@suse.cz>
+                             Eric Botcazou <ebotcazou@libertysurf.fr>
+       PR opt/8492
+       * gcse.c (one_cprop_pass): Delete unreachable blocks.
+
+2003-01-25  Richard Henderson  <rth@redhat.com>
+
+       * config/ia64/ia64.c (ia64_rwreloc_select_rtx_section): Rename
+       from ia64_aix_select_rtx_section.
+       (ia64_rwreloc_select_section): Simlarly; use default*_1 function
+       instead of saving and restoring flag_pic.
+       (ia64_rwreloc_unique_section): Similarly.
+       * config/ia64/aix.h (TARGET_ASM_SELECT_SECTION,
+       TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): Update.
+       * config/ia64/hpux.h (TARGET_ASM_SELECT_SECTION,
+       TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): New.
+
+2003-01-25  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300.c (h8300_shift_needs_scratch_p): Update a
+       comment.
+
+2002-01-25  Richard Henderson  <rth@redhat.com>
+
+       * config/m68k/m68k-none.h (ASM_SPEC): Adjust inter-option spacing.
+
+2002-01-25  Kelley Cook <kelleycook@comcast.net>
+
+       * ggc-simple.c (debug_ggc_tree): Add PTR cast.
+
+2003-01-25  Segher Boessenkool  <segher@koffie.nl>
+
+       * bitmap.h (BITMAP_WORD): New typedef: fundamental storage
+       type for bitmaps.  Use unsigned long.
+       (nBITMAP_WORD_BITS): New macro.
+       (BITMAP_WORD_BITS): New macro.
+       (rest of file): Use it.
+       * bitmap.c: Use it.
+
+2003-01-25  Richard Henderson  <rth@redhat.com>
+
+       2002-02-19  Robert Lipe  <robertlipe@usa.net>
+       * config/i386/t-sco5gas: (CRTSTUFF_T_CFLAGS_S): Delete -mcoff.
+
+2002-01-25  Roger Sayle  <roger@eyesopen.com>
+
+       * builtins.c (purge_builtin_constant_p): Scan insn stream
+       sequentially rather than by basic block.
+       * function.c (purge_addressof): Simplify test with INSN_P.
+
+2003-01-25  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * combine.c (simplify_comparison, case AND): Remove a redundant test.
+
+2002-01-25  Roger Sayle  <roger@eyesopen.com>
+
+       * function.h (struct function): New field calls_constant_p.
+       (current_function_calls_constant_p): New macro for above.
+       * function.c (prepare_function_start): Initialize calls_eh_return
+       and calls_constant_p.
+       * builtins.c (expand_builtin_constant_p): Set calls_constant_p.
+       * toplev.c (rest_of_compilation): Only call purge_builtin_constant_p
+       when the current_function_calls_constant_p.
+       * integrate.c (expand_inline_function): Set calls_constant_p if
+       the function being inlined has calls_constant_p set.
+
+2002-01-25  Roger Sayle  <roger@eyesopen.com>
+
+       * cse.c (fold_rtx): Instantiate CONSTANT_P_RTX to 0 when not
+       optimizing, even if flag_gcse is true.
+       * toplev.c (rest_of_compilation): purge_builtin_constant_p
+       only needs to be called when "optimize > 0 && flag_gcse".
+
+2003-01-25  Roger Sayle  <roger@eyesopen.com>
+
+       * stmt.c (emit_case_bit_tests): New routine to implement suitable
+       switch statements using the equivalent of "if ((1<<x) & cst) ... ".
+       (case_bit_test_cmp): New comparison function for "qsort" to order
+       case_bit_tests by decreasing number of destination nodes.
+       (lshift_cheap_p): New function to determine if "1 << x" is cheap.
+       (expand_end_case_type): Use emit_case_bit_tests to implement
+       suitable switch statments.
+       (CASE_USE_BIT_TESTS): New target macro to disable the above.
+       * Makefile.in (stmt.o): Add dependency on optab.h.
+       * doc/tm.texi (CASE_USE_BIT_TESTS): Document new target macro.
+
+2003-01-23  Andreas Schwab  <schwab@suse.de>
+
+       * config/ia64/crtend.asm [HAVE_INITFINI_ARRAY]: Make
+       __do_global_ctors_aux hidden global and don't put it in
+       .init_array.
+       * config/ia64/crtbegin.asm [HAVE_INITFINI_ARRAY]: Put it here
+       instead so that it comes first.
+
+Sat Jan 25 16:11:22 CET 2003  Jan Hubicka  <jh@suse.cz>
+
+       * df.c (read_modify_subreg_p):  When osize == UNITS_PER_WORD,
+       subreg is read/modify.
+
+Sat Jan 25 15:55:08 CET 2003  Jan Hubicka  <jh@suse.cz>
+
+       * i386.c (ix86_expand_movstr, ix86_expand_clrstr): Consistently
+       do libcall for large blocks.
+       * i386.md (comi patterns): Set type to ssecomi.
+       (sse2_unpck?pd): Fix mode of vec_select.
+
+       * cse.c: Include except.h
+       (cse_set_around_loop):  Do not create new basic blocks.
+       * Makefile.in (cse.o): Add dependnecy on except.h
+
+Sat Jan 25 12:05:17 CET 2003  Jan Hubicka  <jh@suse.cz>
+
+       * builtins.c (fold_trunc_transparent_mathfn): New function.
+       (fold_builtin): Use it.
+       * convert.c (convert_to_real): Re-enable code to convert
+       math functions; add support for floor familly functions.
+
+2003-01-25  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+
+       * Makefile.in (cfgloop.o, cfgloopanal.o, cfgloopmanip.o): Add
+       dependencies on coretypes.h and $(TM_H).
+
+Sat Jan 25 11:10:03 CET 2003  Jan Hubicka  <jh@suse.cz>
+
+       * builtins.c (fold_trunc_transparent_mathfn):  Undo accidental commit.
+
+2002-01-24  Stuart Hastings  <stuart@apple.com>
+
+       * config/i386/i386.c (x86_output_mi_thunk): Add Darwin/x86 support.
+
+2003-01-25  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * config/c4x/c4x.md (UNSPEC_BU): New constants.
+       (UNSPEC_RPTS, UNSPEC_LSH, UNSPEC_CMPHI, UNSPEC_RCPF): Likewise.
+       (UNSPEC_RND, UNSPEC_RPTB_FILL, UNSPEC_LOADHF_INT): Likewise.
+       (UNSPEC_STOREHF_INT, UNSPEC_RSQRF, UNSPEC_LOADQF_INT): Likewise.
+       (UNSPEC_STOREQF_INT, UNSPEC_LDIV, UNSPEC_PUSH_ST):  Likewise.
+       (UNSPEC_POP_ST, UNSPEC_PUSH_DP, UNSPEC_POP_DP):  Likewise.
+       (UNSPEC_POPQI, UNSPEC_POPQF, UNSPEC_ANDN_ST):  Likewise.
+       (UNSPEC_RPTB_INIT, UNSPEC_TOIEEE, UNSPEC_FRIEEE):  Likewise.
+
+Fri Jan 24 23:44:12 CET 2003  Jan Hubicka  <jh@suse.cz>
+
+       * emit-rtl.c (reg_attrs_htab): New static variable.
+       (reg_attrs_htab_hash, reg_attrs_htab_eq, get_reg_attrs): New static
+       functions.
+       (reg_rtx): Do not maintain regno_decl.
+       (gen_rtx_REG_offset, set_reg_attrs_from_mem, set_delc_rtx,
+       set_mem_attrs_from_reg): New global function.
+       (init_emit): Do not initialize regno_decl.
+       (init_emit_once): initialize reg_attrs_htab.
+       * final.c (alter_subreg): Do not replace REG by SUBREG.
+       (gen_mem_expr_from_op): Improve output.
+       (output_asm_operands): Likewise.
+       * function.c (assign_params): Do not set REGNO_DECL.
+       * function.h (struct function): Kill regno_decl.
+       (REGNO_DECL): Kill.
+       * gengtype.c (adjust_field_rtx_def): Handle new field of reg.
+       * print_rtl.c (print_rtx): Output REG information.
+       * regclass.c (reg_scan_mark_refs): Update attrs.
+       * reload1.c (alter_reg): Likewise.
+       * simplify_rtx.c (simplify_subreg): Likewise.
+       * stmt.c (expand_decl): Likewise.
+       * rtl.def (REG): Add new field.
+       * rtl.h (struct reg_attrs): New.
+       (rtunion_def): At rtreg.
+       (X0MEMATTR): Add checking.
+       (X0REGATTR, REG_ATTRS, REG_EXPR, REG_OFFSET): New macro.
+       (set_reg_attrs_from_mem, set_mem_attrs_from_reg, gen_rtx_REG_offset):
+       Declare.
+       * tree.h (SET_DECL_RTL): Call set_decl_rtl.
+
+2003-01-24  Bob Wilson  <bob.wilson@acm.org>
+
+       * config/xtensa/xtensa.c: Remove unused include of machmode.h.
+       (xtensa_emit_call, print_operand): Fix printf format strings
+       to avoid compile warnings.
+       (xtensa_function_prologue, xtensa_function_epilogue): Change type
+       of "size" argument to HOST_WIDE_INT to fix compile warnings.
+       * config/xtensa/xtensa-protos.h
+       (xtensa_function_prologue, xtensa_function_epilogue): Ditto.
+
+Fri Jan 24 23:03:32 CET 2003  Jan Hubicka  <jh@suse.cz>
+
+       * builtins.c (DEF_BUILTIN): Accept 10 arguments.
+       (implicit_built_in_decls): New global array.
+       (mathfn_built_in): New global function.
+       (fold_trunc_transparent_mathfn): New static function
+       (expand_builtin_strstr, expand_bultin_strchr,
+       expand_builtin_strpbrk, expand_builtin_strcpy,
+       expand_builtin_strncpy, expand_bultin_strcmp,
+       expand_bultin_strncat, expand_builtin_fputs): Use
+       implicint_built_in_decls.
+       (fold_builtin): Fold floor/trunc/round/ceil/nearbyint.
+       * builtins.def: Fix comments.
+       (DEF_GCC_BUILTIN, DEF_FALLBACK_BUILTIN, DEF_EXT_FALLBACK_BUILTIN,
+       DEF_LIB_BUILTIN, DEF_LIB_ALWAYS_BUILTIN, DEF_EXT_LIB_BUILTIN,
+       DEF_C99_BULTIN, DEF_FRONT_END_LIB_BUILTIN,
+       DEF_EXT_FRONT_END_LIB_BUILTIN): Pass implicit as needed.
+       (DEF_C99_C90RES_BULTIN): New.
+       (*f, *l builtins): Update.
+       * c-common.c (DEF_BUILTIN): Initialize implicit array.
+       (c_expand_builtin_printf, c_expand_builtin_fprintf): Update.
+       * convert.c (strip_float_extensions): New global function.
+       * tree.h (DEF_BUILTIN): Accept 10 arguments.
+       (implicit_built_in_decls, mathfn_built_in, strip_float_extension):
+       Declare.
+       * java/builtins.c (define_builtin): Handle implicit.
+       (DEF_BUILTIN): Update.
+       * tm.texi (TARGET_C99_FUNCTIONS): Document.
+       * defaults.h (TARGET_C99_FUNCTIONS): Default to 0.
+       * config/linux.h (TARGET_C99_FUNCTIONS): Default to 1
+       when using glibc2.
+
+2003-01-24  Bob Wilson  <bob.wilson@acm.org>
+
+       * config.gcc (xtensa-*-elf*): Removed assignments to with_newlib,
+       extra_parts, and fixincludes.  Add xtensa/t-elf tmake_file.
+       (xtensa-*-linux*): Add xtensa/t-linux tmake_file.
+       * config/xtensa/crti.asm: New file.
+       * config/xtensa/crtn.asm: New file.
+       * config/xtensa/t-elf: New file.
+       * config/xtensa/t-linux: New file.
+       * config/xtensa/t-xtensa: Add rules for crti.o and crtn.o.
+       Move various CFLAGS settings to new t-elf file.
+
+2003-01-24  Richard Henderson  <rth@redhat.com>
+
+       PR optimization/4382
+       * tree-inline.c (find_builtin_longjmp_call_1): New.
+       (find_builtin_longjmp_call): New.
+       (inlinable_function_p): Use it.
+
+2003-01-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+
+       * config/i386/i386-protos.h (function_arg_pass_by_reference): Declare.
+       * config/i386/i386.h (FUNCTION_ARG_PASS_BY_REFERENCE): Use it.
+       * config/i386/i386.c (function_arg_pass_by_reference): New.
+       (ix86_va_arg): Support arguments passed by reference.
+
+2003-01-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+
+       * cfgloopanal.c: New file.
+       * cfgloopmanip.c: New file.
+       * Makefile.in (cfgloopanal.o, cfgloopmanip.o): New.
+       (toplev.o, loop.o, doloop.o, unroll.o, cfgloop.o, predict.o,
+       cfglayout.o): Add dependency on cfgloop.h.
+       (cfgloop.o): Add flags.h dependency.
+       * basic-block.h (BB_IRREDUCIBLE_LOOP, BB_SUPERBLOCK): New flags.
+       (VLS_EXPECT_PREHEADERS, VLS_EXPECT_SIMPLE_LATCHES): Removed.
+       (struct loop, struct loops, flow_loops_find, flow_loops_update,
+       flow_loops_free, flow_loops_dump, flow_loop_dump,
+       flow_loop_scan, flow_loop_tree_node_add, flow_loop_tree_node_remove,
+       LOOP_TREE,,LOOP_PRE_HEADER, LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES,
+       LOOP_ALL, flow_loop_outside_edge_p, flow_loop_nested_p,
+       flow_bb_inside_loop_p, get_loop_body, loop_preheader_edge,
+       loop_latch_edge, add_bb_to_loop, remove_bb_from_loops,
+       find_common_loop, verify_loop_structure): Declarations moved to ...
+       * cfgloop.h: New file.
+       * bb-reorder.c (reorder_basic_blocks): Modified.
+       * cfglayout.c: Include cfgloop.h.
+       (cleanup_unconditional_jumps, cfg_layout_redirect_edge,
+       cfg_layout_duplicate_bb, cfg_layout_initialize): Update loop structure.
+       (break_superblocks): New static function.
+       (cfg_layout_finalize): Use it.
+       (cfg_layout_split_block): New function.
+       * cfglayout.h (struct reorder_block_def): Add copy and duplicated
+       fields.
+       (cfg_layout_initialize, cfg_layout_redirect_edge): Declaration
+       changed.
+       (cfg_layout_split_block): Declare.
+       * cfgloop.c: Include cfgloop.h and flags.h.
+       (flow_loop_dump, flow_loops_free, flow_loop_exit_edges_find,
+       get_loop_body): Avoid signed versus unsigned comparison warnings.
+       (make_forwarder_block, flow_loops_find, loop_preheader_edge,
+       loop_latch_edge): Modified.
+       (verify_loop_structure): Modified to use flags stored in loop structure;
+       check irreducible loops.
+       (cancel_loop, cancel_loop_tree): New functions.
+       (estimate_probability): Use loop analysis code for predictions.
+       (estimate_loops_at_level):  Avoid signed versus unsigned comparison
+       warnings.
+       * doloop.c: Include cfgloop.h.
+       * loop.c: Include cfgloop.h.
+       * predict.c: Include cfgloop.h.
+       * toplev.c: Include cfgloop.h.
+       * unroll.c: Include cfgloop.h.
+       * tracer.c (tracer): Modified.
+
+2003-01-24  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300.c (get_shift_alg): Fix a typo.
+
+2003-01-24  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * configure.in (HAVE_AS_TLS): Add s390-*-* and s390x-*-* cases.
+       * configure: Regenerate.
+
+       * config/s390/s390-protos.h (tls_symbolic_operand): Add prototype.
+       (tls_symbolic_reference_mentioned_p): Add prototype.
+       (s390_tls_get_offset): Add prototype.
+       (emit_pic_move): Remove prototype, replace by ...
+       (emit_symbolic_move): .. this new prototype.
+
+       * config/s390/s390.c (TARGET_HAVE_TLS): Conditionally define.
+       (tls_model_chars): New global variable.
+       (s390_encode_section_info): Encode TLS model.
+       Use targetm.binds_local_p to check for local symbols.
+       (s390_strip_name_encoding): New function.
+       (TARGET_STRIP_NAME_ENCODING): Define.
+
+       (get_thread_pointer): New function.
+       (legitimize_tls_address): New function.
+       (legitimize_address): Call it.
+       (emit_pic_move): Remove, replace by ...
+       (emit_symbolic_move): ... this new function.
+
+       (larl_operand): Handle TLS operands.
+       (legitimate_constant_p): Likewise.
+       (s390_decompose_address): Likewise.
+       (s390_cannot_force_const_mem): New function.
+       (TARGET_CANNOT_FORCE_CONST_MEM): Define.
+
+       (s390_output_symbolic_const): Handle TLS unspecs.
+       (print_operand): New code 'J'.
+       (machine_function): Add struct member 'some_ld_name'.
+       (get_some_local_dynamic_name, get_some_local_dynamic_name_1): New.
+
+       (enum s390_builtin): New type.
+       (code_for_builtin_64, code_for_builtin_31): New global variables.
+       (s390_init_builtins, s390_expand_builtin): New functions.
+       (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Define.
+
+       * config/s390/s390.h (TLS_SYMBOLIC_CONST): New macro.
+       (ASM_OUTPUT_LABELREF): Define.
+       (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Handle TLS constants.
+
+       * config/s390/s390.md: Define TLS UNSPEC constants.
+       ("movdi", "movsi"): Handle TLS operands.
+       ("get_tp_64", "get_tp_31", "set_tp_64", "set_tp_31"): New insns.
+       ("*tls_load_64", "*tls_load_31"): New insns.
+       ("call_value_tls", "call_value_tls_exp"): New expanders.
+       ("brasl_tls", "bras_tls", "basr_tls_64", "basr_tls_31",
+       "bas_tls_64", "bas_tls_31"): New insns.
+
+2003-01-24  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * config/rs6000/rs6000.c (rs6000_parse_abi_options): Make sure
+       spe ABI is configured, if requested.
+
+2003-01-24  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+
+       * doc/passes.texi: Fix typo.
+
+2003-01-24  Andreas Schwab  <schwab@suse.de>
+
+       * stor-layout.c (excess_unit_span): Only define if used.
+
+2003-01-24  Jerry Quinn  <jlquinn@optonline.net>
+
+       * gcc/doc/invoke.texi (Optimization Options): List -O levels
+       for each optimization flag.
+
+2003-01-24  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300.md (*andsi3_ashift_n_lower): New.
+
+2003-01-24  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+
+       * doc/bugreport.texi: Use @command instead of @code for commands.
+       * doc/collect2.texi: Likewise.
+       * doc/headerdirs.texi: Likewise.
+       * doc/invoke.texi: Likewise.
+       * doc/standards.texi: Likewise.
+       * doc/tm.texi: Likewise.
+       * doc/trouble.texi: Likewise.
+
+2003-01-24  Nick Clifton  <nickc@redhat.com>
+
+       * config/arm/arm.c (use_return_insn): Do not use a single return
+       instruction for interrupt handelrs which have to create a stack
+       frame.
+       (arm_expand_prologue): Do not pre-bias the return address of
+       interrupt handlers which create a stack frame.
+
+2003-01-24  Nick Clifton  <nickc@redhat.com>
+
+       * Add sh2e support:
+
+       2002-08-12  Alexandre Oliva  <aoliva@redhat.com>
+
+               * config/sh/sh.c (output_branch) [TARGET_SH2E]: Handle
+               med_cbranches.  Fix logic in short_cbranches.
+
+       2002-04-03  Alexandre Oliva  <aoliva@redhat.com>
+
+               * config/sh/sh.md (delay for cbranch): Don't annul delay
+               slots on SH2e.
+               * config/sh/sh.c (sh_insn_length_adjustment): Add 2 for
+               cbranch with unfilled delay slot on SH2e.
+               (output_branch): Fill with a nop the delay slot of a
+               branch that required a delay slot but didn't get one.
+
+       2002-04-02  Alexandre Oliva  <aoliva@redhat.com>
+
+               * doc/invoke.texi (SH options): Document -m2e.
+               * config/sh/crt1.asm: Add __SH2E__ Next to __SH3E__.
+               * config/sh/lib1funcs.asm: Likewise.
+               * config/sh/sh.c: Replace all uses of TARGET_SH3E with SH2E.
+               * config/sh/sh.h (CPP_SPEC): Define __SH2E__ for -m2e, and
+               not __sh1__.
+               (CONDITIONAL_REGISTER_USAGE): Don't disable FP regs from
+               SH2E up.
+               (SH3E_BIT): Renamed to...
+               (SH_E_BIT): ... this.  Replace all uses.
+               (TARGET_SH2E): Define from SH_E_BIT and TARGET_SH2.
+               Replace all uses of TARGET_SH3E with TARGET_SH2E.
+               (TARGET_SWITCHES): Added 2e.
+               (OVERRIDE_OPTIONS): Set sh_cpu for SH2E.
+               (processor_type): Added PROCESSOR_SH2E.
+               * config/sh/sh.md: Replace all uses of TARGET_SH3E with
+               TARGET_SH2E, except in sqrtsf2_i.
+               (attribute cpu): Added sh2e.
+               * config/sh/t-sh (MULTILIB_OPTIONS): Replace m3e with m2e.
+               (MULTILIB_MATCHES): Use m2e multilib for m3e.
+               * config.gcc: Add sh2e target support.
+
+2003-01-24  Phil Edwards  <pme@gcc.gnu.org>
+
+       Rename -W to -Wextra.
+       * c-decl.c:  Update comments.
+       * c-typeck.c:  Likewise.
+       * flags.h:  Likewise.
+       * function.c:  Likewise.
+       * stmt.c:  Likewise.
+       * toplev.c:  Update comments.
+       (W_options):  Add 'extra'.
+       (display_help):  Remove '-W'.
+       (decode_W_option):  Special warn_uninitialized treatment in the case
+       of -Wextra.
+       * doc/invoke.texi:  Update with new entries.
+
+2003-01-23  Richard Henderson  <rth@redhat.com>
+
+       * ifcvt.c (noce_process_if_block): Re-add check vs X being changed
+       in no-else-block case.  Add commentary.
+
+2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * configure.in: Revert last change.
+
+2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * configure.in: Don't include ansidecl.h in tconfig.h.
+       * gcov-io.h (PARAMS, ATTRIBUTE_UNUSED: Define if IN_LIBGCC2.
+       * unwind-dw2-fde.h (last_fde): Use __attribute__, not
+       ATTRIBUTE_UNUSED.
+
+       * configure: Regenerate.
+
+2003-01-23  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+
+       PR java/6748
+       * config/rs6000/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Don't destroy
+       regs->nip. Fix rt_sigreturn frame layout. Add support for newer
+       kernels.
+
+2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * cpplex.c (cpp_interpret_charconst): Squelch warning with cast.
+
+2003-01-23  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * genattrtab.c (write_attr_get): Mark 'insn' paramter
+       as ATTRIBUTE_UNUSED.
+
+2003-01-23  Richard Earnshaw  <rearnsha@arm.com>
+
+       * arm.c (thumb_base_register_rtx_p): New function.
+       (thumb_index_register_rtx_p): New function.
+       (thumb_legitimate_address_p): New function.
+       (thumb_legitimate_offset_p): New function.
+       * arm.h (REG_STRICT_P): Define according to setting of REG_OK_STRICT.
+       (ARM_GO_IF_LEGITIMATE_ADDRESS): Use REG_STRICT_P to avoid duplicate
+       definitions.
+       (THUMB_GO_IF_LEGITIMATE_ADDRESS): Use thumb_legitimate_address_p.
+       (THUMB_LEGITIMATE_OFFSET): Delte.
+       (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use thumb_legitimate_offset.
+       * arm-protos.h (thumb_legitimate_address_p): Add prototype.
+       (thumb_legitimate_offset_p): Likewise.
+
+2003-01-23  Andreas Schwab  <schwab@suse.de>
+
+       * unwind.h (_Unwind_GetTextRelBase): Mark parameter as unused.
+
+2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * fixinc/Makefile.in (FL_LIST): Revert last change.
+
+2003-01-23  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+
+       PR other/7341
+       * invoke.texi (ftest-coverage): Fix broken cross-reference.
+       Change @code to @command for gcov command.
+
+       * gcc.texi: Adjust title of gcov section.
+       Adjust copyright.
+       * gcov.texi: Likewise.
+
+2003-01-22  Roger Sayle  <roger@eyesopen.com>
+
+       PR optimization/8423
+       * cse.c (fold_rtx): Only eliminate a CONSTANT_P_RTX to 1 when
+       its argument is constant, or 0 if !flag_gcse.
+       * simplify-rtx.c (simplify_rtx): Convert CONSTANT_P_RTX to 1
+       if it's argument is constant.
+       * gcse.c (want_to_gcse_p): Ignore CONSTANT_P_RTX nodes.
+       (hash_scan_set): Don't record CONSTANT_P_RTX expressions.
+       (do_local_cprop): Don't propagate CONSTANT_P_RTX constants.
+       * builtins.c (purge_builtin_constant_p): New function to force
+       instantiation of any remaining CONSTANT_P_RTX nodes.
+       * rtl.h (purge_builtin_constant_p): Prototype here.
+       * toplev.c (rest_of_compilation): Invoke purge_builtin_constant_p
+       pass after GCSE and before loop.
+       (flag_gcse): No longer static.
+       * flags.h (flag_gcse): Prototype here.
+
+2003-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * config/s390/s390.h (HARD_REGNO_MODE_OK): Fix warning regression
+       introduced by last change.
+
+2003-01-22  Andreas Schwab  <schwab@suse.de>
+
+       * ra-rewrite.c (rewrite_program2): Initialize bb to avoid warning.
+
+2003-01-22  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300.c (h8300_shift_needs_scratch_p): Don't
+       request a scratch reg on H8S when the shift count is 8.
+
+2003-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * config/s390/s390-protos.h (preferred_la_operand_p):
+       Remove second parameter.
+       * config/s390/s390.c (preferred_la_operand_p): Likewise.
+       * config/s390/s390.h (FRAME_REGNO_P, FRAME_REG_P): New macros.
+       (HARD_REGNO_MODE_OK): Use FRAME_REGNO_P.
+       * config/s390/s390.md ("*la_cc_64", "*la_cc_31", splitters): Remove.
+       Add peepholes to transform ADD to LOAD ADDRESS.
+
+2003-01-22  Richard Earnshaw  <rearnsha@arm.com>
+
+       * arm.c (arm_address_register_rtx_p): New function.
+       (arm_legitimate_address_p): New function.
+       (arm_legitimate_index_p): New function.
+       (legitimize_pic_address): Use arm_legitimate_index_p.
+       * arm-protos.h (arm_legtimate_address_p): Add prototype.
+       * arm.h (ARM_GO_IF_LEGITIMATE_INDEX): Delete.
+       (ARM_GO_IF_LEGITIMATE_ADDRESS): Call arm_legitimate_address_p.
+
+2003-01-22  Hartmut Penner  <hpenner@de.ibm.com>
+
+       * config/s390/s390.md (floatdfdi2): Insn has type 'itof'.
+       * config/s390/2064.md (define_bypass): Correct 'Load' and
+       'Load-address' bypass values.
+
+2003-01-22  Andreas Schwab  <schwab@suse.de>
+
+       * config/ia64/t-ia64 (insn-attrtab.o-warn): Define as -Wno-error.
+
+2003-01-21  Zack Weinberg  <zack@codesourcery.com>
+
+       * genautomata.c (output_internal_insn_latency_func,
+       output_print_reservation_func): Short circuit when there is no
+       automaton to generate code for.
+
+2003-01-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * Makefile.in (ssa-ccp.o): Depend on coretypes.h $(TM_H).
+       (df.o): Delete duplicate dependency on coretypes.h $(TM_H).
+
+2003-01-21  Geoffrey Keating  <geoffk@apple.com>
+
+       * config/rs6000/rs6000.md: Remove warning.
+       (builtin_setjmp_receiver): Likewise.
+       * config/darwin.c (update_stubs): Slightly improve terrible hack
+       with identifiers.  Add comment pointing out problems with it.
+       (update_non_lazy_ptrs): Likewise.
+
+2003-01-21  Richard Henderson  <rth@redhat.com>
+
+       * dwarf2out.c (lookup_filename): Fix printf format warning.
+       * system.h (fread_unlocked, fwrite_unlocked): Undef.
+
+       * fixinc/Makefile.in (FL_LIST): Add $($@-warn) hook.
+       (fixincl.o-warn, gnu-regex.o-warn): New.
+       * fixinc/fixfixes.c (FIX_PROC_HEAD): Mark parameters unused.
+       * fixinc/fixtests.c (TEST_FOR_FIX_PROC_HEAD): Likewise.
+       * fixinc/fixincl.c (process): Fix printf format warning.
+
+2003-01-21  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * dwarf2out (output_file_names): Don't crash if called
+       with empty file_table.
+
+2003-01-21  Zack Weinberg  <zack@codesourcery.com>
+
+       * genautomata.c (output_internal_insn_latency_func): Add
+       missing break statement to generated code.
+
+2003-01-21  Roger Sayle  <roger@eyesopen.com>
+
+       * stmt.c (same_case_target_p): New function to determine whether
+       two case labels branch to the same target.  Split out from...
+       (group_case_nodes): ... here.  Use same_case_target_p instead.
+       (strip_default_case_nodes): Remove explicit case nodes
+       that branch to the default destination.
+       (expand_end_case_type): Call strip_default_case_nodes after
+       group_case_nodes, to simplify the case-list before we count it.
+       Only generate table_label RTX when actually needed.  Try to share
+       thiscase->exit_label and thiscase->data.case_stmt.default_label
+       when a switch has no explicit default case.  Simplify test for
+       constant index.
+
+2003-01-21  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300.md (*negsf2_h8300): Use \\t instead of
+       \t.
+       (*negsf2_h8300hs): Likewise.
+       (*addsi3_lshiftrt_16_zexthi): Likewise.
+       (*iorhi3_lshiftrt_8): Likewise.
+
+2003-01-21  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * dwarf2out.c (fde_table_in_use): Mark GTY.
+       (dwarf2out_cfi_label_num): New variable, marked GTY.
+       (dwarf2out_cfi_label): Use it instead of static label_num.
+       * emit-rtl.c (label_num): Mark GTY.
+
+2003-01-21  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300.c (output_plussi): Support H8/300.
+       (compute_plussi_length): Likewise.
+       (compute_plussi_cc): Likewise.
+       * config/h8300/h8300.md (addsi_h8300): Use output_plussi to
+       output assembly instructions.
+
+2003-01-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * calls.c (fix_unsafe_tree): Prototype.
+
+       * Makefile.in (GCC_WARN_CFLAGS): Add $(WERROR) $($@-warn)
+       (gtype-desc.o-warn, c-decl.o-warn, varasm.o-warn, gcc.o-warn,
+       insn-conditions.o-warn, out_object_file, gengtype-yacc.o-warn,
+       c-parse.o-warn): Add -Wno-error.
+       (STAGE2_FLAGS_TO_PASS): Add WERROR="@WERROR@".
+
+       * configure.in (--enable-werror): Add new flag.
+       * doc/install.texi (--enable-werror): Document.
+       * configure: Regenerate.
+
+       * objc/Make-lang.in (objc/objc-parse.o-warn): Add -Wno-error.
+
+2003-01-21  Andreas Schwab  <schwab@suse.de>
+
+       * genautomata.c (output_internal_insn_latency_func): Fix missing
+       close paren in output.
+
+2003-01-21  Zack Weinberg  <zack@codesourcery.com>
+
+       * genautomata.c: Space savings in generated code:
+       (output_dfa_insn_code_func): Split out the table-enlargement
+       path to an out-of-line static function, dfa_insn_code_enlarge.
+       (output_internal_insn_latency_func): Use a lookup table for the
+       default latencies.
+       (output_print_reservation_func): Use a lookup table for the
+       strings.
+
+2003-01-21  Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
+
+       PR opt/7507
+       * calls.c (fix_unsafe_tree): Split out from ...
+       (expand_call): ... here.  Use it on the function address too.
+
+2003-01-20  Richard Henderson  <rth@redhat.com>
+
+       * expr.h (default_must_pass_in_stack): Move decl outside ifdef.
+
+2003-01-20  Richard Henderson  <rth@redhat.com>
+
+       PR opt/7154
+       * stmt.c (expand_asm_operands): Validize memory operands.
+
+2003-01-20  Richard Henderson  <rth@redhat.com>
+
+       PR opt/8848
+       * ifcvt.c (noce_process_if_block): Correct arguments to
+       modified_between_p for no-else-block case.
+
+2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300.c (const_costs): Remove a warning.
+       (output_plussi): Likewise.
+       (compute_plussi_length): Likewise.
+       (compute_plussi_cc): Likewise.
+
+2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300.md (addsi_h8300): Remove the last
+       alternative.
+
 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
 
        * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
@@ -682,7 +1515,7 @@ Fri Jan 10 22:05:35 CET 2003  Jan Hubicka  <jh@suse.cz>
 
 2003-01-10  Hartmut Penner  <hpenner@de.ibm.com>
 
-               * doc/invoke.texi: Document -mtune, delete -mcpu
+       * doc/invoke.texi: Document -mtune, delete -mcpu
        option for S/390 and zSeries.
        * config/s390/s390.c (s390_tune_string) New variable.
        (s390_cpu_string) Delete variable.
@@ -2867,7 +3700,7 @@ Sun Dec 22 18:23:44 CET 2002  Jan Hubicka  <jh@suse.cz>
 
 2002-12-20  Hartmut Penner  <hpenner@de.ibm.com>
 
-               * doc/invoke.texi: Document -mzarch, -mesa, -mcpu= and -march=
+       * doc/invoke.texi: Document -mzarch, -mesa, -mcpu= and -march=
        option for S/390 and zSeries.
        * config/s390/s390.c (s390_cpu, s390_cpu_string, s390_arch,
        s390_arch_string): New variables.