+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.
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.
Revert this patch:
* toplev.c (rest_of_compilation): Remove dead code before
purge_addressof.
-
+
2001-06-12 Alexandre Oliva <aoliva@redhat.com>
Reverted:
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>
* 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.
* 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>
* 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.
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>
* 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.
* 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.
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.