OSDN Git Service

Fix ppc-darwin bootstrap failure.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 23735e6..37260d7 100644 (file)
@@ -1,3 +1,562 @@
+2004-09-06  James E Wilson  <wilson@specifixinc.com>
+
+       * emit-rtl.c (try_split): Check INSN_P before may_trap_p call.
+
+2004-09-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       * final.c (output_in_slot): Delete.
+       (final_scan_insn): Revert 2004-09-03 change.
+       (output_asm_insn): Likewise.
+       * config/sparc/sparc.c (output_return): Likewise.
+       (output_sibcall): Likewise.
+
+2004-09-06  Jan Hubicka  <jh@suse.cz>
+
+       * loop.c (loop_dump_aux): Do not print RTL when not available.
+       * tree-ssa-loop-ivopts.c (add_standard_iv_candidates): Do not use
+       frontend specific type nodes.
+       (produce_memory_decl_rtl): Break out from ...
+       (prepare_decl_rtl): ... here.  Handle ADDR_EXPR correctly.
+       (get_computation_at): Avoid random tree sharing.
+       (tree_ssa_iv_optimize): Verify tree sharing; dump loops.
+
+2004-09-06  Zack Weinberg  <zack@codesourcery.com>
+
+       * Makefile.in (rtl.o, bitmap.o): Correct dependencies, remove
+       unnecessary commands.
+
+2004-09-06  Mohan Embar  <gnustuff@thisiscool.com>
+
+       * Makefile.in (rtl.o): Remove -DGENERATOR_FILE.
+       (bitmap.o): Likewise.
+
+2004-09-06  Paolo Bonzini  <bonzini@gnu.org>
+
+       Unify the management of RTL and tree-level dump files.
+
+       * cfgexpand.c (tree_expand_cfg): Fix incorrect comment.
+       Don't print function name to the dump file, the pass manager
+       would do this for us. Add code from the top of
+       rest_of_compilation, up to the initial RTL dump.
+       * passes.c (rest_of_handle_jump): Call fixup_tail_calls and
+       close the DFI_sibling dump file.
+       (rest_of_compilation): Don't do that here.  Remove code up to the
+       initial RTL dump.
+       (init_optimization_passes): Remove.
+       (pass_rest_of_compilation): Change pass name to NULL.
+       * toplev.c (lang_dependent_init): Do not use an empty dump file prefix.
+       Do not call init_optimization_passes.
+       * toplev.h (init_optimization_passes): Remove.
+
+       * graph.c (print_rtl_graph_with_bb, clean_graph_dump_file,
+       finish_graph_dump_file): Remove SUFFIX parameter.
+       * graph.h (print_rtl_graph_with_bb, clean_graph_dump_file,
+       finish_graph_dump_file): Likewise.
+
+       * tree-pass.h (struct tree_opt_pass): Add `letter' field.
+       * cfgexpand.c (pass_expand): Adjust.
+       * gimple-low.c (pass_lower_cf, pass_remove_useless_vars): Adjust.
+       * passes.c (pass_rest_of_compilation): Adjust.
+       * predict.c (pass_profile): Adjust.
+       * tree-alias-common.c (pass_build_pta, pass_del_pta): Adjust.
+       * tree-cfg.c (pass_build_cfg, pass_remove_useless_stmts,
+       pass_split_crit_edges, pass_warn_function_return): Adjust.
+       * tree-complex.c (pass_lower_vector_ssa, pass_pre_expand): Adjust.
+       * tree-dfa.c (pass_referenced_vars): Adjust.
+       * tree-eh.c (pass_lower_eh): Adjust.
+       * tree-if-conv.c (pass_build_ssa): Adjust.
+       * tree-into-ssa.c (pass_build_ssa): Adjust.
+       * tree-mudflap.c (pass_mudflap_1, pass_mudflap_2): Adjust.
+       * tree-nomudflap.c (pass_mudflap_1, pass_mudflap_2): Adjust.
+       * tree-nrv.c (pass_nrv): Adjust.
+       * tree-optimize.c (pass_gimple, pass_all_optimizations,
+       pass_cleanup_cfg_post_optimizing, pass_free_datastructures,
+       pass_init_datastructures): Adjust.
+       * tree-outof-ssa.c (pass_del_ssa): Adjust.
+       * tree-profile.c (pass_tree_profile): Adjust.
+       * tree-sra.c (pass_sra): Adjust.
+       * tree-ssa-alias.c (pass_may_alias): Adjust.
+       * tree-ssa-ccp.c (pass_ccp, pass_fold_builtins): Adjust.
+       * tree-ssa-copyrename.c (pass_rename_ssa_copies): Adjust.
+       * tree-ssa-dce.c (pass_dce, pass_cd_dce): Adjust.
+       * tree-ssa-dom.c (pass_dominator): Adjust.
+       * tree-ssa-dse.c (pass_dse): Adjust.
+       * tree-ssa-forwprop.c (pass_forwprop): Adjust.
+       * tree-ssa-if-conv.c (pass_if_conversion): Adjust.
+       * tree-ssa-loop-ch.c (pass_ch): Adjust.
+       * tree-ssa-loop.c (pass_loop, pass_loop_init, pass_lim,
+       pass_loop_done, pass_complete_unroll, pass_iv_canon,
+       pass_iv_optimize, pass_vectorize): Adjust.
+       * tree-ssa-phiopt.c (pass_phiopt): Adjust.
+       * tree-ssa-pre.c (pass_pre, pass_fre): Adjust.
+       * tree-ssa.c (pass_redundant_phi, pass_early_warn_uninitialized,
+       pass_late_warn_uninnitialized): Adjust.
+       * tree-tailcall.c (pass_tail_recursion, pass_tail_calls): Adjust.
+
+       * Makefile.in (tree-dump.o): Add new dependencies.
+       * cgraph.c (cgraph_remove_node): TDF_all -> TDF_tree_all.
+       * cgraphunit.c (cgraph_preserve_function_body_p, cgraph_optimize):
+       Likewise.
+       * toplev.c (dump_file_name): New.
+       * tree-dump.c (dump_enable_all): Add LETTER parameter.
+       (struct dump_file_info): Add NUM and LETTER fields.
+       (dump_files): Adjust and add RTL dump files.
+       (dump_register): Add NUM and LETTER fields.
+       (get_dump_file_name, dump_initialized_p, enable_rtl_dump_file): New.
+       (dump_begin): Use get_dump_file_name.
+       (dump_switch_p_1): Adjust call to dump_enable_all.
+       * tree-dump.h (dump_register): Adjust prototype.
+       * tree-optimize.c (register_one_dump_file): Take dump file index.
+       Support flags for RTL dumps.
+       (register_dump_files): Fill in NUM field of struct dump_file_info.
+       Track properties both when the gate is executed and when it is not.
+       (execute_todo): Dump RTL.  Add PROPERTIES parameter.
+       (execute_one_pass): Pass properties to execute_todo.  Handle VCG
+       dumps of RTL.
+       * tree-pass.h (dump_file_name): New.
+       * tree.h (TDF_TREE, TDF_RTL, get_dump_file_name, dump_initialized_p):
+       New.
+
+       * Makefile.in (passes.o): Add new dependencies.
+       * passes.c (struct dump_file_info, enum dump_file_index,
+       dump_file_tbl, init_optimization_passes): Remove.
+       (open_dump_file, close_dump_file): Use tree-dumping infrastructure.
+       (rest_of_handle_new_regalloc, rest_of_handle_old_regalloc): Use
+       dump_enabled_p.
+       (finish_optimization_passes): Update finish_graph_dump_file loop.
+       (enable_rtl_dump_file): Remove.
+       * tree-dump.c (dump_files): Adjust and add RTL dump files.
+       (enable_rtl_dump_file): Add here.
+       * tree.h (enum tree_dump_index): Add RTL dump file indices.
+       * doc/invoke.texi (Debugging options): Document new RTL debugging
+       options.  Update.
+
+2004-09-05  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * c-common.c, c-decl.c, combine.c, defaults.h, fold-const.c,
+       gimplify.c, gthr-nks.h, hooks.c, lambda-code.c, lambda-mat.c,
+       stor-layout.c, target.h, tree-cfg.c, tree-chrec.c,
+       tree-if-conv.c, tree-inline.c, tree-into-ssa.c,
+       tree-mudflap.c, tree-optimize.c, tree-scalar-evolution.c,
+       tree-ssa-alias.c, tree-ssa-ccp.c, tree-ssa-dce.c,
+       tree-ssa-pre.c, tree-vectorizer.c, tree-vectorizer.h, tree.h,
+       vec.h: Fix comment formatting.
+
+2004-09-05  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * c-common.c, cfgexpand.c, cgraphunit.c, defaults.h,
+       et-forest.c, expr.c, gimplify.c, global.c, gthr-lynx.h,
+       hard-reg-set.h, modulo-sched.c, optabs.c, postreload-gcse.c,
+       tree-data-ref.c, tree-flow.h, tree-if-conv.c, tree-inline.c,
+       tree-sra.c, tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c,
+       tree-ssa-loop-niter.c, tree-ssa-operands.c,
+       tree-ssa-operands.h, tree-ssa-propagate.c,
+       tree-ssa-propagate.h, tree-ssa-threadupdate.c, value-prof.c,
+       vec.c, vec.h: Fix comment typos.  Follow spelling conventions.
+
+2004-09-05  Diego Novillo  <dnovillo@redhat.com>
+
+       * tree-if-conv.c (gate_tree_if_conversion): Enable only if the
+       vectorizer is enabled.
+
+2004-09-05  Andreas Jaeger  <aj@suse.de>
+
+       * tree-if-conv.c: Spell check comments and clean up whitespace.
+
+2004-09-05  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+
+       * tree-ssa-loop-ivopts.c: New file.
+       * Makefile.in (tree-ssa-loop-ivopts.c): Add.
+       * cfgloop.h (target_avail_regs, target_res_regs, target_small_cost,
+       target_pres_cost, target_spill_cost): Declare.
+       * cfgloopanal.c (avail_regs, res_regs, small_cost, pres_cost,
+       spill_cost): Renamed to ...
+       (target_avail_regs, target_res_regs, target_small_cost,
+       target_pres_cost, target_spill_cost): ... and exported.
+       (init_set_costs, global_cost_for_size): Work with renamed variables.
+       * common.opt (flag_ivopts): New flag.
+       * expr.c (expand_expr_real_1): Handle SSA_NAME case.  Handle
+       REF_ORIGINAL.
+       * gimplify.c (struct gimplify_ctx): Add into_ssa field.
+       (internal_get_tmp_var, gimplify_modify_expr, gimplify_expr): Support
+       generating SSA form.
+       (force_gimple_operand): New function.
+       * timevar.def (TV_TREE_LOOP_IVOPTS): New timevar.
+       * tree-cfg.c (stmt_bsi): New function.
+       * params.def (PARAM_IV_CONSIDER_ALL_CANDIDATES_BOUND,
+       PARAM_IV_MAX_CONSIDERED_USES): New.
+       * tree-flow.h (stmt_bsi, tree_ssa_iv_optimize, split_loop_exit_edge,
+       bsi_insert_on_edge_immediate_loop. standard_iv_increment_position,
+       ip_end_pos, ip_normal_pos, force_gimple_operand): Declare.
+       * tree-gimple.c (is_gimple_formal_tmp_var): Accept ssa names.
+       * tree-nested.c (build_addr): Export.
+       * tree-optimize.c (init_tree_optimization_passes): Add
+       pass_iv_optimize.
+       * tree-pass.h (pass_iv_optimize): Declare.
+       * tree-ssa-loop-im.c (for_each_index): Handle REALPART_EXPR and
+       IMAGPART_EXPR.
+       * tree-ssa-loop-manip.c (create_iv): Force the base to be acceptable
+       as a phi node argument.
+       (split_loop_exit_edge, bsi_insert_on_edge_immediate_loop,
+       ip_end_pos, ip_normal_pos, standard_iv_increment_position): New
+       functions.
+       * tree-ssa-loop-niter.c (zero_p, unsigned_type_for): Export.
+       * tree-ssa-loop.c (tree_ssa_loop_ivopts, gate_tree_ssa_loop_ivopts,
+       pass_iv_optimize): New pass.
+       * tree-ssa-operands.c (get_indirect_ref_operands): Handle REF_ORIGINAL.
+       * tree-ssanames.c (release_ssa_name): Allow calling with var = NULL.
+       * tree.c (build_int_cst_type, cst_and_fits_in_hwi): New functions.
+       * tree.h (REF_ORIGINAL): New macro.
+       (build_int_cst_type, unsigned_type_for, zero_p,
+       cst_and_fits_in_hwi, build_addr): Declare.
+       * doc/invoke.texi (-fivopts): Document.
+       (PARAM_IV_CONSIDER_ALL_CANDIDATES_BOUND,
+       PARAM_IV_MAX_CONSIDERED_USES): Document.
+       * doc/passes.texi: Document induction variable optimizations pass.
+
+2004-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * builtin-attrs.def (ATTR_NOTHROW_SENTINEL_1): New.
+       * builtins.def (BUILT_IN_EXECLE): Set ATTR_NOTHROW_SENTINEL_1.
+       * c-common.c (c_common_attribute_table): Accept parameters to
+       sentinel attribute.
+       (check_function_sentinel, handle_sentinel_attribute): Likewise.
+       * doc/extend.texi: Update accordingly.
+
+2004-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * builtin-attrs.def (ATTR_SENTINEL, ATTR_SENTINEL_NOTHROW_LIST):
+       New.
+       * builtins.def (BUILT_IN_EXECL, BUILT_IN_EXECLP): Add `sentinel'
+       attribute.
+       * c-common.c (handle_sentinel_attribute, check_function_sentinel):
+       New functions.
+       (c_common_attribute_table): Add `sentinel' attribute.
+       (check_function_arguments): Handle `sentinel' attribute.
+       * doc/extend.texi: Document `sentinel' attribute.
+
+2004-09-04  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * configure: Regenerated.
+
+2004-09-04  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * gimplify.c (internal_get_tmp_var): Remove unused var CLASS.
+
+       * tree.c (save_expr): No longer TREE_READONLY.
+
+2004-09-04  Jan Hubicka  <jh@suse.cz>
+
+       * passes.c (rest_of_clean_state):  Fix merge conflict made during
+       commiting the patch.
+
+2004-09-04  Jan Hubicka  <jh@suse.cz>
+
+       * passes.c (rest_of_clean_state):  Decompose the instruction stream.
+
+2004-09-04  Richard Sandiford  <rsandifo@redhat.com>
+
+       * doc/md.texi (shift patterns): New anchor.  Add reference to
+       TARGET_SHIFT_TRUNCATION_MASK.
+       * doc/tm.texi (TARGET_SHIFT_TRUNCATION_MASK): Document.
+       * target.h (shift_truncation_mask): New target hook.
+       * targhook.h (default_shift_truncation_mask): Declare.
+       * targhook.c (default_shift_truncation_mask): Define.
+       * target-def.h (TARGET_SHIFT_TRUNCATION_MASK): Define.
+       (TARGET_INITIALIZER): Include it.
+       * simplify-rtx.c (simplify_binary_operation): Combine ASHIFT, ASHIFTRT
+       and LSHIFTRT cases.  Truncate arg1 if SHIFT_COUNT_TRUNCATED, otherwise
+       reject all out-of-range values.  Fix sign-extension code for modes
+       whose width is smaller than HOST_BITS_PER_WIDE_INT.
+       * optabs.c (simplify_expand_binop, force_expand_binop): New functions.
+       (expand_superword_shift, expand_subword_shift): Likewise.
+       (expand_doubleword_shift_condmove, expand_doubleword_shift): Likewise.
+       (expand_binop): Use them to implement double-word shifts.
+       * config/arm/arm.c (arm_shift_truncation_mask): New function.
+       (TARGET_SHIFT_TRUNCATION_MASK): Define.
+
+2004-09-04  Jan Hubicka  <jh@suse.cz>
+
+       * tree.c (iterate_hash_expr): Optimize, avoid use of iterative_hash_object.
+       (mix): New macro copied from hashtab.c
+       (iterative_hash_hashval_t, iterative_hash_pointer,
+       iterative_hash_host_wide_int): New functions based on hashtab.c
+       implementation.
+
+2004-09-04  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.md (mask): New mode attribute.
+       (zero_extendsidi2): Add memory alternative.
+       (*zero_extendsidi2_mem): Delete.
+       (zero_extend[qh]i[sd]i2): Redefine using :GPR and :SHORT.  Use
+       memory_operand in the TARGET_MIPS16 check.
+       (*zero_extend[qh]i[sd]i2{,_mips16}): Name previously unnamed patterns.
+       Redefine using :GPR and :SHORT.
+       (zero_extendqihi2): Use memory_operand in the TARGET_MIPS16 check.
+
+2004-09-04  Uros Bizjak  <uros@kss-loka.si>
+
+       * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_RINT{,F,L}
+       using rint_optab.
+       (expand_builtin): Expand BUILT_IN_RINT{,F,L} using
+       expand_builtin_mathfn.
+       * genopinit.c (optabs): Rename trunc_optab to btrunc_optab. Use
+       btrunc?f patterns for btrunc_optab. Implement rint_optab using
+       rint?f patterns.
+       * optabs.c (init_optabs): Initialize rint_optab.
+       * optabs.h (enum optab_index): Rename OTI_trunc to OTI_btrunc.
+       Add new OTI_rint.
+       (btrunc_optab): Rename macro from trunc_optab.
+       (rint_optab): Define corresponding macro.
+
+       * reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_FRNDINT_FLOOR,
+       UNSPEC_FRNDINT_CEIL, UNSPEC_FRNDINT_TRUNC, UNSPEC_FRNDINT_MASK_PM.
+
+       * config/i386/i386-protos.h (emit_i387_cw_initialization):
+       Change prototype. Add new int parameter.
+       * config/i386/i386.c (emit_i387_cw_initialization):
+       Handle new rounding modes.
+
+       * config/i386/i386.h (enum fp_cw_mode): Delete.
+       (MODE_NEEDED): Handle new rounding modes.
+       (EMIT_MODE_SET): Change condition to handle new rounding modes.
+
+       * config/i386/i386.md (UNSPEC_FRNDINT_FLOOR, UNSPEC_FRNDINT_CEIL,
+       UNSPEC_FRNDINT_TRUNC, UNSPEC_FRNDINT_MASK_PM): New unspecs to
+       represent different rounding modes of frndint insn.
+       (type): Add frndint type.
+       (i387, length, memory): Handle this type.
+       (i387_cw): New attribute definition.
+       (*fix_truncdi_1, fix_truncdi_nomemory, fix_truncdi_memory,
+       *fix_truncsi_1, fix_truncsi_nomemory, fix_truncsi_memory,
+       *fix_trunchi_1, fix_trunchi_nomemory, fix_trunchi_memory):
+       Add "i387_cw" attribute defined to "trunc".
+       (x86_fnstcw_1): Remove comment.
+       (*frndintxf2): Rename insn definition to frndintxf2. Move
+       insn definition near rint?f2 expanders.
+       (rintdf2, rintsf2, rintxf2): New expanders to implement rint,
+       rintf and rintl built-ins as inline x87 intrinsics.
+       (frndintxf2_floor): New pattern to implement floor rounding
+       mode with frndint x87 instruction.
+       (floordf2, floorsf2, floorxf2): New expanders to implement floor,
+       floorf and floorl built-ins as inline x87 intrinsics.
+       (frndintxf2_ceil): New pattern to implement ceil rounding
+       mode with frndint x87 instruction.
+       (ceildf2, ceilsf2, ceilxf2): New expanders to implement ceil,
+       ceilf and ceill built-ins as inline x87 intrinsics.
+       (frndintxf2_trunc): New pattern to implement trunc rounding
+       mode with frndint x87 instruction.
+       (btruncdf2, btruncsf2, btruncxf2): New expanders to implement trunc,
+       truncf and truncl built-ins as inline x87 intrinsics.
+       (frndintxf2_mask_pm): New pattern to implement rounding
+       mode with exceptions with frndint x87 instruction.
+       (nearbyintdf2, nearbyintsf2, nearbyintxf2): New expanders to
+       implement nearbyint, nearbyintf and nearbyintl built-ins as
+       inline x87 intrinsics.
+
+2004-09-04  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.md (SHORT): New mode macro.
+       (size): New mode attribute.
+       (extend[qh]i[sd]i2): Redefine using :GPR and :SHORT.
+       (*extend[qh]i[sd]i2): New define_insn_and_split, combining previous
+       *extend[qh]i[sd]i2 and *extend[qh]i[sd]i2_mem patterns.  Use only if
+       !ISA_HAS_SEB_SEH.
+       (*extend[qh]i[sd]i2_se[bh]): New pattern, combining previous
+       *extend[qh]isi2_hw patterns and extending them to di.
+       (extendqihi2): Implement as define_insn_and_split that produces
+       extendqisi2 after reload.
+
+2004-09-03  Devang Patel  <dpatel@apple.com>
+
+       * Makefile.in (OBJS-common): Add tree-if-conv.o
+       (tree-if-conv.o): New rule.
+       * cfgloop.c (flow_loop_exit_edges_find): Set EDGE_LOOP_EXIT flag.
+       (get_loop_body_in_bfs_order): New.
+       * cfgloop.h (get_loop_body_in_bfs_order): New.
+       * tree-flow.h (enum move_pos): Move here from ..
+       * tree-ssa-loop-im.c (enum move_pos): here.
+       (movement_possibility): Make externally visible.
+       * tree-optimize.c (init_tree_optimization_passes): New entry for
+       if conversion pass.
+       * tree-pass.h (pass_if_conversion): New.
+       * tree-ssa-operands.c (get_expr_operands): Handle COND_EXPR.
+       * tree-if-conv.c: New file.
+       * doc/passes.texi: Document tree if-conversion pass.
+       * doc/tree-ssa.texi: Same.
+
+2004-09-03  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/14925:
+       Makefile.in (LIB2ADDEHSTATIC): New.
+       (LIB2ADDEHSHARED): New.
+       (LIBUNWIND): New.
+       (LIBUNWINDDEP): New.
+       (SHLIBUNWIND_LINK): New.
+       (SHLIBUNWIND_INSTALL): New.
+       (libgcc.mk): Pass LIB2ADDEHSTATIC, LIB2ADDEHSHARED, LIBUNWIND,
+       LIBUNWINDDEP, SHLIBUNWIND_LINK and SHLIBUNWIND_INSTALL.
+       (clean): Remove libunwind*
+       (stage1-start): Remove and copy stage1/libunwind*.
+       (stage2-start): Remove and copy stage2/libunwind*.
+       (stage3-start): Remove and copy stage3/libunwind*.
+       (stage4-start): Remove and copy stage4/libunwind*.
+       (stageprofile-start): Remove and copy stageprofile/libunwind*.
+       (stagefeedback-start): Remove and copy stagefeedback/libunwind*.
+
+       * config.gcc (ia64*-*-linux*): Always add t-libunwind to
+       tmake_file. Add t-libunwind-elf and ia64/t-glibc-libunwind to
+       tmake_file if --with-system-libunwind isn't used.
+
+       * config/ia64/t-glibc-libunwind: New file.
+       * config/t-libunwind-elf: Likewise.
+       * unwind-compat.c: Likewise.
+       * unwind-compat.h: Likewise.
+       * unwind-dw2-fde-compat.c: Likewise.
+
+       * config/ia64/t-glibc (LIB2ADDEH): Updated.
+       * config/ia64/t-hpux (T_CFLAGS): Add -DUSE_LIBUNWIND_EXCEPTIONS.
+
+       * config/ia64/unwind-ia64.c: Include "unwind-compat.h". Define
+       aliases if needed.
+       * unwind-dw2-fde-glibc.c: Likewise.
+       * unwind-dw2.c: Likewise.
+
+       * config/t-libunwind (LIB2ADDEH): Updated.
+       (LIB2ADDEHSTATIC): New.
+       (T_CFLAGS): Add -DUSE_LIBUNWIND_EXCEPTIONS.
+       (TARGET_LIBGCC2_CFLAGS): Set to -DUSE_GAS_SYMVER.
+
+       * configure.ac: Change --enable-libunwind-exceptions to
+       --with-system-libunwind. Don't define USE_LIBUNWIND_EXCEPTIONS.
+       * configure: Regenerated.
+       * config.in: Updated.
+
+       * doc/install.texi (ia64-*-linux): Require libunwind 0.98 or
+       above and mention --with-system-libunwind.
+       (ia64-*-hpux*): Mention --enable-libunwind-exceptions is
+       removed in gcc 3.4.3 and later.
+
+       * gcc.c (init_spec): Add -lunwind to -lgcc_s if
+       USE_LIBUNWIND_EXCEPTIONS is defined.
+
+       * mklibgcc.in: Support libunwind.
+
+2004-09-03  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/i386/i386.c (x86_branch_hints): Remove m_PENT4 and
+       m_NOCONA.
+
+2004-09-03  Richard Henderson  <rth@redhat.com>
+
+       PR middle-end/9997
+       * cfgexpand.c (LOCAL_ALIGNMENT): Provide default.
+       (STACK_ALIGNMENT_NEEDED, FRAME_GROWS_DOWNWARD): Likewise.
+       (struct stack_var, EOC, stack_vars, stack_vars_alloc, stack_vars_num,
+       stack_vars_sorted, stack_vars_conflict, stack_vars_conflict_alloc,
+       frame_phase, get_decl_align_unit, add_stack_var, triangular_index,
+       resize_stack_vars_conflict, add_stack_var_conflict,
+       stack_var_conflict_p, add_alias_set_conflicts, stack_var_size_cmp,
+       union_stack_vars, partition_stack_vars, dump_stack_var_partition,
+       expand_one_stack_var_at, expand_stack_vars, expand_one_stack_var,
+       expand_one_static_var, expand_one_hard_reg_var,
+       expand_one_register_var, expand_one_error_var, defer_stack_allocation,
+       expand_one_var, expand_used_vars_for_block, clear_tree_used): New.
+       (expand_used_vars): Rewrite.
+       * Makefile.in (cfgexpand.o): Update dependencies.
+
+2004-09-04  Jan Hubicka  <jh@suse.cz>
+
+       * cfg.c (free_edge): Use ggc_free.
+       (expunge_block): Use ggc_free.
+       * passes.c (rest_of_clean_state): Free after compilation.
+       * tree-ssa.c (delete_tree_ssa): Free annotations; call release_defs
+       * tree-ssanames.c (release_defs): Ignore non-SSA_NAME arguments.
+
+2004-09-03  James E Wilson  <wilson@specifixinc.com>
+
+       * tree-ssa-alias.c (may_be_aliased): Move TREE_STATIC check after
+       DECL_EXTERNAL check.
+
+2004-09-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       * final.c (output_in_slot): New global variable.
+       (final_scan_insn): Add new state '2' to the 'nopeepholes' parameter.
+       Pass 2 as 'nopeepholes' to self for insns in a SEQUENCE.  Set
+       'output_in_slot' before invoking output_asm_insn.
+       (output_asm_insn): Add a space after the tab if 'output_in_slot'
+       is set.
+       * config/sparc/sparc.c (output_return): Pass 2 as 'nopeepholes' to
+       final_scan_insn.
+       (output_sibcall): Likewise.
+
+2004-09-03  Jan Hubicka  <jh@suse.cz>
+
+       * tree-ssa-operands.c (fini_ssa_operands): ggc_free unused arrays.
+       * tree-ssanames (init_ssanames): Likewise.
+
+2004-09-03  Ziemowit Laski  <zlaski@apple.com>
+
+       * stub-objc.c (objc_is_id, objc_declare_alias, objc_declare_class,
+       objc_declare_protocols, objc_start_protocol,
+       objc_start_class_interface, objc_start_category_interface,
+       objc_continue_interface, objc_finish_interface,
+       objc_add_instance_variable, objc_set_visibility, objc_set_method_type,
+       objc_start_class_implementation, objc_start_category_implementation,
+       objc_continue_implementation, objc_finish_implementation,
+       objc_add_method_declaration, objc_start_method_definition,
+       objc_finish_method_definition, objc_build_keyword_decl,
+       objc_build_method_signature, objc_build_encode_expr,
+       objc_build_protocol_expr, objc_build_selector_expr,
+       objc_build_message_expr, objc_build_string_object,
+       objc_get_class_reference, objc_get_protocol_qualified_type,
+       objc_static_init_needed_p, objc_generate_static_init_call): New stubs.
+
+2004-09-03  James E Wilson  <wilson@specifixinc.com>
+
+       * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Add __mips3d.
+
+       * config/mips/generic.md (generic_frecip_fsqrt_step): New.
+       * config/mips/mips-ps-3d.md (mips_rsqrt1_<fmt>): Use frsqrt1 type.
+       (mips_rsqrt2_<fmt>): Use frsqrt2 type.
+       (mips_recip1_<fmt>): Use frdiv1 type.
+       (mips_recip2_<fmt>): Use frdiv2 type.
+       * config/mips/mips.md (type): Add frdiv1, frdiv2, frsqrt1, frsqrt2.
+       * config/mips/sb1.md (ir_sb1_fpu_2pipes, ir_sb1_fpu_1pipe): Add frdiv1
+       and frsqrt1.
+       (ir_sb1_fpu_step2_2pipes, ir_sb1_fpu_step2_1pipe): New.
+
+2004-09-03  Daniel Jacobowitz  <dan@debian.org>
+
+       * reload.c (find_reloads): Swap operand_loc pointers for
+       find_dummy_reload if we have swapped two operands.
+
+2004-09-03  Hans-Peter Nilsson  <hp@axis.com>
+
+       * config/cris/cris.h (ASM_OUTPUT_CASE_END): Use prev_nonnote_insn
+       to get the tablejump-insn before the jump-table label.
+
+2004-09-03  Ziemowit Laski  <zlaski@apple.com>
+
+       * c-common.h (objc_is_id, objc_declare_alias, objc_declare_class,
+       objc_declare_protocols, objc_build_message_expr,
+       objc_finish_message_expr, objc_build_selector_expr,
+       objc_build_protocol_expr, objc_build_encode_expr,
+       objc_build_string_object, objc_get_protocol_qualified_type,
+       objc_get_class_reference, objc_get_class_ivars,
+       objc_start_class_interface, objc_start_category_interface,
+       objc_start_protocol, objc_continue_interface, objc_finish_interface,
+       objc_start_class_implementation, objc_start_category_implementation,
+       objc_continue_implementation, objc_finish_implementation,
+       objc_set_visibility, objc_set_method_type, objc_build_method_signature,
+       objc_add_method_declaration, objc_start_method_definition,
+       objc_finish_method_definition, objc_add_instance_variable,
+       objc_build_keyword_decl, objc_build_throw_stmt, objc_begin_try_stmt,
+       objc_finish_try_stmt, objc_begin_catch_clause,
+       objc_finish_catch_clause, objc_build_finally_clause,
+       objc_build_synchronized, objc_static_init_needed_p,
+       objc_generate_static_init_call): New prototypes.
+
 2004-09-03  Steve Ellcey  <sje@cup.hp.com>
 
        * config/ia64/ia64.c (ia64_function_arg): Use PARALLEL even if there
 
 2004-09-03  Jan Beulich  <jbeulich@novell.com>
 
+       * config.gcc: Resurrect NetWare as a target. Handle special case of
+       Novell linker to be used (specified through --with-ld=) and threading
+       model of either Posix (default) or NKS.
+       * config/i386/i386.c (ix86_return_pops_args): Conditionalize popping
+       of incoming hidden argument on KEEP_AGGREGATE_RETURN_POINTER.
+       * config/i386/i386.h (KEEP_AGGREGATE_RETURN_POINTER): New.
+       * config/i386/netware.c, config/i386/netware.h: New.
+       * config/i386/nwld.c, config/i386/nwld.h: New.
+       * config/i386/netware-crt0.c: New.
+       * config/i386/netware-libgcc.c: New.
+       * config/i386/netware-libgcc.def: New.
+       * config/i386/netware-libgcc.exp: New.
+       * config/i386/t-netware, config/i386/t-nwld: New.
+       * gthr-nks.h: New.
+       * doc/install.texi: Document NKS threading model.
+
+2004-09-03  Jan Beulich  <jbeulich@novell.com>
+
        PR c/7054
        * defaults.h (TARGET_DEFAULT_PACK_STRUCT): Provide default.
        * tree.h (initial_max_fld_align): Declare
 2004-09-03  Devang Patel  <dpatel@apple.com>
 
        * dwarf2out.c (gen_field_die). Equate decl number to die.
-       
+
 2004-09-03  Vladimir Makarov  <vmakarov@redhat.com>
 
        PR target/15832
        * tsystem.h: Declare memcpy and memset when inhibit_libc.
 
 2004-09-02  Roman Zippel  <zippel@linux-m68k.org>
+
        * combine.c (try_combine): Delay modifying of insns which cannot
        be easily undone.
 
        TARGET_BPABI_CPP_BUILTINS.
 
 2004-09-02  Roman Zippel  <zippel@linux-m68k.org>
+
        * combine.c (distribute_notes): Don't add REG_LABEL to jump insn.
 
 2004-09-02  Eric Christopher  <echristo@redhat.com>
 
 2004-08-30  Nathan Sidwell  <nathan@codesourcery.com>
 
+       * alias.c (mems_in_disjoint_alias_sets_p, record_alias_subset,
+       record_set, rtx_equal_for_memref_p, init_alias_analysis): Use
+       gcc_assert and gcc_unreachable instead of abort.
+       * alloc-pool.c (abort, fancy_abort): Remove.
+       (create_alloc_pool, free_alloc_pool, pool_alloc, pool_free): Use
+       gcc_assert or gcc_unreachable.
+       * attribs.c (init_attributes, decl_attributes): Likewise.
+       * bb-reorder.c (FREE, find_traces_1_round, copy_bb,
+       mark_bb_for_unlikely_executed_section,
+       add_labels_and_missing_jumps, fix_crossing_conditional_branches,
+       fix_crossing_unconditional_branches):  Likewise.
+       * bitmap.c (bitmap_first_set_bit, bitmap_last_set_bit,
+       bitmap_operation):  Likewise.
+       * bt-load.c (insn_sets_btr_p, augment_live_range,
+       move_btr_def):  Likewise.
+       * builtins.c (c_readstr, expand_builtin_longjmp, apply_args_size,
+       apply_result_size, expand_builtin_apply, expand_builtin_mathfn,
+       expand_builtin_mathfn_2, expand_builtin_mathfn_3,
+       builtin_memcpy_read_str, expand_movstr, expand_builtin_stpcpy,
+       expand_builtin_memcmp, expand_builtin_args_info,
+       std_gimplify_va_arg_expr, expand_builtin_unop,
+       expand_builtin_fputs, expand_builtin_profile_func,
+       expand_builtin_fork_or_exec, fold_builtin_bitop,
+       fold_builtin_classify, fold_builtin_fputs): Likewise.
+
+2004-08-30  Nathan Sidwell  <nathan@codesourcery.com>
+
        * gcov-io.c (GCOV_CHECK): Use gcc_assert when available.
        * gcov.c (abort): Remove undef.
 
        (mover2side, moverside, movemside, movei, op3, andu): Replace
        live define_peephole:s with define_peephole2 near-equivalents.
        Delete the rest.
-       ("*mov_sidesisf_biap"): Rename from "*mov_sidesi_biap".  Match all
+       ("*mov_sidesisf_biap"): Rename from "*mov_sidesi_biap".  Match all
        word-size modes.
        ("*mov_sidesisf", "*mov_sidesisf_biap_mem", "*mov_sidesisf_mem"):
        Similar for "*mov_sidesi", "*mov_sidesi_biap_mem" and