+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.
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.
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.