OSDN Git Service

* i386/i386.c (ix86_save_reg): Also test
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index b3fc381..421f8c2 100644 (file)
@@ -1,3 +1,760 @@
+2003-03-05  Michael Matz  <matz@suse.de>
+
+       * i386/i386.c (ix86_save_reg): Also test
+       current_function_uses_const_pool.
+
+2003-03-05  Michael Matz  <matz@suse.de>
+
+       * unwind.h: Add the GPL exception.
+       * Makefile.in (USER_H): Add unwind.h.
+
+2003-03-05  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR c/9799
+       * c-typeck.c (push_init_level): Add sanity check.
+
+Wed Mar  5 02:04:04 CET 2003  Jan Hubicka  <jh@suse.cz>
+
+       * toplev.c (rest_of_compilation):  Deffer RTL compilation only when
+       RTL inlining is done.
+
+       * cgraphunit.c (cgraph_mark_local_functions): New local function.
+       (cgraph_optimize): Mark local functions.
+       * i386-protos.h (init_cumulative_args): Update prototype.
+       * i386.c (init_cumulative_args): Use register passing convention for
+       local functions.
+
+       * cgraph.c (cgraph_global_info_ready): New global variable
+       (cgraph_local_info, cgraph_global_info): New functions.
+       * cgraph.h (struct cgraph_local_info, cgraph_global_info): New
+       structures.
+       (cgraph_local_info, cgraph_global_info, cgraph_global_info_ready):
+       Declare.
+       * cgraphunit.c (cgraph_finalize_function): Set inline_many.
+       (cgraph_mark_functions_to_output): Use inline_many.
+       (cgraph_expand_function): Free DECL_SAVED_TREE uncondtionally.
+       (cgraph_expand_functions): Expand inline functions last.
+       (cgraph_optimize): Do not emit uneeded functions.
+
+2003-03-04  Steve Ellcey  <sje@cup.hp.com>
+
+       * expr.c (convert_modes): Check for legal hard register.
+
+2003-03-04  Tom Tromey  <tromey@redhat.com>
+
+       * doc/sourcebuild.texi (Front End Directory): Document tags.
+       * configure: Rebuilt.
+       * configure.in (target_list): Added tags.
+       * Makefile.in (TAGS): Depend on lang.clean.  Include subdirectory
+       TAGS files by reference.
+       * objc/Make-lang.in (objc.tags): New target.
+
+2003-03-04  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+
+       * gcov-io.h (gcov_save_position, gcov_reserve_length, gcov_resync,
+       gcov_skip, gcov_skip_string, gcov_write_unsigned, gcov_write_counter,
+       gcov_write_string, gcov_read_unsigned, gcov_read_counter,
+       gcov_read_string, gcov_write_length): Modified to enable reading/
+       writing of whole .da file just once.
+       (da_file_open, da_file_close, da_file_eof, da_file_error,
+       da_file_position, da_file_seek, da_file_write, da_file_read): New
+       functions.
+       (actual_da_file, actual_da_file_position, actual_da_file_length,
+       actual_da_file_buffer, actual_da_file_buffer_size): New static
+       functions.
+       * libgcov.c (gcov_exit): Modified to read/write the whole .da file at
+       just once.
+
+
+2003-03-04  Andreas Schwab  <schwab@suse.de>
+
+       * config/m68k/m68k.c (m68k_output_function_prologue): Fix CFA
+       offset without frame pointer.
+
+2003-03-04  Steve Ellcey  <sje@cup.hp.com>
+
+       * expr.c (expand_expr): Call promote_mode to set unsignedp.
+
+2003-03-04  Daniel Jacobowitz  <drow@mvista.com>
+
+       * configure.in: Don't always define TARGET_SYSTEM_ROOT.
+       * configure: Regenerated.
+       * gcc.c: Check whether TARGET_SYSTEM_ROOT is defined.
+
+2003-03-04  Andreas Jaeger  <aj@suse.de>
+
+       * configure.in: Check for <memcheck.h>.
+        * configure: Regenerated.
+
+       * config.in: Define HAVE_MEMCHECK_H.
+
+       * ggc-common.c: Use <memcheck.h> if available instead of
+       <valgrind.h>.
+       * ggc-page.c: Likewise.
+       * cppfiles.c: Likewise.
+
+2003-03-04  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300.md (*extzv_8_8): Fix cc and lengths.
+
+2003-03-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR c/9262
+       * c-typeck.c (do_case): Attach the first case label to the SWITCH_BODY.
+       (c_finish_case): Rechain the next statements to the SWITCH_STMT.
+
+Tue Mar  4 11:30:04 CET 2003  Jan Hubicka  <jh@suse.cz>
+
+       * doc/invoke.texi:  Document that unit-at-a-time is enabled for -O3
+       * toplev.c (parse_options_and_default_flags): Enable flag_unit_at_a_time
+       for -O3.
+
+2003-03-04  Nathanael Nerode  <neroden@gcc.gnu.org>
+
+       * configure.in: Delete three unused variables.  Move a variable
+       definition closer to its use.  Simplify use_collect2 logic.  Start to
+       organize.  Simplify tests for in-tree gas and ld.
+       * configure: Regenerate.
+
+2003-03-04  Neil Booth  <neil@daikokuya.co.uk>
+
+       * Makefile.in: Update.
+       * c-common.c (flag_no_line_commands, flag_no_output,
+       flag_dump_macros, flag_dump_includes): New.
+       * c-common.h (flag_no_line_commands, flag_no_output,
+       flag_dump_macros, flag_dump_includes, preprocess_file): New.
+       (init_c_lex): Update prototype.
+       * c-lex.c (init_c_lex): Update prototype; move some code to
+       c_common_init.
+       * c-opts.c (preprocess_file): Subsume into c_common_init.
+       (c_common_decode_option): Update flags.
+       (c_common_init): Move code from preprocess_file and init_c_lex.
+       (sanitize_cpp_opts): Update.
+       * c-ppoutput.c: New, cppmain.c almost verbatim.
+       * cpphash.h (struct printer): Remove.
+       (struct cpp_reader): Remove print.
+       * cpplib.h (dump_none, dump_only, dump_names, dump_definitions,
+       cpp_preprocess_file): Remove.
+       (struct cpp_options): Remove no_output, no_line_commands, dump_macros
+       and dump_includes.
+       * cppmain.c: Remove.
+       * doc/passes.texi: Update.
+
+2003-03-04  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       * function.c (STACK_ALIGNMENT_NEEDED): New macro.  Default to 1.
+       (assign_stack_local_1): Perform overall stack alignment only when
+       STACK_ALIGNMENT_NEEDED is non-zero.
+       * doc/tm.texi (STACK_ALIGNMENT_NEEDED): Document.
+
+       * pa.c (compute_frame_size): Rename fsize to size.  Account for
+       alignment to a word boundary before general register save block.  Only
+       account for double-word alignment before floating point register save
+       block if one or more are saved.  Don't allocate space for %r3 when
+       frame pointer is needed.
+       (hppa_expand_prologue): Include alignment to word boundary in local
+       frame size.
+       * pa.h (STARTING_FRAME_OFFSET): Define to 8 on both 32 and 64-bit ports.
+       (STACK_ALIGNMENT_NEEDED): Define.
+
+2003-03-04  Kevin Buettner  <kevinb@redhat.com>
+
+       * dwarf2out.c (rtl_for_decl_location): Don't return NULL_RTX for
+       global register variables.
+
+2003-03-04  Alexandre Oliva  <aoliva@redhat.com>
+
+       * reload.c (reload_adjust_reg_for_mode): New function.
+       (subst_reloads): Call it.
+       (operands_match_p): Adjust registers using HARD_REGNO_NREGS.
+       * reload.h (reload_adjust_reg_for_mode): Declare.
+       * reload1.c (emit_input_reload_insns, emit_output_reload_insns):
+       Call it.
+
+2003-03-03  James E Wilson  <wilson@tuliptree.org>
+
+       * optabs.c (add_equal_note): Delete SUBREG_REG use.
+       Fixes PR c/7872.
+
+2003-03-03  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300.md (*ixorsi3_ashift_16): New.
+       (*ixorsi3_lshiftrt_16): New.
+       (*iorsi3_ashift_16): Remove.
+
+2003-03-03  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300.md (*extzv_8_8): Use '?' to simplify the
+       pattern.
+
+2003-03-03  Geoffrey Keating  <geoffk@apple.com>
+
+       * doc/install.texi (Specific): Update entry for powerpc-darwin.
+
+2003-03-03  Richard Henderson  <rth@redhat.com>
+
+       * config/ia64/ia64.h (HAVE_AS_LTOFFX_LDXMOV_RELOCS): Default to 0.
+
+2003-03-03  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/rs6000.c (rs6000_multipass_dfa_lookahead): Delete.
+       (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Delete.
+       (rs6000_variable_issue): Do not return negative value.
+       (rs6000_issue_rate): Uniformly set issue rate to 1 for first
+       scheduling pass.
+
+2003-03-03  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+
+       * dwarf2out.c (dwarf2out_finish): Swap order of break_out_includes and
+       prune_unused_types calls.
+
+2003-03-03  Jason Merrill  <jason@redhat.com>
+
+       * tree-inline.c (find_builtin_longjmp_call): Save and restore
+       lineno and input_filename.
+       (find_alloca_call): Likewise.
+       (inlinable_function_p): Run the langhook earlier.
+
+       * calls.c (compute_argument_addresses): Give the new MEMs a
+       minimum alignment of PARM_BOUNDARY.
+
+Mon Mar  3 20:45:25 2003  J"orn Rennecke <joern.rennecke@superh.com>
+
+       * config/sh/sh.h (EXTRA_SPECS): Add subtarget_asm_relax_spec and
+       subtarget_asm_isa_spec.
+       (SUBTARGET_ASM_RELAX_SPEC, SUBTARGET_ASM_ISA_SPEC): Define.
+       (ASM_SPEC): Define as SH_ASM_SPEC.
+       (SH_ASM_SPEC): New; take the role of ASM_SPEC, but safe from svr4.h.
+       Use subtarget_asm_relax_spec and subtarget_asm_isa_spec.
+       * config/sh/elf.h (ASM_SPEC): Use SH_ASM_SPEC.
+       (SUBTARGET_ASM_ISA_SPEC): Undef / define.
+
+       * sh.h (OVERRIDE_OPTIONS): Set default values for align_loops
+       and align_jumps if not set.
+       Force align_jumps to be at least 2.
+       When relaxing, force align_functions to be at least the maximum of
+       align_loops, align_jumps and 4.
+       * sh.c (find_barrier, barrier_align): Honour align_jumps_log.
+       (sh_loop_align): Honour align_loops_log.
+
+       * sh.md (length attribute): Use prev_nonnote_insn instead of PREV_INSN
+       to check for indirect_jump_scratch.
+       (indirect_jump_scratch): Add second set.
+       * sh.c (output_far_jump): Use prev_nonnote_insn instead of PREV_INSN
+       when looking for indirect_jump_scratch.
+       Extract scratch register taking new structure of indirect_jump_scratch
+       into account.
+       (gen_block_redirect): Set INSN_SCOPE for indirect_jump_scratch.
+
+Mon Mar  3 19:07:21 CET 2003  Jan Hubicka  <jh@suse.cz>
+
+       * calls.c (rtx_for_function_call): Take the address as an argument
+       (expand_call): Do not modify the expression.
+
+       * toplev.c (rest_of_compilation):  Avoid cfg_cleanup calls when not
+       optimizing.
+
+2003-03-03  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300.md (*ixorsi3_zext_hi): Restrict to
+       TARGET_H8300H and TARGET_H8300S.
+
+2003-03-03  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300.md (a peephole2): New.
+
+2003-03-03  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300.md (*extzv_8_8): Use shorter code when
+       operands[0] and operands[1] are different.
+
+2003-03-03  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * reload1.c (reload_cse_move2add): Remove variable success.
+
+2003-03-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * ggc-common.c (ggc_rlimit_bound): Cast RLIM_INFINITY to avoid
+       warnings.
+
+2003-03-02  Richard Henderson  <rth@redhat.com>
+
+       * configure.in (HAVE_AS_LTOFFX_LDXMOV_RELOCS): New ia64 test.
+       * config.in, configure: Rebuild.
+       * config/ia64/ia64.c (ia64_ld_address_bypass_p): Accept lo_sum.
+       * config/ia64/ia64.md (load_symptr): Use high/lo_sum for the
+       paired ldtoffx and ldxmov annotations.
+       (load_symptr_internal1): Remove.
+       (load_symptr_high, load_symptr_low): New.
+
+2003-03-02  Neil Booth  <neil@daikokuya.co.uk>
+
+       * c-incpath.c (add_path): Fix sysp assignment.
+
+2003-03-02  Kurt Garloff  <garloff@suse.de>
+
+       * params.def: Introduce parameter max-inline-insns-rtl for
+       a separate limit for the RTL inliner.
+       * params.h: Likewise.
+       * integrate.c (function_cannot_inline_p): Use it.
+       * toplev.c (decode_f_option): Set multiple parameters
+       controlling inlining with -finline-limit.
+       * params.def: Fix orthographic and typographic errors.
+       * doc/invoke.texi: Document parameters controlling inlining
+       and the way -finline-limit sets multiple of them.
+
+       * tree.h (struct tree_decl): Introduce inlined_function_flag,
+       recording whether the function became eligible for inlining
+       by a compiler flag rather than the declaration.
+       Provide DID_INLINE_FUNC macro to access it.
+       * c-decl.c (grokdeclarator): Set DID_INLINE_FUNC.
+       * cp/decl.c (grokfndecl): Likewise.
+       * toplev.c (rest_of_compilation): Likewise.
+       * cp/optimize (maybe_clone_body): Copy DID_INLINE_FUNC.
+       * print-tree.c (print_node): Report it.
+       * params.def: Introduce new max-inline-insns-auto limit.
+       * params.h: Likewise.
+       * tree-inline.c (inlinable_function_p): Apply it to functions
+       with DID_INLINE_FUNC set.
+       * toplev.c (decode_f_option): Initialize it from -finline-limit
+       value.
+       * doc/invoke.texi: Document new parameter.
+
+2003-03-02  Geoffrey Keating  <geoffk@apple.com>
+
+       * fix-header.c (read_scan_file): Don't reference simplify_path.
+
+2003-03-02  Stephane Carrez  <stcarrez@nerim.fr>
+
+       * config/m68hc11/m68hc11.c (m68hc11_override_options): Don't enable
+       min/max instructions by default as may result in reload errors.
+
+2003-03-02  Stephane Carrez  <stcarrez@nerim.fr>
+
+       * config/m68hc11/m68hc11.md ("mulqi3"): Allow address register to
+       avoid reload problems; define split for it.
+
+2003-03-02  Stephane Carrez  <stcarrez@nerim.fr>
+
+       * config/m68hc11/m68hc11.c (m68hc11_shift_operator): New function.
+       * config/m68hc11/m68hc11-protos.h (m68hc11_shift_operator): Declare.
+       * config/m68hc11/m68hc11.h (PREDICATE_CODES): Register.
+       * config/m68hc11/m68hc11.md ("rotrhi3", "rotlhi3"): New patterns for
+       rotatert and rotate.
+       ("rotrhi3_const", "rotlhi3_const"): Rename of old 'rotrhi3' insns.
+       ("*rotrhi3", "*rotlhi3"): New insn pattern for non-const rotatert.
+       ("*rotrhi3_addr"): New split for shift insns on address register.
+       ("*lshrhi3", "*ashrhi3", "*ashlhi3_2"): Use new split.
+       * config/m68hc11/larith.asm (___rotlhi3): New asm function.
+       (___rotrhi3): Likewise.
+       * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build them.
+
+2003-03-02  Neil Booth  <neil@daikokuya.co.uk>
+
+       * toplev.c (aux_base_name): Moved from toplev.h.
+       (filename): Constify.
+       (lang_dependent_init): Don't duplicate name.
+       (process_options): Set aux_base_name here, not...
+       (do_compile): ...here.  Change protoype.
+       (toplev_main): Move some code from do_compile.
+       * toplev.h: Remove aux_base_name.
+
+2003-03-02  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300-protos.h: Add a prototype for
+       iorxor_operator.
+       * config/h8300/h8300.c (print_operand): Handle 'c'.
+       (iorxor_operator): New.
+       * config/h8300/h8300.h (PREDICATE_CODES): Add iorxor_operator.
+       * config/h8300/h8300.md (*iorhi3_zext): Remove.
+       (*iorsi3_zexthi): Likewise.
+       (*iorsi3_zextsi): Likewise.
+       (*xorhi3_zextqi): Likewise.
+       (*xorsi3_zexthi): Likewise.
+       (*xorsi3_zextsi): Likewise.
+       (*ixorhi3_zext): New.
+       (*ixorsi3_zext_qi): Likewise.
+       (*ixorsi3_zext_hi): Likewise.
+
+2003-03-02  Neil Booth  <neil@daikokuya.co.uk>
+
+       * c-incpath.c (remove_component_p, simplify_path): Move back to
+       cppfiles.c.
+       (remove_duplicates): Use cpp_simplify_path.
+       * c-incpath.h (simplify_path): Remove.
+       * c-lex.c: Don't include c-incpath.h.
+       (init_c_lex): Remove simplify_path.
+       * cppfiles.c (remove_component_p, cpp_simplify_path): Restore.
+       (find_or_create_entry, validate_pch): Revert.
+
+2003-03-02  Ashif Harji  <asharji@uwaterloo.ca>
+
+       * gcc.c (default_compilers): Add -no-integrated-cpp flag to invoke
+         an external cpp during compilation.
+       (option_map): Likewise.
+       * objc/lang-specs.h (default_compilers): Similarly.
+       * doc/invoke.texi: Document -no-integrated-cpp flag.
+
+2003-03-02  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300.md (zero_extendqisi2): Change to an
+       expander.
+       (*zero_extendqisi2_h8300): New.
+       (*zero_extendqisi2_h8300hs): New.
+       (two splitters): New.
+
+2003-03-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * fp-bit.h (float_to_usi): Fix condition wrapping prototype.
+
+2003-03-01  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300.md (a peephole2): Remove dead code.
+
+2003-03-01  Roger Sayle  <roger@eyesopen.com>
+
+       PR c++/9367
+       * builtin-types.def (DEF_FUNCTION_TYPE_VAR_3): New macro.
+       (BT_FN_INT_CONST_STRING_VALIST_ARG,
+       BT_FN_INT_STRING_CONST_STRING_VALIST_ARG,
+       BT_FN_INT_CONST_STRING_CONST_STRING_VALIST_ARG,
+       BT_FN_INT_STRING_SIZE_CONST_STRING_VALIST_ARG,
+       BT_FN_INT_STRING_CONST_STRING_VAR,
+       BT_FN_INT_CONST_STRING_CONST_STRING_VAR,
+       BT_FN_INT_STRING_SIZE_CONST_STRING_VAR): New built-in types.
+       * builtin-attrs.def (ATTR_NONNULL_1, ATTR_NONNULL_2,
+       ATTR_NONNULL_3): Also include the nothrow attribute.
+       (sprintf, scanf, sscanf, vprintf, vsprintf, snprintf,
+       vsnprintf, vscanf, vsscanf): Don't define attributes here.
+       * builtins.def (putchar, puts): Make full C89 built-ins.
+       (snprintf, sprintf, scanf, sscanf, vprintf, vscanf,
+       vsscanf, vsnprintf, vsprintf): New built-ins.
+       * c-common.c (c_common_nodes_and_builtins): Handle new macro
+       DEF_FUNCTION_TYPE_VAR_3.
+
+       * doc/extend.texi: Document these new built-in functions.
+
+2003-03-01  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300.md (a peephole2): New.
+
+2003-03-01  Richard Earnshaw  <rearnsha@arm.com>
+
+       * predict.c (estimate_bb_frequencies): Correctly set
+       real_values_initialized after initialization.
+
+2003-03-01  Neil Booth  <neil@daikokuya.co.uk>
+
+       * Makefile.in (C_AND_OBJC_OBJS, c-incpath.o, c-lex.o, LIBCPP_OBJS,
+       cppinit.o, cppdefault.o, fix-header): Update.
+       * c-incpath.c: New file.
+       * c-incpath.h: New file.
+       * c-lex.c: Include c-incpath.h.
+       (init_c_lex): Register path simplifier.
+       * c-opts.c: Include cppdefault.h and c-incpath.h.
+       (TARGET_SYSTEM_ROOT, verbose, iprefix, sysroot, std_inc,
+       std_cxx_inc, quote_chain_split, add_prefixed_path): New.
+       (COMMAND_LINE_OPTIONS): Add more options from cpplib.
+       (missing_arg, c_common_decode_option): Handle them.
+       (c_common_post_options): Register include chains.
+       (print_help): Update.
+       * cppdefault.h (struct default include): Update.
+       Move some macros to ...
+       * cppdefault.c: ... here.
+       (cpp_include_defaults): Add extra field add_sysroot.
+       * cppfiles.c (include_file, search_from, find_or_create_entry,
+       cpp_included, find_include_file, remap_filename): Update for
+       renaming of search_path to cpp_path, and of the chain headers.
+       (remove_component_p, _cpp_simplify_pathname): Move to c-incpath.c.
+       * cpphash.h (struct search_path): Move to cpplib.h.
+       (struct cpp_buffer, struct cpp_reader): Update.
+       (_cpp_simplify_pathname): Remove.
+       * cppinit.c: Don't include prefix.h and cppdefault.h.
+       (INO_T_EQ, INO_T_COPY, path_include, append_include_chain,
+       remove_dup_dir, remove_dup_nonsys_dirs, remove_dup_dirs,
+       init_standard_includes, BRACKET, SYSTEM, AFTER, no_dir,
+       no_pth, cpp_handle_options): Remove.
+       (struct pending_option): Remove chain members.
+       (cpp_destroy, cpp_read_main_file, COMMAND_LINE_OPTIONS,
+       cpp_handle_option): Update.
+       * cpplib.h (struct cpp_path, cpp_set_include_chains): New.
+       (struct cpp_options): Remove quote_include, bracket_include,
+       include_prefix, include_prefix_len, verbose, ignore_srcdir,
+       no_standard_includes, no_standard_cplusplus_includes.
+       (struct cpp_callbacks): Add simplify_path.
+       (cpp_handle_options): Remove.
+       * fix-header.c: Include c-incpath.h.
+       (read_scan_file): Update to use c-incpath functionality.
+       * doc/passes.texi: Update.
+
+2003-03-01  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300.c (bit_operand): Accept MEM only if it
+       satisfies EXTRA_CONSTRAINT 'U'.
+
+2003-03-01  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300.md (*tst_extzv_bitqi_1_n): Take a scratch
+       register.
+       (*tst_extzv_memqi_1_n): Change to a splitter.
+       (a peephole2): Update.
+
+2003-03-01  Richard Earnshaw  <rearnsha@arm.com>
+
+       * predict.c (estimate_bb_frequencies): Initialize the sreal
+       constants once per compilation.
+
+2003-02-28  Richard Henderson  <rth@redhat.com>
+
+       * toplev.c (flag_eliminate_unused_debug_types): Enable by default.
+
+2003-02-28  scott snyder  <snyder@fnal.gov>
+
+       * flags.h: Add flag_eliminate_unused_debug_types.
+       * toplev.c: Add flag_eliminate_unused_debug_types.
+       (f_options): Add -feliminate-unused-debug-types.
+       * dwarf2out.c (struct file_table): Add emitted member.
+       (splice_child_die): Fix the parent pointer for the child being
+       spliced.
+       (lookup_filename): Maintain file_table.emitted array.  Don't
+       output .file directive here.
+       (maybe_emit_file): (new)
+       (init_file_table): Set up file_table.emitted.
+       (dwarf2out_source_line): Use maybe_emit_file.
+       (dwarf2out_start_source_file): Use maybe_emit_file.
+       (dwarf2out_init): Use maybe_emit_file.
+       (prune_unused_types_walk_attribs): (new)
+       (prune_unused_types_mark): (new)
+       (prune_unused_types_walk): (new)
+       (prune_unused_types_prune): (new)
+       (prune_unused_types): (new)
+       (dwarf2out_finish): Call prune_unused_types if
+       flag_eliminate_unused_debug_types is set.
+       * doc/invoke.texi (Option Summary): Add
+       -feliminate-unused-debug-types.
+       (Debugging Options): Likewise.
+
+2003-02-28  Geoffrey Keating  <geoffk@apple.com>
+
+       * doc/invoke.texi: Change .pch to .gch.
+       * cppfiles.c (open_file_pch): Likewise.
+       * gcc.c (default_compilers): Likewise.
+
+2003-02-28  Aldy Hernandez  <aldyh@redhat.com>
+
+        * floatlib.c: Remove.
+
+2003-02-28  Jason Merrill  <jason@redhat.com>
+
+       * stor-layout.c (variable_size): Leave a "minus 1" outside the
+       SAVE_EXPR.
+
+2003-02-28  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/power4.md: Add compare bypass.
+
+2003-02-28  Jason Thorpe  <thorpej@wasabisystems.com>
+
+       * config/netbsd.h: Update copyright years.
+       (NETBSD_CPP_SPEC): Define _REENTRANT and _PTHREADS if
+       -pthread is specified on the command line.
+
+2003-02-28  Dale Johannesen <dalej@apple.com>
+
+        * loop.c (struct movable): Add insert_temp, shrink savemode.
+       (scan_loop): Accept invariants that require copying; mark as
+        insert_temp.
+       (combine_movables): Don't combine insert_temp movables.
+       (move_movables): Insert copies for insert_temp movables.
+       Don't record the info based on regno for insert_temp's.
+
+2003-02-28  Joel Sherrill <joel@OARcorp.com>
+
+       PR 9638/other
+       * config/i386/i386.c (DEFAULT_PCC_STRUCT_RETURN): Ensure the
+       this constant defaults to 1.
+
+2003-02-28  Bob Wilson  <bob.wilson@acm.org>
+
+       * config.gcc (xtensa-*-linux*): Add t-slibgcc-elf-ver to tmake_file.
+
+2003-02-28  Richard Earnshaw  <rearnsha@arm.com>
+
+       * arm.md (mulhisi3, mulhisi3addsi, mulhidi3adddi): Enable for any
+       ARMv5e processor, not just for XScale.  Instructions are predicable.
+       (mulhisi3tb, mulhisi3bt, mulhisi3tt): New patterns for ARMv5e.
+
+2003-02-28  Nick Clifton  <nickc@redhat.com>
+
+       * config/arm/arm.c (note_invalid_constants): Change parameter type
+       from bool to int.
+
+2003-02-28  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300.md (*tst_extzv_bitqi_1_n): Accept the
+       test of bit 7.
+       (*tst_extzv_memqi_1_n): Likewise.
+       (a peephole2): New.
+
+2002-02-28  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Wrap in
+       #ifndef __mips16.
+
+Fri Feb 28 11:09:14 CET 2003  Jan Hubicka  <jh@suse.cz>
+
+       * combine.c (gen_lowpart_for_combine): Update handling of
+       subregs_of_mode
+       * flow.c (life_analysis, mark_used_regs): Likewise.
+       * regclass.c (subregs_of_mode): Turn into single bitmap.
+       (cannot_change-mode_set_regs, invalid_mode_change_p): Update
+       dealing with subregs_of_mode
+       * regs.h (subregs_of_mode): Update prototype.
+
+2003-02-28  Josef Zlomek  <zlomekj@suse.cz>
+
+       * emit-rtl.c (set_reg_attrs_for_parm): New function.
+       * rtl.h (set_reg_attrs_for_parm): New exported function.
+       * function.c (assign_parms): Use set_reg_attrs_for_parm instead of
+       set_reg_attrs_from_mem.
+
+2003-02-27  Roger Sayle  <roger@eyesopen.com>
+           Zack Weinberg <zack@codesourcery.com>
+
+       * gcc.c (do_spec_1):  Treat %U like %u for unique associations.
+
+2003-02-27  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * reload1.c (sext_for_mode): Remove.
+       (reload_cse_move2add): Use trunc_int_for_mode instead of
+       sext_for_mode.
+       (move2add_note_store): Likewise.
+       Reset register information if we see a set in non-integer
+       mode.
+
+2003-02-27  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/aix43.h (ASM_SPEC): Only emit -mppc64 if no -mcpu
+       option.
+       (ASM_CPU_SPEC): Use -m620 for Power3, Power4, 620, 630.
+       * config/rs6000/aix51.h: Same.
+       * config/rs6000/aix52.h: Same.
+       * config/rs6000/power4.md: Additional VMX bypasses.
+
+2003-02-27   Geert Bosch <bosch@gnat.com>
+
+       * toplev.c (print_version): Add indentation for GGC heuristics and
+       output after printing version information.
+
+2003-02-27  James E Wilson  <wilson@tuliptree.org>
+
+       * combine.c (simplify_comparison): Require integral mode when
+       permuting SUBREG with AND.
+
+2003-02-27  Steve Ellcey  <sje@cup.hp.com>
+
+       * config/ia64/hpux.h (STARTFILE_PREFIX_SPEC): Remove.
+
+2003-02-27  Nick Clifton  <nickc@redhat.com>
+
+       * config/arm/arm.md (extendsfdf2): Add pattern accidentally
+       deleted when cirrus instructions were added.
+
+2003-02-27  Jason Thorpe  <thorpej@wasabisystems.com>
+
+       * config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Enable
+       POSIX thread support by default.
+
+2003-02-27  Roger Sayle  <roger@eyesopen.com>
+
+       * config/i386/cygwin.h: Don't include any other files directly.
+       * config/i386/mingw32.h: Don't include cygwin.h directly.
+       * config.gcc (cygwin, mingw32, uwin): Instead make these files
+       explicit in the tm_files variable.
+
+2003-02-27  Alan Modra  <amodra@bigpond.net.au>
+
+       * config/rs6000/rs6000.md: Add TI constant splitter.
+
+2003-02-26  Alexandre Oliva  <aoliva@redhat.com>
+
+       * builtins.c (purge_builtin_constant_p): Handle subreg of
+       constant_p_rtx too.
+
+       * function.c (assign_stack_local_1): Truncate constant added to
+       frame_pointer_rtx or virtual_stack_vars_rtx for Pmode.
+
+2003-02-26  David Edelsohn  <edelsohn@gnu.org>
+
+       * config.gcc: Add power4 to PowerPC with_cpu list.
+
+Wed Feb 26 19:46:25 CET 2003  Jan Hubicka  <jh@suse.cz>
+
+       * objc-act.c: (mark_referenced_methods): Fix compilation problem.
+
+2003-02-26  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+
+       * gcov-dump.c (print_prefix): Fix signedness warning.
+       * gcov-io.h (struct counter_section, struct counter_section_data): New.
+       (struct function_info): n_arc_counts field removed, n_counter_sections,
+       counter_sections fields added.
+       (struct gcov_info): arc_counts, n_arc_counts fields removed,
+       n_counter_sections, counter_sections fields added.
+       * libgcov.c (gcov_exit, __gcov_flush): Add support for multiple
+       profile sections.
+       * profile.h (MAX_COUNTER_SECTIONS): New.
+       (struct section_info): New.
+       (struct profile_info): count_instrumented_edges,
+       count_edges_instrumented_now fields removed, n_sections, section_info
+       fields added.
+       (find_counters_section): Declare.
+       * profile.c (struct function_list): count_edges field removed,
+       n_counter_sections, counter_sections fields added.
+       (set_purpose, label_for_tag, build_counter_section_fields,
+       build_counter_section_value, build_counter_section_data_fields,
+       build_counter_section_data_value, build_function_info_fields,
+       build_function_info_value, build_gcov_info_fields,
+       build_gcov_info_value): New static functions.
+       (find_counters_section): New function.
+       (instrument_edges, get_exec_counts, compute_branch_probabilities,
+       branch_prob, create_profiler): Modified to support multiple profile
+       sections.
+
+2003-02-26  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       * pa.c (compute_frame_size): Don't assume PREFERRED_STACK_BOUNDARY
+       is 8 * STACK_BOUNDARY.
+       * pa.h (PREFERRED_STACK_BOUNDARY): Change to 128 on 64-bit port.
+
+2003-02-26  Michael Matz  <matz@suse.de>
+
+       * ra-colorize.c (merge_moves): Fix list handling.
+
+2003-02-26  Nick Clifton  <nickc@redhat.com>
+
+       * config/arm/arm.c (is_load_address): Rename to...
+        (arm_memory_load_p) ... this and make it check for SUBREGs and
+        constant loads that will be converted into loads from the
+        minipool.
+        (is_cirrus_insn): Rename to ...
+        (arm_cirrus_insn_p): ... this, for consistency.  Replace test
+        of CIRRUS_NO with CIRRUS_NOT.
+        (cirrus_reorg): Use renamed functions.
+        (note_invalid_constants): Change from a void function to bool.
+        Add an extra parameter, saying whether the fixups should be
+        pushed.  Return true if fixups are needed.
+        (arm_reorg): Use renamed functions.  Use INSN_P.  Replace test
+        of CIRRUS_NO with CIRRUS_NOT.
+        * config/arm/arm.h (FLOAT_WORDS_BIG_ENDIAN): Mention that
+        other floating point co-processors can also affect this.
+        * config/arm/arm.md ("type" attribute): Add mav_farith and
+        mav_dmult.  Replace references to "cirrus_type" attribute with
+        "type".
+        * config/arm/cirrus.md ("cirrus_fpu" attribute): Delete.
+        ("cirrus_type" attribute): Delete - use "type" instead.
+        ("cirrus" attribute): Replace 'no' with 'not' and 'yes' with
+        'normal'.
+
 Tue Feb 25 22:46:27 CET 2003  Jan Hubicka  <jh@suse.cz>
 
        * objc-act.c: Include cgraph.h
@@ -142,7 +899,7 @@ Tue Feb 25 22:46:27 CET 2003  Jan Hubicka  <jh@suse.cz>
        entry.
        (add_forward_dependence): New function.
        (compute_forward_dependences): Use the function.
-       
+
        * sched-ebb.c (earliest_block_with_similiar_load): New function.
        (add_deps_for_risky_insns): New function.
        (schedule_ebb): Call the function.
@@ -216,12 +973,12 @@ Mon Feb 24 22:08:22 CET 2003  Jan Hubicka  <jh@suse.cz>
        * doc/extend.texi (Tru64 Pragmas): Reflect this.
 
        * fixinc/inclhack.def (alpha___extern_prefix): Indicate #pragma
-       extern_prefix support for Tru64 UNIX V5 <sys/stat.h>. 
+       extern_prefix support for Tru64 UNIX V5 <sys/stat.h>.
        * fixinc/fixincl.x: Regenerate.
        * fixinc/tests/base/sys/stat.h [ALPHA___EXTERN_PREFIX_CHECK]: New
        testcase.
        Fixes PR c/5059, c/6126, other/9671.
-       
+
 2003-02-24  Roger Sayle  <roger@eyesopen.com>
 
        * gcc.c (do_spec_1) ['{']:  Handle pending argument upon return
@@ -254,6 +1011,7 @@ Mon Feb 24 22:08:22 CET 2003  Jan Hubicka  <jh@suse.cz>
 
 2003-02-24  Alan Modra  <amodra@bigpond.net.au>
 
+       PR 9297, PR 9722
        * calls.c (store_one_arg): Revert 1999-02-16 change.  Revert
        2000-12-17 change.  Pass EXPAND_STACK_PARM to expand_expr.
        * expr.h (enum expand_modifier): Define EXPAND_STACK_PARM.