OSDN Git Service

* toplev.c (decode_f_option): Adjust setting.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 5f47a5c..44d7294 100644 (file)
@@ -1,3 +1,771 @@
+2001-06-26  Gabriel Dos Reis  <gdr@codesourcery.com>
+
+       * toplev.c (decode_f_option): Adjust setting.
+       (toplev_main): Call diagnostic_initialize.  Remove call to
+       reshape_diagnostic_buffer._
+
+       * diagnostic.h (struct output_buffer): Add new field format_decoder.
+       (diagnostic_format_decoder): New macro.
+       (diagnostic_prefixing_rule): Likewise.
+       (diagnostic_line_cutoff): Likewise.
+       (set_message_prefixing_rule): Remove.
+
+       * diagnostic.c (lang_printer): Remove.
+       (diagnostic_message_length_per_line): Likewise.
+       (current_prefixing_rule): Likewise.
+       (initialize_diagnostics): Rename to...
+       (diagnostic_initialize): ...this. Tweak.
+       (default_initialize_buffer): Remove.
+       (reshape_diagnostic_buffer): Likewise.
+       (init_output_buffer): Adjust prefixing rule setting.
+       (output_format): Use format_decoder from the output_buffer.
+
+       * c-lang.c (c_init): Adjust tree formatter setting.
+
+2001-06-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       * config/i386/sol2.h (CPP_SPEC): Pass -P for .S files.
+
+2001-06-26  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * Makefile.in (TARGET_H, TARGET_DEF_H): New.
+       (c-decl.o, tree.o, c-typeck.o, $(out_object_file)): Update.
+       * c-decl.c (duplicate_decls): Use function pointer.
+       * c-typeck.c (common_type): Similarly.
+       * tree.c (valid_machine_attribute): Similarly.
+       (merge_machine_type_attributes): Rename merge_type_attributes.
+       (merge_machine_decl_attributes): Rename merge_decl_attributes.
+       (merge_dllimport_decl_attributes): New function.
+       * tree.h (merge_machine_type_attributes): Rename merge_type_attributes.
+       (merge_machine_decl_attributes): Rename merge_decl_attributes.
+       (merge_dllimport_decl_attributes): New prototype.
+       * target.h: New.
+       * target-def.h: New.
+
+doc:   (Joseph Myers)
+       * doc/gcc.texi, doc/tm.texi: Update documentation.
+
+cp:    Make-lang.in: Update dependencies.
+       * spew.c: Include target.h.
+       (duplicate_decls): Call target function.
+       * decl2.c: include target.h
+       (import_export_class): Use existence of target function pointer.
+       * typeck.c: Include target.h.
+       (qualify_type_recursive): Rename variable.  Call target function.
+       (type_after_usual_arithmetic_conversions): Similarly.
+       (common_type): Similarly.
+
+config:        * 1750a/1750a.c, a29k/29k.c, alpha/alpha.c, arc/arc.c, arm/arm.c,
+       avr/avr.c, c4x/c4x.c, clipper/clipper.c, convex/convex.c,
+       d30v/d30v.c, dsp16xx/dsp16xx.c, elxsi/elxsi.c, fr30/fr30.c,
+       i370/i370.c, i386/i386.c, i860/i860.c, i960/i960.c, ia64/ia64.c,
+       m32r/m32r.c, m68hc11/m68hc11.c, m68k/m68k.c, m88k/m88k.c,
+       mips/mips.c, mn10200/mn10200.c, mn10300/mn10300.c, ns32k/ns32k.c,
+       pa/pa.c, pdp11/pdp11.c, pj/pj.c, romp/romp.c, rs6000/rs6000.c,
+       sh/sh.c, sparc/sparc.c, v850/v850.c, vax/vax.c, we32k/we32k.c)
+       : Include target.h and target-def.h.  Define target.
+
+       * arc/arc-protos.h (arc_valid_machine_decl_attribute): Remove.
+       * arc/arc.c (arc_valid_machine_decl_attribute): Rename
+       arc_valid_decl_attribute, make static.
+       * arc/arc.h (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
+       * arm/arm-protos.h (arm_valid_machine_decl_attribute,
+       arm_valid_type_attribute_p, arm_pe_valid_machine_decl_attribute,
+       arm_pe_merge_machine_decl_attributes): Remove.
+       * arm/arm.c (arm_valid_machine_decl_attribute_p): Rename
+       arm_valid_decl_attribute_p, make static.
+       (arm_pe_valid_decl_attribute_p): Move from pe.c.
+       * arm/pe.c (arm_pe_valid_machine_decl_attribute_p): Move to arm.c.
+       (arm_pe_merge_machine_decl_attributes): Move to tree.c.
+       * arm/arm.h (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
+       * arm/coff.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
+       * arm/elf.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
+       * arm/pe.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): New.
+       (VALID_MACHINE_TYPE_ATTRIBUTE, VALID_MACHINE_DECL_ATTRIBUTE): Remove.
+       * avr/avr-protos.h (valid_machine_type_attribute,
+       valid_machine_decl_attribute): Remove.
+       * avr/avr.c (valid_machine_type_attribute,
+       valid_machine_decl_attribute): Rename and make static.
+       * avr/avr.h (VALID_MACHINE_TYPE_ATTRIBUTE,
+       VALID_MACHINE_DECL_ATTRIBUTE): Remove.
+       * c4x/c4x-protos.h (c4x_valid_type_attribute_p): Remove.
+       * c4x/c4x.c (c4x_valid_type_attribute_p): Make static.
+       * c4x/c4x.h (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
+       * d30v/d30v.h: Remove obsolete comments.
+       * h8300/h8300-protos.h (h8300_valid_machine_decl_attribute): Remove.
+       * h8300/h8300.c (h8300_valid_machine_decl_attribute): Rename, make
+       static.
+       * h8300/h8300.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
+       * i386/cygwin.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define.
+       (i386_pe_merge_decl_attributes, MERGE_MACHINE_DECL_ATTRIBUTES,
+       i386_pe_valid_type_attributes_p): Remove.
+       * i386/i386-protos.h (ix86_valid_decl_attribute_p,
+       ix86_valid_type_attribute_p): Remove.
+       * i386/i386.c (ix86_valid_decl_attribute_p): Remove.
+       (ix86_valid_type_attribute_p): Make static.
+       * i386/i386.h (VALID_MACHINE_DECL_ATTRIBUTE,
+       VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
+       * i386/winnt.c (i386_pe_merge_decl_attributes): Move to tree.c.
+       * ia64/ia64-protos.h (ia64_valid_type_attribute): Remove.
+       * ia64/ia64.c (ia64_valid_type_attribute): Make static.
+       * ia64/ia64.h (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
+       * m32r/m32r-protos.h (m32r_valid_machine_decl_attribute): Remove.
+       * m32r/m32r.c (m32r_valid_decl_attribute): Make static.
+       * m32r/m32r.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
+       * m68hc11/m68hc11-protos.h (m68hc11_valid_decl_attribute_p,
+       m68hc11_valid_type_attribute_p): Remove.
+       * m68hc11/m68hc11.c (m68hc11_valid_decl_attribute_p): Remove.
+       (m68hc11_valid_type_attribute_p): Make static.
+       * m68hc11/m68hc11.h (VALID_MACHINE_DECL_ATTRIBUTE,
+       VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
+       * mcore/mcore-protos.h (mcore_valid_machine_decl_attribute,
+       mcore_merge_machine_decl_attribute): Remove.
+       * mcore/mcore.c (mcore_valid_machine_decl_attribute): Rename,
+       make static.
+       (mcore_merge_machine_decl_attributes): Move to tree.c.
+       * mcore/mcore.h (VALID_MACHINE_DECL_ATTRIBUTE,
+       VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
+       (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define.
+       * ns32k/ns32k-protos.h (ns32k_valid_decl_attribute_p,
+       ns32k_valid_type_attribute_p): Remove.
+       * ns32k/ns32k.c (ns32k_valid_decl_attribute_p): Remove.
+       (ns32k_valid_type_attribute_p): Make static.
+       * ns32k/ns32k.h (VALID_MACHINE_DECL_ATTRIBUTE,
+       VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
+       * rs6000/rs6000-protos.h (rs6000_valid_decl_attribute_p,
+       rs6000_valid_type_attribute_p): Remove.
+       * rs6000/rs6000.c (rs6000_valid_decl_attribute_p): Remove.
+       (rs6000_valid_type_attribute_p): Make static.
+       * rs6000/rs6000.h (VALID_MACHINE_DECL_ATTRIBUTE,
+       VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
+       * sh/sh-protos.h (sh_valid_machine_decl_attribute): Remove.
+       * sh/sh.c (sh_valid_machine_decl_attribute): Rename, make static.
+       * sh/sh.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
+       * v850/v850-protos.h (v850_valid_machine_decl_attribute): Remove.
+       * v850/v850.c (v850_valid_machine_decl_attribute): Rename, make static.
+       * v850/v850.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
+
+2001-06-26  Vladimir Makarov  <vmakarov@toke.toronto.redhat.com>
+
+       * glimits.h (USHRT_MAX): Use unsigned suffix if int can not hold
+       it.
+
+2001-06-26  Gabriel Dos Reis  <gdr@codesourcery.com>
+
+       * diagnostic.h (struct diagnostic_context): Add new field.
+       (lang_diagnostic_starter, lang_diagnostic_finalizer): Remove
+       declaratons.
+       (global_dc): Declare.
+       * diagnostic.c (global_diagnostic_context): New variable.
+       (global_output_buffer): Remove.
+       (global_dc): Define.
+       (lang_diagnostic_starter, lang_diagnostic_finalizer): Remove
+       definitions.
+       (initialize_diagnostics): Adjust initialization.
+       (set_diagnostic_context): Adjust setting.
+
+2001-06-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       * config/mips/iris5.h (UNALIGNED_INT_ASM_OP,
+       UNALIGNED_SHORT_ASM_OP): Define.
+       * config/mips/iris6.h (UNALIGNED_INT_ASM_OP,
+       UNALIGNED_SHORT_ASM_OP): Undef.
+
+Tue Jun 26 12:40:12 CEST 2001  Jan Hubicka  <jh@suse.cz>
+
+       * i386.md (float_truncate splitter, and to mov splitters): Add
+       reload_completed; fix operand predicate.
+
+       * haifa-sched.c (sched_init): Do not split insns.
+       * toplev.c (rest_of_compilation): Call split_all_insns before
+       sched1 pass; simplify condition of post-reload splitter;
+       call split_all_insn before sched2 pass.
+
+2001-06-26  Gabriel Dos Reis  <gdr@codesourcery.com>
+
+       * diagnostic.h (diagnostic_prefixing_rule_t): New enum type.
+       (set_message_prefixing_rule): Adjust prototype.
+       * diagnostic.c (current_prefixing_rule): Adjust type.
+
+2001-06-26  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * defaults.h: Default escape sequences to ASCII.
+       * config/i370/i370.h: Adjust for ASCII default.
+       * config/1750a/1750a.h: Remove escape sequence definitions.
+       * config/a29k/a29k.h: Similarly.
+       * config/alpha/alpha.h: Similarly.
+       * config/arc/arc.h: Similarly.
+       * config/arm/arm.h: Similarly.
+       * config/avr/avr.h: Similarly.
+       * config/c4x/c4x.h: Similarly.
+       * config/clipper/clipper.h: Similarly.
+       * config/convex/convex.h: Similarly.
+       * config/d30v/d30v.h: Similarly.
+       * config/dsp16xx/dsp16xx.h: Similarly.
+       * config/elxsi/elxsi.h: Similarly.
+       * config/fr30/fr30.h: Similarly.
+       * config/h8300/h8300.h: Similarly.
+       * config/i386/i386.h: Similarly.
+       * config/i860/i860.h: Similarly.
+       * config/i960/i960.h: Similarly.
+       * config/ia64/ia64.h: Similarly.
+       * config/m32r/m32r.h: Similarly.
+       * config/m68hc11/m68hc11.h: Similarly.
+       * config/m68k/m68k.h: Similarly.
+       * config/m88k/m88k.h: Similarly.
+       * config/mcore/mcore.h: Similarly.
+       * config/mips/mips.h: Similarly.
+       * config/mn10200/mn10200.h: Similarly.
+       * config/mn10300/mn10300.h: Similarly.
+       * config/ns32k/ns32k.h: Similarly.
+       * config/pa/pa.h: Similarly.
+       * config/pdp11/pdp11.h: Similarly.
+       * config/pj/pj.h: Similarly.
+       * config/romp/romp.h: Similarly.
+       * config/rs6000/rs6000.h: Similarly.
+       * config/sh/sh.h: Similarly.
+       * config/sparc/sparc.h: Similarly.
+       * config/v850/v850.h: Similarly.
+       * config/vax/vax.h: Similarly.
+       * config/we32k/we32k.h: Similarly.
+       * doc/tm.texi: Update documentation.
+
+2001-06-26  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
+
+       * diagnostic.c (digit_buffer): Remove as global.  Move to...
+       * diagnostic.h (struct output_buffer): ... here.
+       * diagnostic.c (output_formatted_integer): Adjust use of digit_buffer.
+
+2001-06-25  Steve Ellcey  <sje@cup.hp.com>
+
+       * config.gcc (ia64*-*-hpux*): Add ia64/hpux_longdouble.h to tm_file.
+       Define tmake_file to include ia64/t-hpux.
+       * real.c (INTEL_EXTENDED_IEEE_FORMAT): Test for value instead of
+       testing to see if it is defined.
+       * real.h (INTEL_EXTENDED_IEEE_FORMAT): Likewise.  Default to 0 if
+       undefined.
+       * config/ia64/hpux_longdouble.h: New.
+       * config/ia64/ia64.c (hfa_element_mode): Add comment about incorrect
+       handling of long doubles.
+       (ia64_function_arg, ia64_function_value): Add checks for TFmode
+       and INTEL_EXTENDED_IEEE_FORMAT.
+       * config/ia64/ia64.h (INTEL_EXTENDED_IEEE_FORMAT): Define to one.
+       (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK, LIBCALL_VALUE): Add checks for
+       TFmode and INTEL_EXTENDED_IEEE_FORMAT.
+       * config/ia64/ia64.md (all TFmode patterns): Test
+       INTEL_EXTENDED_IEEE_FORMAT in condition.
+       (floatdidf2, floatdisf2): New, for !INTEL_EXTENDED_IEEE_FORMAT.
+       * config/ia64/quadlib.c: New.
+       * config/ia64/t-hpux: New.
+       * config/i386/i386.h (INTEL_EXTENDED_IEEE_FORMAT): Define to one.
+       
+2001-06-25  Jim Wilson  <wilson@redhat.com>
+
+       * config/i960/t-960bare (i960-c.o): Add missing header dependencies.
+       * config/i960/t-vxworks960: Likewise.
+
+2001-06-25   Dale Johannesen    <dalej@apple.com>
+
+       * bitmap.c (bitmap_last_bit_set): Fix a non-c89 usage (null actual
+       argument to macro).
+
+Mon Jun 25 11:10:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
+
+       * i386.md (movsi_insv_1, movsi_insv_1_rex64): Fix constraints.
+
+2001-06-25  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * doc/c-tree.texi, doc/contrib.texi, doc/extend.texi,
+       doc/gcc.texi, doc/gcov.texi, doc/install.texi, doc/invoke.texi,
+       doc/md.texi, doc/rtl.texi, doc/tm.texi: Be more consistent about
+       the use of "GCC" and related terms.
+       * doc/gcc.1, doc/gcov.1: Regenerate.
+
+2001-06-24  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * doc/extend.texi, doc/gcc.texi, doc/install-old.texi,
+       doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi: Remove
+       uses of @refill.
+
+Sun Jun 24 21:21:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
+
+       * (movsi_insv_1, movsi_insv_1_rex64): Allow immediate operand.
+
+2001-06-24  Richard Henderson  <rth@redhat.com>
+
+       * builtins.c (expand_builtin_expect_jump): Disable if the
+       expression can't be re-evaluated.
+
+2001-06-24  Nick Clifton  <nickc@cambridge.redhat.com>
+
+       * config/arm/arm.c (arm_compute_save_reg_mask): For FIQ interrupt
+       handlers examine register r0-r7, for other interrupt handlers
+       examine r0-r12.  If the interrupt handler is not a leaf function
+       save all call clobbered registers.
+       (arm_output_epilogue): If the prologue has pushed the IP register,
+       restore it here.
+       (Arm_expand_prologue): For interrupt functions that need the frame
+       pointer, push the IP register before it is corrupted.
+
+       * config/arm/arm.h (ARM_SIGN_EXTEND): Fix compile time warnings
+       about the use of signed and unsigned quantities in a conditional.
+
+2001-06-23  Richard Henderson  <rth@redhat.com>
+
+       * config/alpha/crtfastmath.c: New file.
+       * config/alpha/t-crtfm: New file.
+       * config/alpha/elf.h (ENDFILE_SPEC): Use crtfastmath.o.
+       * config/alpha/osf.h (ENDFILE_SPEC): Likewise.
+       * config/alpha/t-crtbe (EXTRA_PARTS): Add pieces defined here.
+       * config.gcc (alpha-{linux,freebsd,netbsd,osf}): Use alpha/t-crtfm;
+       do not set extra_parts here.
+
+2001-06-24  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * doc/install-old.texi: Remove more documentation of configure
+       options.
+       * doc/install.texi: Add it here.
+
+Sat Jun 23 19:40:05 CEST 2001  Jan Hubicka  <jh@suse.cz>
+
+       * i386-protos.h (emit_i387_cw_initialization): Declare.
+       * i386.md (movsi_insv_1): Remove '*'.
+       (fix_trunc?f?i2): Revamp to use control word parameters.
+       (fix_trunc?i_1): Likewise; update splitters.
+       (fix splitter): Remove.
+       * i386.c (MAX_386_STACK_LOCALS): set to 3.
+       (emit_i387_cw_initialization): New function.
+       (output_fix_trunc): Do not initialize control word;
+       kill dead code; simplify.
+
+2001-06-23  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
+
+       * cppmacro.c (make_string_token): Avoid warning.
+       (cpp_macro_definition): Prepend the macro name.  Update
+       comments.
+       * cppmain.c (cb_define, dump_macro): Update for changes
+       to cpp_macro_definition.
+
+Sat Jun 23 10:20:03 CEST 2001  Jan Hubicka  <jh@suse.cz>
+
+       * flow.c (attempt_auto_inc, try_pre_increment_1): Fix typo.
+
+Sat Jun 23 01:23:59 CEST 2001  Jan Hubicka  <jh@suse.cz>
+
+       * flow.c (mark_set_1, attempt_auto_inc, mark_used_reg,
+       try_pre_increment_1): compute REG_FREQ using bb->frequency.
+
+       * regclass.c (loop_cost): Kill.
+       (frequency): New global variable.
+       (record_operand_costs): Replace loop_cost by frequency.
+       (scan_one_insn): Likewise.
+       (regclass): Likewise; set frequency according to bb->frequency.
+
+       * flow.c (split_edge): Set frequency.
+
+Sat Jun 23 01:16:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
+
+       * predict.c (block_info_def): Add nvisited.
+       (propagate_freq): Count nvisited; re-queue delayed blocks; handle
+       irreducible regions.
+
+       * flow.c (dump_edge_info): Dump the probability of edge.
+       (combine_predictions_for_insn): Dump the basic block.
+
+2001-06-22  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * doc/gcc.texi: Update documentation of source files of C
+       compiler.
+
+2001-06-22  Richard Henderson  <rth@redhat.com>
+
+       * doc/invoke.texi (-funsafe-math-optimizations): Document its
+       possible effects at link time.
+
+2001-06-22  Diego Novillo  <dnovillo@redhat.com>
+
+       * basic-block.h (dump_edge_info): Declare.
+       (clear_edges): Declare.
+       (mark_critical_edges): Declare.
+       * flow.c (dump_edge_info): Remove static declaration.
+       (clear_edges): Ditto.
+       (mark_critical_edges): Ditto.
+       (free_basic_block_vars): Only clear edges and free basic block
+       array if basic_block_info is not NULL.
+       * ssa.c (compute_dominance_frontiers): Remove static declaration.
+       * ssa.h (compute_dominance_frontiers): Declare.
+
+2001-06-22  Toshiyasu Morita  (toshiyasu.morita@hsa.hitachi.com)
+
+       * predict.c: (expected_value_to_br_prob): Check for const_true_rtx
+       instead of const1_rtx for true case.
+
+2001-06-22  David Mosberger  <davidm@hpl.hp.com>
+
+       * config/ia64/crtfastmath.c: New file.
+       * config/ia64/t-ia64 (EXTRA_PARTS): Include it.
+       * config/ia64/linux.h (ENDFILE_SPEC): New.
+
+2001-06-22  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
+
+       * config/h8300/h8300.c (asm_file_start): Remove reference to
+       "release F-1".
+
+2001-06-22  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * c-common.c (verify_tree): Check for x being NULL.
+       * doc/c-tree.texi: Document COMPOUND_BODY of an empty
+       COMPOUND_STMT.
+       Fixes PR c/3259.
+
+2001-06-22  DJ Delorie  <dj@redhat.com>
+
+       * config/arm/arm.h (struct machine_function): Remove ra_rtx.
+       * config/arm/arm.c (arm_mark_machine_status): Remove ra_rtx.
+       (arm_return_addr): Use get_hard_reg_initial_val et al.
+       * config/d30v/d30v.h (struct machine_function): Remove ra_rtx.
+       * config/d30v/d30v.c (d30v_mark_machine_status): Remove ra_rtx.
+       (d30v_return_addr): Use get_hard_reg_initial_val et al.
+       * config/rs6000/rs6000.h (struct machine_function): Remove ra_rtx.
+       * config/rs6000/rs6000.c (rs6000_override_options): Don't set
+       mark_machine_status.
+       (rs6000_mark_machine_status): Remove.
+       (rs6000_return_addr): Use get_hard_reg_initial_val.
+       (rs6000_ra_ever_killed): Use has_hard_reg_initial_val.
+       * config/v850/v850.h (INIT_EXPANDERS): Delete.
+       * config/v850/v850.c (struct machine_function): Delete.
+       (v850_init_machine_status): Delete.
+       (v850_mark_machine_status): Delete.
+       (v850_free_machine_status): Delete.
+       (v850_return_addr): Use get_hard_reg_initial_val.
+       (v850_init_expanders): Delete.
+
+Fri Jun 22 19:20:59 CEST 2001  Jan Hubicka  <jh@suse.cz>
+
+       * predict.c (estimate_bb_frequencies): Do not handle conditional
+       jumps jumping to fallthru basic block as conditional jumps.
+
+Fri Jun 22 19:11:28 CEST 2001  Jan Hubicka  <jh@suse.cz>
+
+       * regs.h (struct reg_info_def): Add freq field.
+       (REG_N_REFS): Update comment.
+       (REG_FREQ): New.
+       * regclass.c (scan_one_insn): Update REG_FREQ.
+       * flow.c (mark_set_1): Update REG_FREQ, make REG_N_SETS unweighted.
+       (attempt_auto_inc): Likewise.
+       (mark_used_reg): Likewise.
+       (try_pre_increment_1): Likewise.
+       * local-alloc.c (struct qty): Add freq field.
+       (alloc_qty): Set freq.
+       (update_equiv_regs): Set REG_FREQ.
+       (QTY_CMP_PRI): Use freq.
+       (combine_regs): Update qty->freq.
+       * global.c (struct allocno): Update comment for n_refs;
+       add freq field.
+       (local_reg_freq): New array.
+       (global_alloc): Update freq field;
+       allocate and initialize local_reg_freq.
+       (allocno_compare): Use freq field.
+       (find_reg): Likewise.
+       * reload1.c (count_pseudo): Use freq isntead of n_refs.
+       (count_spilled_pseudo): Likewise.
+
+       * tm.texi (GCOV_TYPE_SIZE): Document.
+       * basic-block.h (gcov_type): Define.
+       (struct edge_def): Use gcov_type for count field.
+       (struct basic_block_def): Likewise.
+       * defaults.h (GCOV_TYPE_SIZE): Define.
+       * final.c (end_final): Use GCOV_TYPE_SIZE.
+       * flow.c (dump_edge_info, dump_flow_info, dump_bb): Print count fields
+       using HOST_WIDEST_INT_PRINT_DEC.
+       * gcov-io.h (__fetch_gcov_type, __store_gcov_type, __read_gcov_type,
+       __write_gcov_type): New.
+       (store_long): Remove.
+       * gcov.c (gcov_type): Set default.
+       (struct adj_list): Use gcov_type for arc_count.
+       (bb_info): Use gcov_type for succ_count, pred_count and exec_count.
+       (create_program_flow_graph): Read arc_count properly.
+       (solve_program_flow_graph): 'total' is gcov_type.
+       (output_data): Line_counts is gcov_type, print it properly.
+       * libgcc2.c (struct bb): Counts is gcov_type.
+       (__bb_exit_func): Use __read_gcov_type and __write_gcov_type.
+       * profile.c (LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE): Set default.
+       (GCOV_TYPE_SIZE): Define.
+       (struct bb_info): succ_count and pred_count is gcov_type.
+       (compute_branch_probabilities): Use __read_gcov_type,
+       print read edges to the dump file.
+       (total): Is gcov_type.
+       (gen_edge_profiler): Use GCOV_TYPE_SIZE.
+
+2001-06-14  Andrew Haley  <aph@cambridge.redhat.com>
+
+       * optabs.c (emit_libcall_block): When using non-call exceptions,
+       don't mark libcalls never throwing.
+
+2001-06-21  Stan Shebs  <shebs@apple.com>
+
+       * objc/objc-act.c (hash_init): Use xcalloc.
+
+2001-06-21  Richard Henderson  <rth@redhat.com>
+
+       * flow.c (entry_exit_blocks): Initialize frequency.
+       (split_block): Copy it.
+       (dump_flow_info): Dump it.
+
+Thu Jun 21 22:15:10 2001  J"orn Rennecke <amylaar@redhat.com>
+
+       * sh.c (barrier_align): Also recognize branch-around-a-jump-sequence
+       from machine-depedent_reorg for purposes of alignment supression
+       when no delay slot insn has been added.
+
+2001-06-21  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
+
+       * cppmacro.c (make_string_token): Null terminate.
+
+2001-06-21  DJ Delorie  <dj@redhat.com>
+
+       * config/alpha/alpha.h (struct machine_function): Remove.
+       * config/alpha/alpha.c (integrate.h): Include.
+       (override_options): Don't set up machine_status hooks.
+       (alpha_init_machine_status): Remove.
+       (alpha_mark_machine_status): Remove.
+       (alpha_free_machine_status): Remove.
+       (alpha_return_addr): Use get_hard_reg_initial_val.
+       (alpha_gp_save_rtx): Likewise.
+       (alpha_ra_ever_killed): Use has_hard_reg_initial_val.
+
+2001-06-20  Aldy Hernandez  <aldyh@redhat.com>
+
+       * config/sh/sh.md (interrupt_function): Use
+       current_function_interrupt.
+       (define_delay): Schedule in delay slot if TARGET_SH3, even if it is
+       an interrupt function.
+
+       * config/sh/sh.h (current_function_interrupt): Define extern.
+
+       * config/sh/sh.c (current_function_interrupt): New global.
+       (sh_expand_prologue): Set current_function_interrupt.
+
+2001-06-21  Phil Edwards  <pme@sources.redhat.com>
+
+       * doc/install.texi:  Add 'c' to list of --enable-languages choices.
+
+2001-06-21  DJ Delorie  <dj@redhat.com>
+
+       * integrate.c (mark_hard_reg_initial_vals): Check for NULL.
+       
+       * integrate.c (ggc.h): Include.
+       (initial_value_pair, initial_value_struct,
+       setup_initial_hard_reg_value_integration): Add prototypes.
+       (expand_inline_function): Call
+       setup_initial_hard_reg_value_integration.
+       (has_func_hard_reg_initial_val, get_func_hard_reg_initial_val,
+       get_hard_reg_initial_val, has_hard_reg_initial_val): New functions
+       to keep track of values present at the start of a function.
+       (mark_hard_reg_initial_vals): New, for gc.
+       (setup_initial_hard_reg_value_integration): New.  Sets up pseudo
+       mappings for initial values.
+       (emit_initial_value_sets): New.  Emits code to set initial value
+       pseudos.
+       * integrate.h: Add prototypes for new functions.
+       * function.h (struct function): Add hard_reg_initial_vals field.
+       * function.c (integrate.h): Include.
+       (mark_function_status): Call
+       mark_hard_reg_initial_vals.
+       * toplev.c (integrate.h): Include.
+       (rest_of_compilation): Call emit_initial_value_sets.
+
+2001-06-21  Stan Shebs  <shebs@apple.com>
+
+       * doc/contrib.texi, doc/cpp.texi, doc/cppinternals.texi,
+       doc/extend.texi, doc/gcc.texi, doc/install.texi, doc/invoke.texi,
+       doc/objc.texi, doc/tm.texi: Use the correct name "Objective-C"
+       everywhere instead of "Objective C".
+
+2001-06-21  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * doc/c-tree.texi, doc/contrib.texi, doc/extend.texi,
+       doc/gcc.texi, doc/install-old.texi, doc/install.texi,
+       doc/invoke.texi, doc/rtl.texi: Consistently use "front end" and
+       "back end" as nouns and "front-end" and "back-end" as adjectives.
+
+Wed Jun 20 21:53:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
+
+       * predict.c (estimate_probability): Fix loop bounds.
+
+Wed Jun 20 19:10:48 CEST 2001  Jan Hubicka  <jh@suse.cz>
+
+       * toplev.c (rest_of_compilation): Run mark_constant_function
+       before profile-arcs.
+
+Wed Jun 20 19:08:18 CEST 2001  Jan Hubicka  <jh@suse.cz>
+
+       * predict.c (estimate_loops_at_level, propagate_freq
+       estimate_bb_frequencies, count_to_freqs): New functions.
+       (estimate_probability): Call estimate_bb_frequencies.
+       * basic-block.h (basic_block_def): Add field "freq".
+       (BB_FREQ_MAX): New constant.
+
+Wed Jun 20 17:02:50 2001  J"orn Rennecke <amylaar@redhat.com>
+
+       * sh.c (barrier_align): Don't ask for alignment when seeing a
+       branch-around-a-jump from machine_dependent_reorg.
+
+Wed Jun 20 08:35:02 2001  Jeffrey A Law  (law@cygnus.com)
+
+       * ssa.c (rename_block): Update parameter to remove_phi_alternative
+       (convert_from_ssa): Do create REG_DEAD and REG_UNUSED notes when
+       re-running life analysis. 
+
+2001-06-20  Stan Shebs  <shebs@apple.com>
+
+       * objc/objc-act.c (hash_init): Assume xmalloc always succeeds,
+       also use memset to clear the hash tables.
+       (hash_enter): Assume xmalloc always succeeds.
+       (hash_add_attr): Ditto.
+       (continue_class): Ditto.
+
+2001-06-20  Michael Meissner  <meissner@redhat.com>
+
+       * builtins.c (predict.h): Include.
+       (expand_builtin_expect): Update comment.
+       (expand_builtin_expect_jump): New function to expand
+       __builtin_expect inside of a conditional jump expansion.
+
+       * expr.c (do_jump): Special case __builtin_expect (<test>, 0) and
+       __builtin_expect (<test>, 1).
+
+       * Makefile.in (builtins.o): Depend on $(PREDICT_H).
+
+       * rtl.h (expand_builtin_expect_jump): Add prototype.
+
+2001-06-19  Geoffrey Keating  <geoffk@redhat.com>
+
+       * doc/rtl.texi (Machine Modes): Correct description of
+       floating-point modes on machines with non-8-bit bytes.
+
+2001-06-19  Bernd Schmidt  <bernds@redhat.com>
+
+       * regmove.c (optimize_reg_copy_3): Do nothing if previous insn
+       carries a REG_EQUIV note.  If it carries REG_EQUAL, delete the
+       note.
+
+Tue Jun 19 07:53:52 2001  Jeffrey A Law  (law@cygnus.com)
+
+       * ssa.c (remove_phi_alternative): Remove declaration.  No longer
+       static.  Second argument is a pointer to a basic block structure,
+       not a basic block index.
+       (convert_to_ssa): Do not remove dead code.
+       (convert_from_ssa): Do not remove dead code to create death notes.
+       * ssa.h (remove_phi_alternative): Declare.
+
+       * flow.c (delete_unreachable_blocks): Fix patch error in
+       previous change (call to find_unreachable_blocks was lost).
+
+       * ssa.c (ssa_uses): Remove definition.
+       (apply_delayed_renames): Don't grow ssa_uses.
+       (rename_block): Remove comment related to ssa_uses.
+       (rename_registers): Do not initialize ssa_uses.
+       (convert_from_ssa): Do not free ssa_uses.
+
+       * ssa-dce.c: Renamed from dce.c.
+       * Makefile.in (OBJS): Replace dce.o with ssa-dce.o
+       (dependencies): Replace dce.c with ssa-dce.c and dce.o with
+       ssa-dce.o.
+
+2001-06-19  Eric Christopher <echristo@redhat.com>
+
+       * emit-rtl.c (gen_lowpart_common): Do not assume that SFmode
+       and DFmode are UNITS_PER_WORD and 2*UNITS_PER_WORD.  Use
+       GET_MODE_BITSIZE instead of GET_MODE_SIZE/UNITS_PER_WORD.
+
+Tue Jun 19 01:52:27 2001  J"orn Rennecke <amylaar@redhat.com>
+
+       * sh.c (output_branch): Delete bogus code.
+
+       * sh.c (initial_elimination_offset):
+       Fix FROM == RETURN_ADDRESS_POINTER_REGNUM case.
+
+Mon Jun 18 12:50:49 2001  Jeffrey A Law  (law@cygnus.com)
+
+       * flow.c (find_unreachable_blocks): New function.
+       (delete_unreachable_blocks): Use find_unreachable_blocks.
+       * basic-block.h (find_unreachable_blocks): Declare.
+
+        * dce.c (eliminate_dead_code): Fix formatting glitch.
+
+2001-06-18  Jason Merrill  <jason_merrill@redhat.com>
+
+       * c-common.h (RETURN_NULLIFIED_P): New macro.
+       * c-semantics.c (genrtl_return_stmt): Check it.
+
+       * expr.c (clear_storage): Set TREE_NOTHROW on the decl for memset.
+       (emit_block_move): Likewise.
+
+Mon Jun 18 17:27:24 CEST 2001  Jan Hubicka  <jh@suse.cz>
+
+       * unroll.c: Include predict.h.
+       (unroll_loop): Drop prediction notes on preconditioning.
+       * predict.def (PRED_LOOP_PRECONDITIONG, PRED_LOOP_CONDITION):
+       New; add comments on the others.
+       * Makefile.in: (unroll.o): Add dependancy on predict.h.
+       * loop.c (strength_reduce): Fix branch prediction.
+
+Mon Jun 18 17:26:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
+
+       * stmt.c (emit_case_nodes): Optimize test whether index is in given
+       interval.
+
+Mon Jun 18 15:43:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
+
+       * predict.c (estimate_probability): Do not bail out early
+       when note is present.
+       (combine_predictions_for_insn): Fix note removal code.
+
+2001-06-18  Ben Elliston  <bje@redhat.com>
+
+       * except.c (resolve_fixup_regions): Initialise "cleanup".
+
+2001-06-17  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * tm.texi: Document STDC_0_IN_SYSTEM_HEADERS.
+
+Sat Jun 16 20:20:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * expr.c (expand_expr, case ADDR_EXPR): If taking address of SAVE_EXPR,
+       use put_var_into_stack.
+
+2001-06-16  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+
+       * gccspec.c (lang_specific_driver): If compiling ObjC, add
+       -shared-libgcc when necessary.
+       * Makefile.in (gccspec.o): Compile with DRIVER_DEFINES.
+
+2001-06-16  Daniel Berlin  <dan@cgsoftware.com>
+
+       * bitmap.h: Add dump_bitmap, bitmap_zero, bitmap_union_of_diffs,
+       bitmap_a_or_b, bitmap_a_and_b, bitmap_first_set_bit,
+       bitmap_last_set_bit. All for compatibility with sbitmap's.
+
+       *bitmap.c (bitmap_zero): New function.
+       (bitmap_union_of_diffs): New function.
+       (bitmap_first_set_bit): New function.
+       (bitmap_last_set_bit): New function.
+
+2001-06-16  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * cpp.texi, invoke.texi: Update.
+       * cpp.1, gcc.1: Regenerate.
+
+Sat Jun 16 12:45:20 CEST 2001  Jan Hubicka  <jh@suse.cz>
+
+       * i386.md (minsf): Fix splitter. (PR fortran/3191)
+
+2001-06-16  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * doc/cpp.texi: Update.
+       * doc/cpp.1: Regenerate.
+
 2001-06-15  Loren J. Rittle  <ljrittle@acm.org>
 
        * doc/install.texi: Use correct markup hints.
@@ -133,11 +901,11 @@ Thu Jun 14 12:44:15 CEST 2001  Jan Hubicka  <jh@suse.cz>
 2001-06-13  Zack Weinberg  <zackw@stanford.edu>
 
        * Makefile.in: Move _bb and __gcc_bcmp to LIB2FUNCS_ST.
-       * libgcc-std.ver: Take out __bb* and __gcc_bcmp.                        
+       * libgcc-std.ver: Take out __bb* and __gcc_bcmp.
 
        * config/t-slibgcc-elf-ver, config/t-slibgcc-sld,
        config/alpha/t-osf4, config/mips/t-iris6: Extract all
-       references to @shlib_map_file@, @shlib_objs@, or     
+       references to @shlib_map_file@, @shlib_objs@, or
        @shlib_base_name@ to Makefile variables.
        Bump soname version of libgcc to 1.
 
@@ -169,7 +937,7 @@ Thu Jun 14 12:44:15 CEST 2001  Jan Hubicka  <jh@suse.cz>
        Revert this patch:
        * toplev.c (rest_of_compilation): Remove dead code before
        purge_addressof.
-       
+
 2001-06-12  Alexandre Oliva  <aoliva@redhat.com>
 
        Reverted:
@@ -279,8 +1047,8 @@ Tue Jun 12 12:20:12 CEST 2001  Jan Hubicka  <jh@suse.cz>
 
 2001-06-11  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
 
-       * config/m68hc11/m68hc11.md ("*lshrdi3_const32"): Mark the clobber 
-       as an early clobber to make sure it is not used by reload in 
+       * config/m68hc11/m68hc11.md ("*lshrdi3_const32"): Mark the clobber
+       as an early clobber to make sure it is not used by reload in
        one of the operands.
 
 2001-06-11  Mark Mitchell  <mark@codesourcery.com>
@@ -372,13 +1140,13 @@ Tue Jun 12 12:20:12 CEST 2001  Jan Hubicka  <jh@suse.cz>
        * configure.in: Align --help messages.
        Remove trailing full stops.
        Consistently use lower case.
-       Fix DWARF 2 spelling.   
+       Fix DWARF 2 spelling.
        * configure: Rebuilt.
 
 2001-06-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
 
        * config/alpha/alpha.h (CPP_SPEC): Don't define __LANGUAGE_C and
-       variants for .cpp/.cp/.c++ files. 
+       variants for .cpp/.cp/.c++ files.
        Move definition of __LANGUAGE_C_PLUS_PLUS ...
        (CPLUSPLUS_CPP_SPEC): ... here.
 
@@ -451,7 +1219,7 @@ Mon Jun 11 15:47:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
        * config/alpha/alpha.c (override_options): Set align_loops,
        align_jumps, and align_functions.
        * config/alpha/alpha.h (FUNCTION_BOUNDARY): Set to 32 bits.
-       (LOOP_ALIGN, LABEL_ALIGN_AFTER_BARRIER): Remove.  
+       (LOOP_ALIGN, LABEL_ALIGN_AFTER_BARRIER): Remove.
 
 2001-06-11  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 
@@ -480,13 +1248,13 @@ Mon Jun 11 15:47:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
        * dwarf2out.c: #include diagnostic.h
 
        * toplev.h (warningcount, errorcount, sorrycount): Remove
-       declarations. 
+       declarations.
 
        * toplev.c (warningcount, errorcount, sorrycount): Remove
-       definitions. 
+       definitions.
 
        * diagnostic.h (struct output_buffer): Reorder fields.
-       (diagnostic_kind_count): New macro.     
+       (diagnostic_kind_count): New macro.
        (errorcount, warningcount, sorrycount): Define as macros.
        (diagnostic_report_warnings_p): New macro.
        (output_state): Add diagnostic_count field.
@@ -506,12 +1274,12 @@ Mon Jun 11 15:47:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
 
 2001-06-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
 
-       * config/m68hc11/m68hc11-protos.h (m68hc11_initialize_trampoline): 
+       * config/m68hc11/m68hc11-protos.h (m68hc11_initialize_trampoline):
        Move definition in the RTX_CODE section.
 
 2001-06-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
 
-       * config/m68hc11/m68hc11.h (RETURN_ADDR_RTX): Define the return 
+       * config/m68hc11/m68hc11.h (RETURN_ADDR_RTX): Define the return
        address as relative to the argument pointer.
 
 Sun Jun 10 10:58:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
@@ -545,7 +1313,7 @@ Sun Jun 10 10:00:17 CEST 2001  Jan Hubicka  <jh@suse.cz>
 
        * toplev.c (rest_of_compilation): Remove dead code before
        purge_addressof.
-       
+
 2001-06-09  Neil Booth  <neil@daikokuya.demon.co.uk>
 
        * cppinit.c (print_help): Document -fpreprocessed.
@@ -750,7 +1518,7 @@ Thu Jun  7 18:27:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
        * config/darwin-protos.h: Declare it.
        * config/rs6000/rs6000.c (machopic_output_stub): Use
        STRIP_NAME_ENCODING.
-       
+
 2001-06-07  Mark Mitchell  <mark@codesourcery.com>
 
        * tree.h (DECL_SOURCE_FILE): Improve documentation.
@@ -938,7 +1706,7 @@ Wed Jun  6 14:51:05 CEST 2001  Jan Hubicka  <jh@suse.cz>
        indent.
        * toplev.c (main): Disable sibling-call optimization if we are
        handling exceptions.
-       
+
 2001-06-05  Bernd Schmidt  <bernds@redhat.com>
 
        * reload1.c (reload): Delete all USEs generated during reload.