OSDN Git Service

* doc/install.texi: State GNAT version requirements.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 4b62c60..f5c83cf 100644 (file)
@@ -1,3 +1,815 @@
+2002-05-02  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * doc/install.texi: State GNAT version requirements.
+
+2002-05-02  Nick Clifton  <nickc@cambridge.redhat.com>
+
+       * config/fr30/fr30.h (GO_IF_LEGITIMATE_ADDRESS): Accept any form
+       of the frame pointer or arg pointer register which strict register
+       checking is not enabled.
+
+2002-05-02  Aldy Hernandez  <aldyh@redhat.com>
+
+        * gcc.dg/altivec-8.c: New.
+
+        * config/rs6000/rs6000.c (rs6000_legitimate_address): Disallow
+        PRE_INC and PRE_DEC for altivec modes.
+
+2002-05-01  Bruce Korb  <bkorb@gnu.org>
+
+       * fixinc/check.tpl(set-writable): make sure the function exists first
+       * fixinc/inclhack.def(alpha_assert): fix test_text
+       * fixinc/tests/base/assert.h: add in missing result
+
+2002-05-01  Jeff Law  <law@redhat.com>
+
+       * pa.h (EXTRA_CONSTRAINT): Don't accept PIC addresses for the
+       'T' constraint.
+
+2002-05-01  Joel Brobecker  <brobecker@gnat.com>
+
+       * dbxout.c (dbxout_type): Emit size information for range types,
+       as well, but only when using GDB extensions.
+
+2002-05-01  Richard Henderson  <rth@redhat.com>
+
+       * configure.in (HAVE_GAS_HIDDEN): Replace SPARC feature test with
+       target-independent gnu binutils date test.
+
+2002-05-01  Richard Henderson  <rth@redhat.com>
+
+       * cfgcleanup.c (merge_blocks_move_successor_nojumps): Emit dump
+       info before expunging the block.
+
+2002-05-01  Jakub Jelinek  <jakub@redhat.com>
+
+       * cppinit.c (cpp_handle_option) [-dM]: Don't set no_output here...
+       (cpp_post_options): ...but here.  Disable -dD, -dN and -dI when
+       -M -or -MM is in effect.
+
+2002-05-01  Zack Weinberg  <zack@codesourcery.com>
+
+       * config.gcc: Correct test of --enable-obsolete.  Obsolete all
+       A29k configurations.
+       * doc/install.texi: Update to match.
+
+2002-05-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+
+       PR bootstrap/6514
+       * varasm.c (globalize_decl): Compare DECL_ASSEMBLER_NAME to check
+       for duplicates. Always loop over whole list.
+
+Wed May  1 10:32:37 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * reload.c (find_reloads, case 'p'): Set BADOP to 0.
+
+2002-05-01     Joel Sherrill <joel@OARcorp.com>
+
+       * config/sparc/t-elf (sparc-rtems, sparc-elf): Build assembly
+       support routines.
+
+2002-05-01     Joel Sherrill <joel@OARcorp.com>
+
+       * config/arm/rtems-elf.h: Add #undef TARGET_VERSION to prevent warning.
+
+2002-05-01  David Edelsohn  <edelsohn@gnu.org>
+
+       * rs6000.md (abssi2_nopower): Convert to define_insn_and_split.
+       (nabs_nopower): Same.
+       (floatdisf2): New pattern.
+       (absdi2): Convert to define_insn_and_split.
+       (nabsdi2): Same.
+       (trunctfsf2): Same.
+       (floatditf2): Same.
+       (floatsitf2): Same.
+       (fix_trunctfdi2): Same.
+       (fix_trunctfsi2): Same.
+
+2002-05-01  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * doc/install.texi: Update Texinfo version requirement
+       documentation.
+
+2002-05-01  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/6512, PR target/5628
+       * config/sparc/sparc.md (movdf_insn_v9only_novis): Don't allow >= %f32
+       when memory is not aligned.
+       (movdf_insn_v9only_vis): Likewise.
+       * config/sparc/sparc.h (SECONDARY_INPUT_RELOAD_CLASS): Request a FP_REGS
+       temporary for EXTRA_FP_REGS DFmode load from unaligned memory.
+       (SECONDARY_OUTPUT_RELOAD_CLASS): Similarly.
+
+2002-05-01  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gcc.dg/altivec-7.c: New.
+
+       * config/rs6000/altivec.h: Cleanup.
+
+2002-04-30  Aldy Hernandez  <aldyh@redhat.com>
+
+       * doc/invoke.texi (Option Summary): Add -mvrsave=.
+       (RS/6000 and PowerPC Options): Document -mvrsave=.
+
+       * config/rs6000/rs6000.c (rs6000_altivec_vrsave): New global.
+       (rs6000_altivec_vrsave_string): Same.
+       (rs6000_override_options): Call rs6000_parse_vrsave_option.
+       (rs6000_parse_vrsave_option): New.
+       (rs6000_stack_info): Only generate vrsave instructions when
+       TARGET_ALTIVEC_VRSAVE.
+
+       * config/rs6000/rs6000.h (TARGET_OPTIONS): Add -mvrsave= option.
+       (rs6000_altivec_vrsave_string): Define extern.
+       (rs6000_altivec_vrsave): Same.
+       (TARGET_ALTIVEC_VRSAVE): New.
+
+2002-04-30  Richard Henderson  <rth@redhat.com>
+
+       PR opt/6516
+       * toplev.c (rest_of_compilation): Don't run cross-jump before
+       bb-reorder.
+
+2002-04-30  Tom Rix  <trix@redhat.com>
+
+       * regrename.c (build_def_use, copyprop_hardreg_forward_1): Sanity
+       check which_alternative.
+
+2002-04-30  Kazu Hirata  <kazu@hxi.com>
+
+       * cpplex.c: Fix comment formatting.
+       * function.c: Likewise.
+       * integrate.c: Likewise.
+       * regrename.c: Likewise.
+       * sibcall.c: Likewise.
+       * simplify-rtx.c: Likewise.
+       * tree-inline.c: Likewise.
+
+2002-04-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+
+       * config.gcc (hppa1.1-*-pro*, hppa1.1-*-osf*, hppa1.1-*-rtems*,
+       hppa1.0-*-osf*, hppa1.1-*-bsd*, hppa1.1-*-hpux10*, hppa2*-*-hpux10*,
+       hppa1.0-*-hpux10*, hppa*64*-*-hpux11*, hppa1.1-*-hpux11*,
+       hppa2*-*-hpux11*, hppa1.0-*-hpux11*, hppa*-*-lites*): Define xmake_file.
+       * pa/t-linux, pa/t-pa, pa/t-pa64, t-pro (T_ADAFLAGS): Delete.
+       * pa/x-ada: New file.  Define ADA_CFLAGS.
+
+2002-04-30  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * config/mmix/mmix.h (MMIX_LAST_STACK_REGISTER_REGNUM): Renamed
+       from MMIX_LAST_REGISTER_FILE_REGNUM.
+       (NO_IMPLICIT_EXTERN_C): Remove cryptic obsolete comment.
+       (struct machine_function): New member highest_saved_stack_register
+       previously static variable in mmix.c.
+       (MACHINE_DEPENDENT_REORG): Define.
+       * config/mmix/mmix.c (highest_saved_stack_register): Deleted.
+       (MMIX_OUTPUT_REGNO): New.
+       (mmix_target_asm_function_prologue): Move calculation of last used
+       saved-stack-register into...
+       (mmix_machine_dependent_reorg): New function.  Update to also handle
+       !TARGET_ABI_GNU.
+       (mmix_print_operand): Apply MMIX_OUTPUT_REGNO when emitting
+       register names, simplify somewhat by new variable regno.
+       <case 'p'>: Remove fixed FIXME.  Always emit highest used saved
+       register.
+       (mmix_print_operand_address): Apply MMIX_OUTPUT_REGNO when
+       emitting register names.
+       (mmix_asm_output_reg_push, mmix_asm_output_reg_pop): Ditto.
+       (mmix_dbx_register_number): Apply MMIX_OUTPUT_REGNO here too.
+       Remove fixed FIXME.
+       * config/mmix/mmix-protos.h (mmix_machine_dependent_reorg):
+       Declare.
+
+       * config/mmix/mmix.md ("divmoddi4"): Update head comment.
+
+2002-04-30  Richard Henderson  <rth@redhat.com>
+
+       * config/sparc/sparc.c (emit_soft_tfmode_libcall,
+       emit_soft_tfmode_binop, emit_soft_tfmode_unop, emit_soft_tfmode_cvt,
+       emit_hard_tfmode_operation, emit_tfmode_binop, emit_tfmode_unop,
+       emit_tfmode_cvt): New.
+       * config/sparc/sparc.md (extendsftf2, extenddftf2, trunctfsf2,
+       trunctfdf2, floatsitf2, floatunssitf2, floatditf2, floatunsditf2,
+       fix_trunctfsi2, fixuns_trunctfsi2, fix_trunctfdi2, fixuns_trunctfdi2,
+       addtf3, subtf3, multf3, divtf3, sqrttf2): Use them.
+       * config/sparc/sparc-protos.h: Update.
+
+2002-04-30  Janis Johnson  <janis187@us.ibm.com>
+
+       * install.texi (Final install): Add to the list of info to include
+       in a report of a successful bootstrap, and add link to 3.1 list.
+
+Tue Apr 30 19:15:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
+
+       * i386.md (type): Add new SSE/MMX subtypes, remove usused fop1.
+       (mode): Add vector modes
+       (i387): Kill attribute.
+       (unit): New attribute.
+       (length_immediate): Grok new types.
+       (prefix_data16, prefix_rep, prefix_0f): Fix for SSE/MMX.
+       (modrm): Use "unit".
+       (memory): Handle MMX/SSE properly.
+       (scheduling descriptions): Kill uses of fop1.
+       (sse, mmx, fp patterns): Set type and mode properly.
+
+Tue Apr 30 09:31:59 2002  Jeffrey A Law  (law@cygnus.com)
+
+       * pa.c (override_options): Default to PA8000 scheduling.
+       * doc/invoke.texi (HP-PA options): Mention newly added 7300
+       scheduling parameter.
+
+       * pa.md (7100lc, 7200, 7300 scheduling): Slightly refine
+       handling of double precision multiplies.
+
+       * pa.md (7100lc, 7200, 7300 scheduling): Refine handling of
+       fpdiv and fpsqrt instructions.
+       (7200 & 7300 scheduling): Fix typo in handling of
+       store-load and store-store penalties.
+
+2002-04-30  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+
+       * doc/contrib.texi (Contributors): Use MIPS instead of Mips and
+       mips.  Add two missing commas.
+
+2002-04-30  Paolo Carlini  <pcarlini@unitus.it>
+
+       * doc/contrib.texi (Contributors): Update Paolo Carlini's
+       and Benjamin Kosnik's entries.
+
+2002-04-29  David S. Miller  <davem@redhat.com>
+
+       * config/sparc/sparc.h (BRANCH_COST, PREFETCH_BLOCK,
+       SIMULTANEOUS_PREFETCHES): Tune for UltraSPARC-III.
+       * config/sparc/sparc.md (call + jmp 32-bit peepholes): Likewise.
+       * config/sparc/sparc.c (sparc_initialize_trampoline): Likewise.
+
+2002-04-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+
+       * combine.c (find_split_point): Use gen_int_mode.
+
+2002-04-29  Vladimir Makarov  <vmakarov@redhat.com>
+
+       Merging code from dfa-branch:
+
+       2002-04-24  Vladimir Makarov  <vmakarov@redhat.com>
+
+       * genautomata.c (output_reserv_sets): Fix typo.
+
+       2002-04-23  Vladimir Makarov  <vmakarov@redhat.com>
+
+       * genautomata.c (output_reserv_sets): Remove
+       next_cycle_output_flag.
+
+       Thu Apr 18 08:57:06 2002  Jeffrey A Law  (law@redhat.com)
+
+       * sched-rgn.c (init_ready_list): Make the DFA code handle
+       USE/CLOBBER insns in the same way as the traditional
+       scheduler.
+       (new_ready): Similarly..
+
+       2002-04-17  Vladimir Makarov  <vmakarov@redhat.com>
+
+       * haifa-sched.c (schedule_block): Change the DFA state only after
+       issuing insn.
+
+       Wed Apr 17 15:38:36 2002  Jeffrey A Law  (law@redhat.com)
+
+       * pa.c (hppa_use_dfa_pipeline_interface): New function.
+       (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define.
+       (override_options): Add PA7300 scheduling support.
+       (pa_adjust_cost): Update various comments.  Properly
+       handle anti and output dependencies when using the
+       DFA scheduler.
+       (pa_issue_rate): Add PA7300 scheduling support.
+       (pa_can_combine_p): Call extract_insn before calling
+       constrain_operands (taken from mainline tree).
+       * pa.h (enum processor_type): Add PROCESSOR_PA7300.
+       * pa.md (cpu attr): Add 7300.  Rewrite pipeline
+       descriptions using DFA descriptions.  Add PA7300
+       scheduling support.
+
+       2002-03-30  David S. Miller  <davem@redhat.com>
+
+       Add UltraSPARC-III DFA scheduling support.
+       * config/sparc/sparc.md (define_attr type): Add fpcrmove.
+       Update FP conditional move on register insn patterns to use it, as
+       appropriate.
+       (define_attr cpu): Add ultrasparc3.
+       (define_attr us3load_type): New, update integer load patterns to
+       set it, as appropriate.
+       (define_automaton): Add ultrasparc3_0 and ultrasparc3_1.
+       (rest): Add UltraSPARC3 scheduling description.
+       * config/sparc/sparc.h (TARGET_CPU_ultrasparc3): New.
+       (PROCESSOR_ULTRASPARC3): New.
+       ({ASM,CPP}_CPU64_DEFAULT_SPEC): Handle ultrasparc3.
+       ({ASM,CPP}_CPU_SPEC): Likewise.
+       (REGISTER_MOVE_COST): Likewise.
+       (RTX_COSTS): Likewise.
+       * config/sparc/sparc.c (sparc_override_options,
+       sparc_initialize_trampoline, sparc64_initialize_trampoline,
+       sparc_use_dfa_pipeline_interface, sparc_use_sched_lookahead,
+       sparc_issue_rate): Likewise.
+       * config/sparc/sol2.h: Likewise.
+       * config/sparc/sol2-sld-64.h: Likewise.
+       * config/sparc/linux64.h: Likewise.
+
+       2002-03-22  Vladimir Makarov  <vmakarov@redhat.com>
+
+       * doc/md.texi: Add comments about usage the latency time for the
+       different dependencies and about case when two or more conditions
+       in different define_insn_reservations returns TRUE for an insn.
+
+       * doc/md.texi: Add reference for automaton based pipeline
+       description.
+
+       2002-03-04  Vladimir Makarov  <vmakarov@redhat.com>
+
+       * doc/passes.texi: Add missed information about genattrtab.
+
+       2002-03-01  Vladimir Makarov  <vmakarov@redhat.com>
+
+       * genautomata.c (output_automata_list_transition_code): Check
+       automata_list on NULL.
+
+       2002-02-28  Vladimir Makarov  <vmakarov@redhat.com>
+
+       * genautomata.c (output_insn_code_cases,
+       output_automata_list_min_issue_delay_code,
+       output_automata_list_transition_code,
+       output_automata_list_state_alts_code): Comment the functions.
+
+       2002-02-22  Vladimir Makarov  <vmakarov@redhat.com>
+
+       * genautomata.c (automata_list_el_t): New typedef.
+       (get_free_automata_list_el,free_automata_list_el,
+       free_automata_list, automata_list_hash, automata_list_eq_p,
+       initiate_automata_lists, automata_list_start, automata_list_add,
+       automata_list_finish, finish_automata_lists,
+       output_insn_code_cases, output_automata_list_min_issue_delay_code,
+       output_automata_list_transition_code,
+       output_automata_list_state_alts_code, add_automaton_state,
+       form_important_insn_automata_lists): New functions and prototypes.
+       (insn_reserv_decl): Add members important_automata_list and
+       processed_p.
+       (ainsn): Add members important_p.
+       (automata_list_el): New structure.
+       (first_free_automata_list_el, current_automata_list,
+       automata_list_table): New global variables.
+       (create_ainsns): Initiate member important_p.
+       (output_internal_min_issue_delay_func): Generate the switch and
+       call output_insn_code_cases.
+       (output_internal_trans_func, output_internal_state_alts_func):
+       Ditto.
+       (generate): Call initiate_automata_lists.
+       (automaton_states): New global variable.
+       (expand_automata): Call form_important_insn_automata_lists.
+       (write_automata): Call finish_automata_lists.
+
+       2002-02-21  Vladimir Makarov  <vmakarov@redhat.com>
+
+       * genautomata.c (add_excls, add_presence_absence): Check that
+       cpu units in the sets belong the same automaton.
+
+       * rtl.def (EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET): Add comment
+       about that cpu units in the sets belong the same automaton.
+
+       * doc/md.texi: Ditto.
+
+       2001-12-20  Naveen Sharma  <naveens@noida.hcltech.com>
+                   Nitin Gupta  <niting@noida.hcltech.com>
+
+       * config/sh/sh.c (sh_use_dfa_interface): New function.
+
+       (sh_issue_rate): New Function.
+       TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE: define.
+       TARGET_SCHED_ISSUE_RATE: define.
+
+       * config/sh/sh.md: Add DFA based pipeline description for SH4.
+
+       (define_attr insn_class): New attribute used for DFA
+        scheduling.
+       (define_insn cmpgtsi_t): Set attribute insn_class mt_group.
+       (cmpgesi_t,cmpgtusi_t,cmpgeusi_t,cmpeqsi_t,
+        cmpeqdi_t): Likewise.
+
+       (add,addc1,addsi3,subc,subc1,*subsi3_internal,
+        negc,negsi2,ashldi3_k,lshrdi3_k,ashrdi3_k): Set insn_class
+        ex_group.
+       (iorsi3,rotlsi3_1,rotlsi3_31,rotlsi3_16): Likewise.
+
+       2001-10-03  Vladimir Makarov  <vmakarov@toke.toronto.redhat.com>
+
+       * haifa-sched.c (queue_to_ready): Remove unnecessary condition for
+       break.
+
+       2001-10-03  Vladimir Makarov  <vmakarov@toke.toronto.redhat.com>
+
+       * genautomata.c (DFA_INSN_CODES_LENGTH_VARIABLE_NAME): New macro.
+       (output_dfa_insn_code_func): Expand dfa_insn_codes if it is
+       necessary.
+       (output_dfa_start_func): Initiate new variable insn_codes_length,
+       (write_automata): Output definition of the new variable.
+
+       2001-10-02  David S. Miller  <davem@redhat.com>
+
+       * haifa-sched.c (advance_one_cycle): New function.
+       (schedule_block): Use it.
+       (queue_to_ready): Use it, and also make sure to advance the DFA
+       state on all stall cycles, not just those where insn_queue links
+       are found.
+
+       2001-10-02  Richard Sandiford  <rsandifo@redhat.com>
+
+       * haifa-sched.c (max_issue): Remove last_p argument.  Only return
+       non-zero if the highest-priority instruction could be scheduled.
+       (choose_ready): Remove last argument from max_issue call.
+
+       2001-09-28  David S. Miller  <davem@redhat.com>
+
+       * config/sparc/sparc.c (sparc_use_sched_lookahead): Use 4 for
+       ultrasparc and 3 for other multi-issue sparcs.
+
+       2001-09-27  David S. Miller  <davem@redhat.com>
+
+       * config/sparc/sparc.md (cycle_display): New pattern.
+       * config/sparc/sparc.c (sparc_cycle_display): New.
+       (TARGET_SCHED_CYCLE_DISPLAY): Set it.
+
+       2001-09-25  David S. Miller  <davem@redhat.com>
+
+       Convert all of Sparc scheduling to DFA
+       * config/sparc/sparc.md: Kill all define_function_unit
+       directives and replace with DFA equivalent.
+       * config/sparc/sparc.c (ultrasparc_adjust_cost,
+       mark_ultrasparc_pipeline_state, ultra_cmove_results_ready_p,
+       ultra_fpmode_conflict_exists, ultra_find_type,
+       ultra_build_types_avail, ultra_flush_pipeline,
+       ultra_rescan_pipeline_state, ultrasparc_sched_reorder,
+       ultrasparc_variable_issue, ultrasparc_sched_init,
+       sparc_variable_issue, sparc_sched_reorder, ultra_code_from_mask,
+       ultra_schedule_insn, ultra_code_names, ultra_pipe_hist,
+       ultra_cur_hist, ultra_cycles_elapsed): Kill.
+       (sparc_use_dfa_pipeline_interface, sparc_use_sched_lookahead,
+       ultrasparc_store_bypass_p): New.
+       * config/sparc/sparc-protos.h (ultrasparc_store_bypass_p):
+       Declare.
+
+       2001-09-24  David S. Miller  <davem@redhat.com>
+
+       * haifa-sched.c (ready_remove): Fix thinko, we want to copy around
+       ready->vec[foo] not ready[foo].
+
+       2001-09-07  Vladimir Makarov  <vmakarov@redhat.com>
+
+       * doc/md.texi: Correct examples for define_insn_reservations
+       `mult' and `div'.
+
+       2001-09-07  Vladimir Makarov  <vmakarov@redhat.com>
+
+       * genautomata.c (create_automata): Print message about creation of
+       each automaton.
+       (generate): Remove printing meease about creation of
+       automata.
+
+       2001-09-05  David S. Miller  <davem@redhat.com>
+
+       * config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC.
+       * config/sparc/linux64.h: Likewise.
+
+       2001-08-31  Vladimir Makarov  <vmakarov@redhat.com>
+
+       * haifa-sched.c (insn_cost, schedule_insn, queue_to_ready,
+       schedule_block, sched_init, sched_finish): Add missed calls of
+       use_dfa_pipeline_interface.
+
+       * sched-rgn.c (init_ready_list, new_ready, debug_dependencies):
+       Ditto.
+
+       * sched-vis.c (get_visual_tbl_length): Ditto.
+
+       2001-08-27  Richard Henderson  <rth@redhat.com>
+
+       * genattr.c (main): Emit state_t even when not doing scheduling.
+
+       2001-08-27  Richard Henderson  <rth@redhat.com>
+
+       * genautomata.c (expand_automata): Always create a description.
+
+       2001-08-27  Vladimir Makarov  <vmakarov@touchme.toronto.redhat.com>
+
+       * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
+       PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
+       AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
+       RTL constructions.
+
+       * genattr.c (main): New variable num_insn_reservations.  Increase
+       it if there is DEFINE_INSN_RESERVATION.  Output automaton based
+       pipeline hazard recognizer interface.
+
+       * genattrtab.h: New file.
+
+       * genattrtab.c: Include genattrtab.h.
+       (attr_printf, check_attr_test, make_internal_attr,
+       make_numeric_value): Move protypes into genattrtab.h.  Define them
+       as external.
+       (num_dfa_decls): New global variable.
+       (main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
+       DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
+       DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
+       DEFINE_INSN_RESERVATION.  Call expand_automata and write_automata.
+
+       * genautomata.c: New file.
+
+       * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
+
+       * sched-int.h: (curr_state): Add the external definition for
+       automaton pipeline interface.
+       (haifa_insn_data): Add comments for members blockage and units.
+
+       * target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
+       TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
+       TARGET_SCHED_DFA_PRE_CYCLE_INSN,
+       TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
+       TARGET_SCHED_DFA_POST_CYCLE_INSN,
+       TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
+       TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
+       macros.
+       (TARGET_SCHED): Use the new macros.
+
+       * target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
+       dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
+       first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
+       dfa_bubble): New members in gcc_target.sched.
+
+       * haifa-sched.c (insert_schedule_bubbles_p): New variable.
+       (MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
+       (insn_queue): Redefine it as pointer to array.
+       (NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
+       INSN_QUEUE_SIZE.
+       (max_insn_queue_index_macro_value): New variable.
+       (curr_state, dfa_state_size, ready_try): New varaibles for
+       automaton interface.
+       (ready_element, ready_remove, max_issue): New function prototypes
+       for automaton interface.
+       (choose_ready): New function prototype.
+       (insn_unit, blockage_range): Add comments.
+       (unit_last_insn, unit_tick, unit_n_insns): Define them for case
+       FUNCTION_UNITS_SIZE == 0.
+       (insn_issue_delay, actual_hazard_this_instance, schedule_unit,
+       actual_hazard, potential_hazard): Add comments.
+       (insn_cost): Use cost -1 as undefined value.  Remove
+       LINK_COST_ZERO and LINK_COST_FREE.  Add new code for automaton
+       pipeline interface.
+       (ready_element, ready_remove): New functions for automaton
+       interface.
+       (schedule_insn): Add new code for automaton pipeline interface.
+       (queue_to_ready): Add new code for automaton pipeline interface.
+       Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
+       (debug_ready_list): Print newline when the queue is empty.
+       (max_issue): New function for automaton pipeline interface.
+       (choose_ready): New function.
+       (schedule_block): Add new code for automaton pipeline interface.
+       Print ready list before scheduling each insn.
+       (sched_init): Add new code for automaton pipeline interface.
+       Initiate insn cost by -1.
+       (sched_finish): Free the current automaton state and finalize
+       automaton pipeline interface.
+
+       * sched-rgn.c: Include target.h.
+       (init_ready_list, new_ready, debug_dependencies): Add new code for
+       automaton pipeline interface.
+
+       * sched-vis.c: Include target.h.
+       (get_visual_tbl_length): Add code for automaton interface.
+       (target_units, print_block_visualization):  Add comments.
+
+       * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
+       USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
+       (sched-rgn.o, sched-vis.o): Add new dependency file target.h.
+       (getruntime.o, genautomata.o): New entries.
+       (genattrtab.o): Add new dependency file genattrtab.h.
+       (genattrtab): Add new dependencies.  Link it with `libm.a'.
+       (getruntime.o, hashtab.o): New entries for canadian cross.
+
+       * doc/md.texi: Description of automaton based model.
+
+       * doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
+       Add comments.
+       (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
+       TARGET_SCHED_DFA_PRE_CYCLE_INSN,
+       TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
+       TARGET_SCHED_DFA_POST_CYCLE_INSN,
+       TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
+       TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
+       TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
+       hook descriptions.
+       (TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
+       MAX_DFA_ISSUE_RATE): New macro descriptions.
+
+       * doc/contrib.texi: Add dfa based scheduler contribution.
+
+       * doc/gcc.texi: Add more information about genattrtab.
+
+Mon Apr 29 17:19:10 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * reload1.c (eliminate_regs, case SUBREG): Fix typo in
+       adjust_address_nv call.
+
+2002-04-29  Janis Johnson  <janis187@us.ibm.com>
+
+       * doc/install.texi (Testing): Provide additional information, and
+       a stronger encouragement, for running the testsuites.
+
+2002-04-29  DJ Delorie  <dj@redhat.com>
+
+       * config/mips/mips.c (mips_parse_cpu): Warn if the CPU name is
+       given in upper case.
+
+2002-04-29  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       * fixinc/inclhack.def (solaris_widec): Include <wchar.h> in
+       Solaris 2 <widec.h> if missing.
+       * fixinc/fixincl.x: Regenerate.
+       * fixinc/tests/base/widec.h: New file.
+
+2002-04-29  Nick Clifton  <nickc@cambridge.redhat.com>
+
+       * toplev.c (f_options): Add "profile" switch so that
+       -fno-profile can be used to disable -p.
+
+2002-04-29  Bernd Schmidt  <bernds@redhat.com>
+
+       * c-common.c (type_for_mode): Add support for V2DFmode, V2DImode,
+       UV2DImode.
+       * tree.c (build_common_tree_nodes_2): Likewise.
+       * tree.h (enum tree_index): Likewise.
+       (V2DF_type_node, V2DI_type_node, unsigned_V2DI_type_node): Define.
+
+       * config/i386/i386.c (bdesc_comi, bdesc_2arg, bdesc_1arg): Add SSE2
+       entries.
+       (init_mmx_sse_builtins): Initialize SSE2 builtins.
+       (ix86_expand_builtin): Add support for SSE2 builtins.
+       * config/i386/i386.h (VALID_SSE2_REG_MODE): New macro.
+       (VALID_SSE_REG_MODE): Use it.
+       (VECTOR_MODE_SUPPORTED_P): Allow SSE2 modes here as well.
+       (enum ix86_builtins): Add SSE2 builtins.
+       * config/i386/i386.md (movv2df_internal, movv2df, movv8hi_internal,
+       movv8hi, movv16qi_internal, movv16qi, pushv2df, pushv8hi, pushv16qi,
+       addv2df3, vmaddv2df3, subv2df3, vmsubv2df3, mulv2df3, vmmulv2df3,
+       divv2df3, vmdivv2df3, smaxv2df3, vmsmaxv2df3, sminv2df3, vmsminv2df3,
+       sse2_anddf3, sse2_nanddf3, sse2_iordf3, sse2_xordf3, sqrtv2df2,
+       vmsqrtv2df2, maskcmpv2df3, maskncmpv2df3, vmmaskcmpv2df3,
+       vmmaskncmpv2df3, sse2_comi, sse2_ucomi, sse2_movmskpd, sse2_pmovmskb,
+       sse2_maskmovdqu, sse2_movntv2df, sse2_movntti, sse2_movntsi, cvtdq2ps,
+       cvtps2dq, cvttps2dq, cvtdq2pd, cvtpd2dq, cvttpd2dq, cvtpd2pi,
+       cvttpd2pi, cvtpi2pd, cvtsd2si, cvttsd2si, cvtsi2sd, cvtsd2ss,
+       cvtss2sd, cvtpd2ps, cvtps2pd, addv16qi3, addv8hi3, addv4si3, addv2di3,
+       ssaddv16qi3, ssaddv8hi3, usaddv16qi3, usaddv8hi3, subv16qi3, subv8hi3,
+       subv4si3, subv2di3, sssubv16qi3, sssubv8hi3, ussubv16qi3, ussubv8hi3,
+       mulv8hi3, smulv8hi3_highpart, umulv8hi3_highpart, sse2_umulsidi3,
+       sse2_umulv2siv2di3, sse2_pmaddwd, sse2_clrti, sse2_uavgv16qi3,
+       sse2_uavgv8hi3, sse2_psadbw, sse2_pinsrw, sse2_pextrw, sse2_pshufd,
+       sse2_pshuflw, sse2_pshufhw, eqv16qi3, eqv8hi3, eqv4si3, gtv16qi3,
+       gtv8hi3, gtv4si3, umaxv16qi3, smaxv8hi3, uminv16qi3, sminv8hi3,
+       ashrv8hi3, ashrv4si3, lshrv8hi3, lshrv4si3, sse2_lshrv2di3,
+       ashlv8hi3, ashlv4si3, sse2_ashlv2di3, sse2_ashlti3, sse2_lshrti3,
+       sse2_unpckhpd, sse2_unpcklpd, sse2_packsswb, sse2_packssdw,
+       sse2_packuswb, sse2_punpckhbw, sse2_punpckhwd, sse2_punpckhdq,
+       sse2_punpcklbw, sse2_punpcklwd, sse2_punpckldq, sse2_movapd,
+       sse2_movupd, sse2_movdqa, sse2_movdqu, sse2_movdq2q, sse2_movq2dq,
+       sse2_movhpd, sse2_movlpd, sse2_loadsd, sse2_movsd, sse2_storesd,
+       sse2_shufpd, sse2_clflush, sse2_mfence, mfence_insn, sse2_lfence,
+       lfence_insn): New patterns.
+       (sse2_andti3, sse2_nandti3, sse2_iorti3, sse2_xorti3): Renamed from
+       sse_andti3_sse2, sse_nandti3_sse2, sse_iorti3_sse2, sse_xorti3_sse2.
+
+Mon Apr 29 17:03:24 CEST 2002  Jan Hubicka  <jh@suse.cz>
+
+       * i386.md (sse_mov?fcc*): Revert patch of Mar 14th.
+
+2002-04-29  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+
+       * doc/contrib.texi (Contributors): Add Paolo Carlini and
+       Janis Johnson.
+       Update Richard Henderson, Jakub Jelinek, and Mark Mitchell.
+       Refer to Objective-C instead of ObjC, SPARC instead of sparc,
+       and CPU instead of cpu.
+
+Mon Apr 29 13:36:41 CEST 2002  Jan Hubicka  <jh@suse.cz>
+
+       * toplev.c (flag_if_conversion, flag_if_conversion2): New static
+       variables.
+       (lang_independent_options): Add -fif-conversion, -fif-conversion2
+       (rest_of_compilation): Do if conversion only when asked for.
+       (parse_options_and_default_flags): Set new variables to 1 for -O1
+       * invoke.texi (-fif-conversion, -fif-conversion2): Document.
+
+Mon Apr 29 13:02:50 CEST 2002  Jan Hubicka  <jh@suse.cz>
+
+       * i386.c (dbx64_register_map): Fix typo.
+
+Mon Apr 29 12:18:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
+
+       * predict.c (real_zero, real_one, real_almost_one, real_br_prob_base,
+       real_one_half, real_bb_freq_max): New static variables.
+       (debug_profile_bbauxs): Kill.
+       (process_note_predictions): Kill unused variable.
+       (block_info_def, edge_info_def): Use REAL_VALUE_TYPE instead of
+       volatile double.
+       (propagate_freq): Use REAL_ARITHMETICS.
+       (estimate_bb_frequencies): Likevise; init new static variables.
+       * Makefile.in (predict.o): Add dependency on real.h
+
+2002-04-28  David S. Miller  <davem@redhat.com>
+
+       PR target/6500
+       * config/sparc/sparc.md (prefetch): Emit properly for 32-bit vs.
+       64-bit TARGET_V9.  Do not use prefetch page, use prefetch for
+       several {reads,writes} instead.
+       * config/sparc/sparc.h (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES):
+       Define.
+
+2002-04-27  David S. Miller  <davem@redhat.com>
+
+       PR target/6494
+       * config/sparc/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Be mindful
+       of the stack bias.
+
+       * config/sparc/linux.h, config/sparc/linux64.h: Don't bother
+       including signal.h and sys/ucontext.h, not needed.
+
+2002-04-29  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * varasm.c (output_constant_def): Correct test for not calling
+       ENCODE_SECTION_INFO for INTEGER_CST.
+
+2002-04-29  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * cppexp.c (lex): Move some code to _cpp_parse_expr, but
+       keep most cases as function eval_token.
+       (eval_token): New function.
+       (_cpp_parse_expr): Read token here for improved diagnostics.
+       Don't use op_as_text.  Detect bad ':' here.
+       (reduce): Don't detect bad ':' here.
+       (op_as_text): Remove.
+       * cpphash.h (_cpp_test_assertion): Change prototype.
+       * cpplib.c (_cpp_test_assertion): Change prototype.
+
+2002-04-28  Richard Henderson  <rth@redhat.com>
+
+       PR c/5154
+       * ggc-common.c (ggc_mark_rtx_children_1): Rename from...
+       (ggc_mark_rtx_children): New.
+
+2002-04-28  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/6496
+       * config/sparc/sparc.md (call + jump 32-bit peepholes): Disable jump
+       after call peepholes for UltraSPARC.
+       (call + jump 64-bit peepholes): Remove.
+
+2002-04-28  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+
+       PR c/6497
+       * config/rs6000/rs6000.md (sCC patterns): Remove clobber and use
+       result as temporary value.
+
+2002-04-28  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/6396
+       * toplev.c (rest_of_compilation): Only run regrename and copy
+       propagation if optimizing.
+
+2002-04-28  Jakub Jelinek  <jakub@redhat.com>
+
+       PR optimization/6475
+       * reload1.c (alter_reg): Only call set_mem_expr if I is home pseudo
+       register of REGNO_DECL (i).
+       * Makefile.in (reload1.o): Add $(TREE_H).
+
+2002-04-28  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * cppexp.c (lex): Update to use state.skip_eval.
+       (struct op): Remove prio and flags members.
+       (FLAG_BITS, FLAG_MASK, PRIO_SHIFT, EXTRACT_PRIO, EXTRACT_FLAGS,
+       SHORT_CIRCUIT, RIGHT_ASSOC, ..._PRIO, op_to_prio): Remove.
+       (LEFT_ASSOC): New macro.
+       (optab): New table of operator priorities and flags.
+       (SHIFT): Update.
+       (_cpp_parse_expr): Clean up logic.  Return bool.  Use a
+       malloc-ed parser stack.
+       (reduce): New; reduce the operator stack.
+       (_cpp_expand_op_stack): Expand the operator stack as necessary.
+       * cpphash.h (struct op): Predeclare.
+       (struct cpp_reader): New members op_stack, op_limit.
+       (struct lexer_state): New member skip_eval.
+       (_cpp_parse_expr): Update.
+       (_cpp_expand_op_stack): New.
+       * cpplib.c (do_if): Update.
+       * cppinit.c (cpp_create_reader): Create op stack.
+       (cpp_destroy): And destroy it.
+       * cpplib.h (CPP_LAST_CPP_OP): Correct.
+       (TTYPE_TABLE): Correct.
+
 2002-04-28  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
 
        PR c/6343