OSDN Git Service

* cfgcleanup.c (mentions_nonequal_regs): New function.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 062716d..3b89fa4 100644 (file)
@@ -1,5 +1,647 @@
+Wed Mar  6 18:14:43 CET 2002  Jan Hubicka  <jh@suse.cz>
+
+       * cfgcleanup.c (mentions_nonequal_regs): New function.
+       (thread_jump): Use it.
+       * toplev.c (rest_of_compilation): Run jump threading after
+       liveness.
+
+2002-03-06  Jakub Jelinek  <jakub@redhat.com>
+
+       * ssa-ccp.c (ssa_ccp_substitute_constants): Backout 2002-03-05
+       patch.
+
+Wed Mar  6 11:28:19 CET 2002  Jan Hubicka  <jh@suse.cz>
+
+       * predict.c (estimate_bb_frequencies): Do not reload the
+       frequencies from notes.
+
+Wed Mar  6 10:59:39 CET 2002  Jan Hubicka  <jh@suse.cz>
+
+       * cfgrtl.c (delete_insn_and_edges, delete_insn_chain_and_edges): New.
+       * rtl.h (delete_insn_and_edges, delete_insn_chain_and_edges): Declare
+
+       * basic-block.h (update_life_info, update_life_info_in_dirty_blocks,
+       delete_noop_moves): Return indeger.
+       * flow.c (ndead): New variable.
+       (propagate_block_delete_insn): Use delete_insn_and_edges; remove
+       BB argument; update callers.
+       (propagate_block_delete_libcall): Use delete_insn_chain_and_edges.
+       (life_analysis): Do not call purge_all_dead_edges.
+       (update_life_info): Return number of deleted insns; print statistics.
+       (update_life_info_in_dirty_blocks): likewise.
+       (delete_noop_moves): Use delete_insn_and_edges; print statistics;
+       return number of insns deleted.
+
+       * cse.c: Include timevar.h
+       (delete_trivially_dead_insns): Kill preserve_basic_blocks argument;
+       iterate until stabilizes; print statistics; return number of killed
+       insns.
+       * Makefile.in: (cse.o): Add timevar.h dependency
+       * rtl.h (delete_trivially_dead_insns): New.
+       * timever.def: Add TV_DELETE_TRIVIALLY_DEAD timer.
+       * toplev.c (rest_of_compilation): Update callers.
+
+       * cfgcleanup.c (try_optimize_cfg): Kill blocks.
+       (try_optimize_cfg): Do not update liveness.
+       (cleanup-cfg): Loop until try_optimize_cfg and dead code
+       removal stabilizes; use delete_trivially_dead_insns.
+
+       * cfgrtl.c (verify_flow_info): Sanity check outgoing edges.
+
+2002-03-05  Zack Weinberg  <zack@codesourcery.com>
+
+       * cppmain.c (setup_callbacks): Disable #pragma and #ident
+       callbacks when processing assembly language.
+
+2002-03-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+
+       * pa.h (ASM_FILE_END): Define.
+       * som.h (ASM_FILE_END): Delete.
+
+       * pa.c (function_arg): Don't pass floats in general registers in
+       indirect calls if TARGET_ELF32.
+
+2002-03-05  Richard Henderson  <rth@redhat.com>
+
+       * config/i386/i386.md (floatsidf2): Conditionalize on hard-float.
+
+2002-03-05  Danny Smith  <dannysmith@users.sourceforge.net>
+
+       * gthr-win32.h (__GTHREAD_MUTEX_INIT_DEFAULT): Define.
+
+2002-03-05  Jakub Jelinek  <jakub@redhat.com>
+
+       * mklibgcc.in: Prepend a tab before .hidden, add $flags to gcc
+       -r command line.  Don't hide any symbols if not building
+       shared libgcc.
+
+Tue Mar  5 18:31:27 CET 2002  Jan Hubicka  <jh@suse.cz>
+
+       * cfg.c (dump_flow_info): Warn about profile mismatches.
+       * cfgrtl.c (verify_flow_info): Few aditional sanity checks.
+       (purge_dead_edges): Remove REG_BR_PROB notes on simplejumps.
+
+2002-03-05  Jakub Jelinek  <jakub@redhat.com>
+
+       * expmed.c (emit_store_flag): Don't test BITS_PER_WORD * 2
+       wide volatile memory by parts.
+
+2002-03-05  Jakub Jelinek  <jakub@redhat.com>
+
+       * ssa-ccp.c (ssa_ccp_substitute_constants): Don't crash if def
+       is NULL.
+
+2002-03-05  Richard Henderson  <rth@redhat.com>
+
+        * rs6000.h (TOTAL_ALTIVEC_REGS): Fix off-by-one error.
+
+2002-03-04  Geoffrey Keating  <geoffk@redhat.com>
+
+       * toplev.c (documented_lang_options): Document more
+       language-specific options.
+       * doc/invoke.texi (Warning Options): Correct documentation for
+       -Wno-multichar, -Wno-div-by-zero, and -Wsystem-headers.
+       * c-decl.c (c_decode_option): Use a table to handle warning options.
+
+2002-03-05  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * config/mmix/mmix.h (ENCODE_SECTION_INFO): Pass on new second
+       parameter to mmix_encode_section_info.
+       (LINK_SPEC): Don't defsym __.MMIX.start..text if linking
+       relocatably.  Always produce ELF, not mmo if linking relocatably.
+       * config/mmix/mmix.c (mmix_encode_section_info): If new parameter
+       first is non-zero, don't add symbol prefix.
+       * config/mmix/mmix-protos.h (mmix_encode_section_info): Tweak
+       prototype accordingly.
+
+2002-03-04  Krister Walfridsson  <cato@df.lth.se>
+
+       * config.gcc (*-*-netbsd*): Add t-slibgcc-elf-ver to tmake_file.
+
+2002-03-05  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * configure.in: Increase required makeinfo version to 4.1.
+       * configure: Regenerate.
+
+2002-03-04  Geoffrey Keating  <geoffk@redhat.com>
+
+       * .cvsignore: Remove *.info* and genrtl*; these files are generated
+       elsewhere now.
+
+2002-03-04  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * doc/include/texinfo.tex: Update to version 2002-03-01.06.
+       * doc/invoke.texi: Fix @math uses.
+
+Mon Mar  4 15:33:54 CET 2002  Jan Hubicka  <jh@suse.cz>
+
+       * toplev.c (rest_of_compilation): Cleanup CFG after dead jumptables
+       removal
+
+2002-03-03  Aldy Hernandez  <aldyh@redhat.com>
+
+        * config.gcc (powerpc-*-eabialtivec*): Use t-ppcendian.
+        (powerpc-*-eabisimaltivec*): Same.
+
+        * config/rs6000/t-ppcendian: New.
+
+2002-03-04  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
+
+       * c4x-protos.h, c4x.h, c4x.c, c4x.md: Add new functions
+       nonimmediate_src_operand and nonimmediate_lsrc_operand to
+       disallow ZERO_EXTEND with CONST_INT or CONST_DOUBLE.
+
+2002-03-03  Richard Henderson  <rth@redhat.com>
+
+       * toplev.c (rest_of_decl_compilation): Revert last two changes.
+
+2002-03-03  Zack Weinberg  <zack@codesourcery.com>
+
+       * emit-rtl.c, final.c, fold-const.c, gengenrtl.c, optabs.c,
+       print-tree.c, real.c, real.h, recog.c, rtl.c, simplify-rtx.c,
+       tree.c, config/m68k/m68k.c:
+       Remove all #ifndef REAL_ARITHMETIC blocks, make all #ifdef
+       REAL_ARITHMETIC blocks unconditional.  Delete some further
+       #ifdef blocks predicated on REAL_ARITHMETIC.
+       * flags.h, toplev.c: Delete remaining references to
+       flag_pretend_float.
+
+       * doc/invoke.texi: Remove documentation of -fpretend-float.
+       * doc/tm.texi: Describe the various REAL_* macros as provided by
+       real.h, not by the target configuration files.
+
+       * config/alpha/alpha.h, config/alpha/unicosmk.h, config/arm/arm.h,
+       config/avr/avr.h, config/c4x/c4x.h, config/convex/convex.h,
+       config/cris/cris.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
+       config/h8300/h8300.h, config/i370/i370.h, config/i386/i386.h,
+       config/i386/osf1elf.h, config/i960/i960.h, config/ia64/ia64.h,
+       config/m32r/m32r.h, config/m68hc11/m68hc11.h, config/m68k/dpx2.h,
+       config/m68k/linux-aout.h, config/m68k/linux.h, config/m68k/m68k.h,
+       config/m68k/sun3.h, config/m68k/vxm68k.h, config/mcore/mcore.h,
+       config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
+       config/mn10300/mn10300.h, config/pa/pa.h, config/pj/pj.h,
+       config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
+       config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
+       config/sparc/sol2.h, config/sparc/sparc.h, config/sparc/vxsim.h,
+       config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vax.h,
+       config/xtensa/xtensa.h:
+       Do not define, undefine, or mention in comments any of
+       REAL_ARITHMETIC, REAL_VALUE_ATOF, REAL_VALUE_HTOF,
+       REAL_VALUE_ISNAN, REAL_VALUE_ISINF,
+       REAL_VALUE_TO_TARGET_SINGLE, REAL_VALUE_TO_TARGET_DOUBLE,
+       REAL_VALUE_TO_TARGET_LONG_DOUBLE, REAL_VALUE_TO_DECIMAL,
+       REAL_VALUE_TYPE, REAL_VALUES_EQUAL, REAL_VALUES_LESS,
+       REAL_VALUE_LDEXP, REAL_VALUE_FIX, REAL_VALUE_UNSIGNED_FIX,
+       REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT,
+       REAL_INFINITY, REAL_VALUE_NEGATE, REAL_VALUE_TRUNCATE,
+       REAL_VALUE_TO_INT, or REAL_VALUE_FROM_INT.
+
+2002-03-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * 1750a.h, a29k.h, alpha.h, arc.h, arm.h, avr.h, c4x.h, clipper.h,
+       convex.h, cris.h, d30v.h, dsp16xx.h, elxsi.h, fr30.h, h8300.h,
+       i370.h, i386.h, i860.h, i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h,
+       m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
+       pa.h, pdp11.h, pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h,
+       stormy16.h, v850.h, vax.h, we32k.h, xtensa.h (BITS_PER_WORD):
+       Delete.
+       * defaults.h (BITS_PER_WORD): Define.
+       * doc/tm.texi (BITS_PER_WORD): Document default value.
+
+       * 1750a.h, avr.h, convex.h, d30v.h, dsp16xx.h, fr30.h, ia64.h,
+       m68hc11.h, m88k.h, mips.h, pdp11.h, rs6000.h, sparc.c,
+       stormy16.h, xtensa.h, vmsdbgout.c (CHAR_TYPE_SIZE): Delete.
+
+2002-03-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * attribs.c (init_attributes, decl_attributes): Use ARRAY_SIZE in
+       lieu of explicit sizeof/sizeof.
+       * i386.c (override_options, ix86_init_mmx_sse_builtins,
+       ix86_expand_builtin): Likewise.
+       * mips.c (mips_add_gc_roots): Likewise.
+       * mmix.c (mmix_output_condition): Likewise.
+       * rs6000.c (rs6000_override_options, altivec_expand_builtin,
+       altivec_init_builtins): Likewise.
+       * sparc.c (mark_ultrasparc_pipeline_state): Likewise.
+       * cppexp.c (Nsuff, parse_number): Likewise.
+       * cppinit.c (builtin_array_end): Likewise.
+       * gcc.c (n_default_compilers, process_command): Likewise.
+       * genpreds.c (output_predicate_decls): Likewise.
+       * ggc-page.c (NUM_EXTRA_ORDERS): Likewise.
+       * lcm.c (N_ENTITIES): Likewise.
+       * stor-layout.c (set_sizetype): Likewise.
+
+2002-03-03  Richard Henderson  <rth@redhat.com>
+
+       * toplev.c (rest_of_decl_compilation): Do not invoke make_decl_rtl
+       for types or labels.
+
+2002-03-03  Richard Henderson  <rth@redhat.com>
+
+       * c-decl.c (start_decl): Initialized variables are not common.
+
+2002-03-02  Per Bothner  <per@bothner.com>
+
+       * gcc.c (option_map):  Suport new --bootclasspath option.
+       --CLASSPATH is now just an alias for --classpath.
+
+2002-03-02  Richard Henderson  <rth@redhat.com>
+
+       * config/i386/i386.h (ix86_expand_prologue): Do not emit pic register
+       load if "internal" visibility.
+       * doc/extend.texi: Document visibility meanings.
+
+2002-03-02  Richard Henderson  <rth@redhat.com>
+
+       * config/i386/i386.h (ENCODE_SECTION_INFO): MODULE_LOCAL_P applies
+       to functions as well.
+
+2002-03-02  Richard Henderson  <rth@redhat.com>
+
+       * attribs.c (handle_alias_attribute): Don't call assemble_alias.
+       (handle_visibility_attribute): Don't call assemble_visibility.
+       * toplev.c (rest_of_decl_compilation): Invoke make_decl_rtl even
+       without asmspec.  Invoke assemble_alias when needed.
+       * varasm.c (maybe_assemble_visibility): New.
+       (assemble_start_function, assemble_variable, assemble_alias): Use it.
+
+2002-03-02  Richard Henderson  <rth@redhat.com>
+
+       * varasm.c (make_decl_rtl): Remove call to REDO_SECTION_INFO_P;
+       invoke ENCODE_SECTION_INFO with first call flag.
+
+       * config/darwin-protos.h, config/darwin.c, config/darwin.h,
+       config/a29k/a29k.h, config/alpha/alpha-protos.h, config/alpha/alpha.c,
+       config/alpha/alpha.h, config/arc/arc.h, config/arm/arm-protos.h,
+       config/arm/arm.h, config/arm/pe.c, config/arm/pe.h,
+       config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
+       config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
+       config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
+       config/d30v/d30v.h, config/h8300/h8300.h, config/i370/i370.h,
+       config/i386/cygwin.h, config/i386/i386-interix.h, config/i386/i386.h,
+       config/i386/osfrose.h, config/i386/win32.h, config/i386/winnt.c,
+       config/ia64/ia64-protos.h, config/ia64/ia64.c, config/ia64/ia64.h,
+       config/m32r/m32r-protos.h, config/m32r/m32r.c, config/m32r/m32r.h,
+       config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
+       config/m68hc11/m68hc11.h, config/m88k/m88k.h,
+       config/mcore/mcore-protos.h, config/mcore/mcore.c,
+       config/mcore/mcore.h, config/mips/mips.h, config/ns32k/ns32k.h,
+       config/pa/pa.h, config/romp/romp.h, config/rs6000/linux64.h,
+       config/rs6000/rs6000-protos.h, config/rs6000/rs6000.c,
+       config/rs6000/sysv4.h, config/rs6000/xcoff.h, config/s390/s390.h,
+       config/sh/sh.h, config/sparc/sparc.h,
+       config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
+       config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vms.h,
+       config/xtensa/xtensa.h, doc/tm.texi: ENCODE_SECTION_INFO now takes
+       FIRST argument.  As needed, examine it and do nothing.
+
+       * config/darwin.h, config/alpha/alpha.h, config/arm/pe.h,
+       config/i386/cygwin.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
+       config/mcore/mcore.h: Remove REDO_SECTION_INFO_P.
+
+       * config/arm/t-pe (pe.o): Add dependencies.
+
+2002-03-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * a29k.h, alpha.h, arc.h, arm.h, avr.h, clipper.h, convex.h,
+       cris.h, d30v.h, elxsi.h, fr30.h, h8300.h, i370.h, i386.h, i860.h,
+       i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h,
+       mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h, pa.h, pdp11.h,
+       pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h, stormy16.h, v850.h,
+       vax.h, we32k.h, xtensa.h: (BITS_PER_UNIT): Delete.
+       * defaults.h (BITS_PER_UNIT): Define.
+       * doc/tm.texi (BITS_PER_UNIT): Document default value.
+
+2002-03-02  Kazu Hirata  <kazu@hxi.com>
+
+       * config/h8300/h8300-protos.h: Add a prototype for
+       compute_a_shift_length.
+       * config/h8300/h8300.c (h8300_asm_insn_count): New.
+       (compute_a_shift_length): Likewise.
+       (h8300_adjust_insn_length): Do not adjust insn length of shift
+       insns.
+       * config/h8300/h8300.md (anonymous shift patterns): Use
+       compute_a_shift_length.
+
+Sat Mar  2 06:30:14 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * config/sparc/sparc.c (sparc_initialize_trampoline): Use
+       trunc_int_for_mode.
+
+       * emit-rtl.c (offset_address): Call update_temp_slot_address.
+
+2002-03-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * Makefile.in (CRTSTUFF_CFLAGS): Add -fno-zero-initialized-in-bss.
+       * doc/invoke.texi (-fno-zero-initialized-in-bss): Document.
+       * flags.h (flag_zero_initialized_in_bss): Declare.
+       * toplev.c (flag_zero_initialized_in_bss): New flag.
+       (lang_independent_options): Add flag_zero_initialized_in_bss.
+       * tree.c (initializer_zerop): New function.
+       * tree.h (initializer_zerop): Declare.
+       * varasm.c (assemble_variable): If we can emit bss, put zero
+       initializers in the bss section.
+
+2002-03-02  Alan Modra  <amodra@bigpond.net.au>
+
+       * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): AIX assembler doesn't
+       like more than one symbol per .weak directive.
+
+2002-03-01  Richard Henderson  <rth@redhat.com>
+
+       * config/ia64/ia64.c (ia64_initial_elimination_offset): Do not
+       adjust argument_pointer by pretend_args_size.
+       (ia64_va_start): Adjust va_start address by -pretend_args_size.
+
+2002-03-01  Kazu Hirata  <kazu@hxi.com>
+
+       * config/h8300/h8300.c (h8300_adjust_insn_length): Clean up.
+
+Fri Mar  1 20:59:14 CET 2002  Jan Hubicka  <jh@suse.cz>
+
+       * toplev.c (rest_of_compilation): Delete dead jumptables before
+       loop.
+       * flow.c (delete_dead_jumptables): Make global.
+       * rtl.h (delete_dead_jumptables): Declare.
+
+2002-03-01  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/rs6000.h (HANDLE_PRAGMA_PACK): Delete.
+       * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Define.
+       * config/rs6000/xcoff.h (COLLET_EXPORT_LIST): Delete.
+
+2002-03-01  Kazu Hirata  <kazu@hxi.com>
+
+       * config/h8300/h8300-protos.h: Fix formatting.
+       * config/h8300/h8300.c: Likewise.
+       * config/h8300/h8300.h: Likewise.
+
+2002-03-01  Kazu Hirata  <kazu@hxi.com>
+
+       * config/h8300/h8300.c (print_operand): Support 16-bit
+       constant addresses.
+       * config/h8300/h8300.h (TINY_CONSTANT_ADDRESS_P): New.
+
+2002-02-28  Richard Henderson  <rth@redhat.com>
+
+       * expmed.c (store_bit_field): Prevent generation of CONCATs;
+       pun complex values as integers; use gen_lowpart instead of
+       gen_rtx_SUBREG.
+       (extract_bit_field): Likewise.
+
+2002-03-01  Alan Modra  <amodra@bigpond.net.au>
+           David Edelsohn  <edelsohn@gnu.org>
+
+       * doc/tm.texi (ASM_WEAKEN_DECL): Document.
+       (ASM_WEAKEN_LABEL): Mention ASM_WEAKEN_DECL.
+       (SUPPORTS_WEAK): Likewise.
+       * output.h (add_weak): Add tree param.
+       * varasm.c (add_weak): Likewise.  Save decl.
+       (struct weak_syms): Add decl field.
+       (mark_weak_decls): New function.
+       (init_varasm_once): ggc_add_root mark_weak_decls.
+       (assemble_start_function): Use ASM_WEAKEN_DECL.
+       (assemble_variable): Likewise.
+       (assemble_alias): Likewise.
+       (declare_weak): Pass decl to add_weak.
+       (weak_finish): Use ASM_WEAKEN_DECL. Try to find decl.
+       (remove_from_pending_weak_list): Declare and define for
+       ASM_WEAKEN_DECL.
+       * c-pragma.c (handle_pragma_weak): Adjust add_weak call.
+       * c-pragma.h (HANDLE_PRAGMA_WEAK): Define if ASM_WEAKEN_DECL too.
+       * defaults.h (SUPPORTS_WEAK): Likewise.
+       * config/rs6000/linux64.h (ASM_DECLARE_FUNCTION_NAME): Don't emit
+       .weak for code sym.  Do emit .size for descriptor sym.
+       (ASM_DECLARE_FUNCTION_SIZE): Define.
+       * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): Define.
+       (ASM_OUTPUT_DEF_FROM_DECLS): Don't emit .weak here.  Don't output
+       .lglobl unless TARGET_XCOFF.  Formatting fixes.
+       * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't emit
+       .weak for code sym.
+       (HANDLE_PRAGMA_WEAK): Remove.
+       (ASM_WEAKEN_LABEL): Remove.
+       * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Define.
+
+2002-03-01  Jason Merrill  <jason@redhat.com>
+
+       * tree.h (TARGET_EXPR_SLOT, TARGET_EXPR_INITIAL): New macros.
+       (TARGET_EXPR_CLEANUP): New macro.
+
+2002-02-28  Steve Ellcey  <sje@cup.hp.com>
+
+       * doc/rtl.texi (SUBREG_PROMOTED_UNSIGNED_P): Change definition
+       to take ptr_extend into account as third type of extension.
+       (SUBREG_PROMOTED_UNSIGNED_SET): Definition of new macro to set bit
+       fields used by SUBREG_PROMOTED_UNSIGNED_P.
+       * rtl.h (SUBREG_PROMOTED_UNSIGNED_SET): New macro.
+       (SUBREG_PROMOTED_UNSIGNED_P): Change to return -1 as well as 0 or 1.
+       * calls.c (precompute_arguments): Use new macro.
+       (expand_call): Ditto.
+       * combine.c (nonzero_bits): Ditto.
+       (record_promoted_value): Ditto.
+       * expr.c (store_expr): Ditto.
+       (expand_expr): Ditto.
+       * function.c (assign_parms): Ditto.
+
+2002-02-28  Alexandre Oliva  <aoliva@redhat.com>
+
+       * gcc.c (init_gcc_specs): Get -static and -static-libgcc to
+       override -shared and -shared-libgcc.
+
+2002-02-28  David O'Brien  <obrien@FreeBSD.org>
+
+       * config.gcc (sparc64-*-freebsd): Explicitly accept a cpu specification
+       of "ultrasparc".
+       * config/sparc/freebsd.h: Do not use MASK_FASTER_STRUCTS.  It appears
+       to be broken.
+
+2002-02-28  Richard Henderson  <rth@redhat.com>
+
+       * config/ia64/ia64.c (ia64_adjust_cost): All non-MM consumers have
+       4 cycle latency from MM producers.
+       (ia64_internal_sched_reorder): Likewise with pipeline flush.
+
+2002-02-28  Jakub Jelinek  <jakub@redhat.com>
+
+       * mklibgcc.in: Don't use GNU make extension.
+
+2002-02-28  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * c-parse.in (STATIC): New terminal.
+       (scspec): New non-terminal.  Update productions accordingly.
+       (program): Remove bogus ifc / end ifc.
+       (array_declarator): Simplify production using STATIC.
+
+2002-02-28  Jim Meyering  <meyering@lucent.com>
+
+       * cpplex.c (cpp_parse_escape): Restore mistakenly-removed code:
+       \a still means TARGET_BELL.
+
+2002-02-28  Richard Henderson  <rth@redhat.com>
+
+       * haifa-sched.c (sched_emit_insn): New.
+       (schedule_block): Use last_scheduled_insn to track last insn.
+       * sched-int.h (sched_emit_insn): Prototype.
+       * config/ia64/ia64.c (last_issued): Remove.
+       (ia64_variable_issue): Don't set it.
+       (nop_cycles_until): Use sched_emit_insn.
+
+2002-02-28  Andrew MacLeod  <amacleod@redhat.com>
+
+       * config/sparc/sparc.c (sparc64_initialize_trampoline): Generate sign
+       extended constants.
+
+2002-02-28  Kazu Hirata  <kazu@hxi.com>
+
+       * config/h8300/h8300.c: Fix formatting.
+       * config/h8300/h8300.h: Likewise.
+
+2002-02-28  Marek Michalkiewicz  <marekm@amelek.gda.pl>
+
+       * config/avr/avr.c (avr_hard_regno_mode_ok): Do not allow r29
+       which may overwrite the high byte of the frame pointer.
+
+2002-02-28  Bo Thorsen  <bo@suse.de>
+
+       * config/i386/linux64.h (LINK_SPEC): Fix 32/64 bit compilation.
+       (STARTFILE_SPEC): Add 64 bit files.
+       (ENDFILE_SPEC): Likewise.
+
+2002-02-28  Jason Merrill  <jason@redhat.com>
+
+       * c-decl.c (finish_function): Only warn about missing return
+       statement with -Wreturn-type.
+
+Don Feb 28 11:24:30 CET 2002  Jan Hubicka  <jh@suse.cz>
+
+       * cfgrtl.c (purge_dead_edges): Fix handling of EH edges.
+
+       * i386.h (CONDITIONAL_REGISTER_USAGE): Do not write to
+       PIC_OFFSET_TABLE_REGNUM when it is INVALID_REGNUM
+
+Don Feb 28 11:07:36 CET 2002  Jan Hubicka  <jh@suse.cz>
+
+       * basic-block.h (BB_REACHABLE): Renumber.
+       (BB_DIRTY, BB_NEW): New flags.
+       (clear_bb_flags): Declare.
+       (update_life_info_in_dirty_blocks): Declare.
+       * cfg.c (clear_bb_flags): New function.
+       * cfgrtl.c (create_basic_block_structure): Set flags to BB_NEW.
+       * emit-rtl.c (add_insn_after, add_insn_before, remove_insn,
+       reorder_insns, emit_insn_after): Mark block as dirty.
+       * flow.c (update_life_info): Fix clearing of PROP_LOG_LINKS.
+       (update_life_info_in_dirty_blocks): New function.
+       * recog.c (apply_change_group): Dirtify block.
+
+       * cse.c (cse_insn): Reorder emitting of jump insn to keep
+       cfg consistent.
+       * gcse.c (delete_null_pointer_checks): Likewise.
+
+       * toplev.c (dump_file_index): Move cse2 after bp,
+       add DFI_null
+       (dump_file_info): Similary.
+       (rest_of_compilation): Avoid most of CFG rebuilds;
+       do first if converision after null pointer checks, do cse2
+       after branch prediction; avoid full liveness rebuild after
+       initializing subregs.
+       * invoke.texi (-d options): Document -du, renumber.
+
+       * cfgcleanup.c (bb_flags): Remove BB_UPDATE_LIFE.
+       (notice_new_block): Do not set BB_UPDATE_LIFE.
+       (try_forward_edges, merge_blocks_move_predecessor_nojumps,
+        merge_blocks_move_successor_nojumps, merge_blocks,
+        try_crossjump_to_edge): Likewise.
+       (try_optimize_cfg): Likewise; use update_life_info_in_dirty_blocks.
+       * cfgrtl.c (merge_blocks_nomove): Copy b's flags to a.
+       * ifcvt.c (SET_UPDATE_LIFE, UPDATE_LIFE): Kill.
+       (merge_of_block): Do not use life_data_ok.
+       (find_if_case_1): Do not use SET_UPDATE_LIFE.
+       (if_convert): Use BB_DIRTY mechanizm to update life.
+       * lcm.c (optimize_mode_switching): Update
+       update_life_info_in_dirty_blocks
+
+2002-02-28  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * Makefile.in (integrate.o): Update.
+       * c-decl.c (copy_lang_decl): Rename.
+       * c-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
+       * integrate.c: Include langhooks.h.
+       (copy_decl_for_inlining): Update to use langhook.
+       * langhooks-def.h (lhd_do_nothing_t,
+       LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): New.
+       (LANG_HOOKS_INITIALIZER): Update.
+       * langhooks.c (lhd_do_nothing_t): New.
+       * langhooks.h (struct lang_hooks): Add dup_lang_specific_decl.
+       * tree.h (copy_lang_decl): Remove.
+objc:
+       * objc-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
+
+2002-02-27  Andrew MacLeod  <amacleod@redhat.com>
+
+       * dwarf2out.c (stack_adjust_offset): Add support for POST_INC,
+       POST_DEC, and POST_MODIFY.
+
+2002-02-27  Zack Weinberg  <zack@codesourcery.com>
+
+       * c-typeck.c (digest_init): Remove unused parameter; all
+       callers changed.
+
+2002-02-27  Geoffrey Keating  <geoffk@redhat.com>
+
+       * expmed.c (expand_shift): Correctly test for low part of a
+       subreg.
+
+2002-02-27  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * config/s390/s390.c (s390_chunkify_pool): Do not confuse
+       insn UIDs with insn addresses.
+
+2002-02-27  Zack Weinberg  <zack@codesourcery.com>
+
+       * c-common.c, c-common.h, c-decl.c, c-lex.c, c-parse.in,
+       c-tree.h, c-typeck.c, cppexp.c, cpplex.c, cpplib.c, cpplib.h,
+       cppmacro.c, objc/lang-specs.h, objc/objc-act.c,
+       builtin-types.def, builtins.def, dwarf2out.c, dwarfout.c,
+       gcc.c, toplev.c: Delete code implementing -traditional mode.
+
+       * doc/bugreport.texi, doc/cpp.texi, doc/extend.texi,
+       doc/invoke.texi, doc/standards.texi, doc/trouble.texi:
+       Document removal of -traditional mode for compilation, and
+       remove documentation only relevant to that mode.
+
+       * config/nextstep.h, config/ptx4.h, config/svr4.h,
+       config/convex/convex.h, config/d30v/d30v.h,
+       config/i386/dgux.h, config/i386/osf1elf.h,
+       config/i386/osfelf.h, config/i386/osfrose.h,
+       config/i386/sco5.h, config/i386/sol2.h, config/m68k/a-ux.h,
+       config/m68k/hp310.h, config/m88k/dgux.h,
+       config/m88k/dguxbcs.h, config/m88k/luna.h, config/m88k/m88k.c,
+       config/m88k/m88k.h, config/m88k/openbsd.h,
+       config/mips/abi64.h, config/mips/osfrose.h,
+       config/mips/svr4-5.h, config/mips/svr4-t.h,
+       config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
+       config/stormy16/stormy16.h: Remove all references to
+       -traditional from target specs.  Delete all mention of the
+       no-longer-necessary TRADITIONAL_RETURN_FLOAT macro.  Also
+       delete a couple of commented-out definitions of
+       DOLLARS_IN_IDENTIFIERS, with (incorrect) commentary referring
+       to -traditional.
+
+       * system.h: Poison TRADITIONAL_RETURN_FLOAT.
+       * doc/tm.texi: Remove mention of TRADITIONAL_RETURN_FLOAT macro.
+
+2002-02-27  Zack Weinberg  <zack@codesourcery.com>
+
+       * mklibgcc.in: Don't use \n in a line subject to
+       interpretation by echo.
+
 2002-02-27  Graham Stott  <grahams@redhat.com>
 
+       * config/rs6000/rs6000.h (ASM_OUTPUT_DEF_FROM_DELC):
+       Constify NAME.
+
+       * loop.c (prescan_loop): Handle PARALLEL.
+
        * unroll.c (loop_iterations): Return 0 if the add_val for
        a BIV is REG.