+2004-09-08 Jie Zhang <zhangjie@magima.com.cn>
+
+ * tree-ssa-alias.c (compute_flow_insensitive_aliasing): If type
+ memory tag is call clobbered, so are its aliases.
+ (group_aliases): When two memory tags being grouped, if one is
+ call clobbered, so are the other and its aliases.
+ (add_may_alias): Remove call-clobbering stuff.
+ (replace_may_alias): Likewise.
+ (merge_pointed_to_info): Merge pt_global_mem
+
+2004-09-08 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.c (cgraph_remove_node): Free DECL_INITIAL field of node.
+ * cgraphunit.c (verify_cgraph): Don't verify on syntax errors.
+ (cgraph_expand_function): Remove stale cgraph edges of currently
+ compiled function; fix non-unit-at-a-time code copying function
+ node for later reuse.
+
+2004-09-08 Nathan Sidwell <nathan@codesourcery.com>
+
+ * vec.c (vec_p_reserve, vec_o_reserve): Rename to ...
+ (vec_gc_p_reserve, vec_gc_o_reserve): ... here. Clone to
+ (vec_heap_p_reserve, vec_heap_o_reserve): ... here, adjust.
+ (vec_gc_free, vec_heap_free): New.
+ * vec.h (DEF_VEC_GC_P, DEF_VEC_MALLOC_P): New.
+ (DEF_VEC_P): Add allocator argument. Adjust.
+ (DEF_VEC_GC_O, DEF_VEC_MALLOC_O): New.
+ (DEF_VEC_O): Add allocator argument. Adjust.
+ (VEC(free)): New.
+
+ * tree.h (tree): Define a GC'd vector.
+ * lamba-code.c (lambda_loop): Likewise.
+ * value-prof.h (histogram_value): Likewise.
+
+2004-09-08 Nathan Sidwell <nathan@codesourcery.com>
+
+ * emit-rtl.c (immed_double_const): Use gcc_assert and gcc_unreachable.
+ (gen_rtx_SUBREG, gen_reg_rtx, mark_user_reg, subreg_hard_regno,
+ gen_lowpart_common, gen_highpart, gen_highpart_mode,
+ subreg_highpart_offset, operand_subword, operand_subword_force,
+ mem_expr_equal_p, set_mem_attributes_minus_bitpos,
+ set_mem_alias_set, change_address_1, verify_rtx_sharing,
+ copy_most_rtx, set_first_insn, set_last_insn, prev_cc0_setter,
+ try_split, add_insn_after, add_insn_before, remove_insn,
+ remove_unnecessary_notes, emit_insn_before, emit_jump_insn_before,
+ emit_call_insn_before, emit_insn_after, emit_jump_insn_after,
+ emit_call_insn_after, emit_insn, emit_jump_insn, emit_call_insn,
+ set_unique_reg_note, emit, push_to_full_sequence, copy_insn_1,
+ gen_const_vector_0, emit_copy_of_insn_after): Likewise.
+ * et-forest.c (set_prev, set_next, et_check_occ_sanity,
+ record_path_before_1, check_path_after_1, check_path_after): Likewise.
+ * except.c (gen_eh_region, resolve_one_fixup_region,
+ remove_unreachable_regions, convert_from_eh_region_ranges_1,
+ add_ehl_entry, duplicate_eh_region_1, build_post_landing_pads,
+ connect_post_landing_pads, sjlj_emit_function_exit,
+ remove_exception_handler_label, remove_eh_handler,
+ reachable_next_level, collect_one_action_chain,
+ output_function_exception_table): Likewise.
+ * explow.c (trunc_int_for_mode, copy_to_mode_reg,
+ optimize_save_area_alloca, allocate_dynamic_stack_space,
+ probe_stack_range, hard_function_value): Likewise.
+ * expmed.c (mode_for_extraction, store_bit_field,
+ store_fixed_bit_field, extract_bit_field, expand_shift,
+ expand_mult_const, expand_mult, choose_multiplier,
+ expand_mult_highpart, expand_divmod, emit_store_flag,
+ do_cmp_and_jump): Likewise.
+ * expr.c (convert_move, convert_modes, move_by_pieces,
+ move_by_pieces_ninsns, move_by_pieces_1, emit_block_move,
+ move_block_from_reg, gen_group_rtx, emit_group_load,
+ emit_group_move, emit_group_store, use_reg, use_regs,
+ can_store_by_pieces, store_by_pieces, store_by_pieces_1,
+ emit_move_insn, emit_move_insn_1, emit_push_insn,
+ expand_assignment, store_expr, count_type_elements,
+ store_constructor, store_field, safe_from_p, expand_var,
+ expand_expr_addr_expr, expand_expr_real_1, do_store_flag): Likewise.
+
+2004-09-08 Nathan Sidwell <nathan@codesourcery.com>
+
+ * dbxout.c (dbxout_type, dbxout_type_name, dbxout_symbol): Use
+ gcc_assert and gcc_unreachable.
+ * ddg.c (create_ddg_dependence, add_deps_for_def,
+ add_deps_for_use, create_ddg, add_edge_to_ddg): Likewise.
+ * df.c (df_ref_unlink, df_ref_record, df_uses_record,
+ df_reg_def_chain_create, df_reg_use_chain_create, df_analyze,
+ df_insn_delete, df_refs_reg_replace, df_ref_reg_replace,
+ df_insns_modify, df_pattern_emit_before, df_bb_reg_live_start_p,
+ df_bb_reg_live_end_p, df_bb_regs_lives_compare,
+ df_bb_single_def_use_insn_find, dataflow_set_a_op_b,
+ dataflow_set_copy, hybrid_search, diagnostic.c,
+ diagnostic_build_prefix, diagnostic_count_diagnostic): Likewise.
+ * dojump.c (do_jump): Likewise.
+ * dominance.c (calc_dfs_tree_nonrec, calc_dfs_tree,
+ compute_dom_fast_query, calculate_dominance_info,
+ free_dominance_info, get_immediate_dominator,
+ set_immediate_dominator, get_dominated_by,
+ redirect_immediate_dominators, nearest_common_dominator,
+ dominated_by_p, verify_dominators, recount_dominator,
+ iterate_fix_dominators, add_to_dominance_info,
+ delete_from_dominance_info): Likewise.
+ * dwarf2asm.c (size_of_encoded_value, eh_data_format_name,
+ dw2_asm_output_delta_uleb128, dw2_asm_output_delta_sleb128,
+ dw2_force_const_mem, dw2_asm_output_encoded_addr_rtx): Likewise.
+ * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes, reg_save,
+ initial_return_save, stack_adjust_offset, dwarf2out_stack_adjust,
+ flush_queued_reg_saves, dwarf2out_frame_debug_expr,
+ dwarf2out_frame_debug, dw_cfi_oprnd1_desc, output_cfi,
+ output_call_frame_info, output_loc_operands, build_cfa_loc,
+ decl_ultimate_origin, AT_flag, AT_int, AT_unsigned, AT_string,
+ AT_string_form, add_AT_specification, AT_ref, set_AT_ref_external,
+ AT_loc, AT_loc_list, AT_addr, AT_lbl, add_child_die,
+ splice_child_die, attr_checksum, same_dw_val_p,
+ break_out_includes, build_abbrev_table, size_of_die, mark_dies,
+ unmark_dies, value_format, output_loc_list, output_die,
+ output_pubnames, output_aranges, base_type_die, is_base_type,
+ modified_type_die, dbx_reg_number, multiple_reg_loc_descriptor,
+ mem_loc_descriptor, loc_descriptor, loc_descriptor_from_tree_1,
+ field_byte_offset, add_data_member_location_attribute,
+ add_const_value_attribute, rtl_for_decl_location,
+ add_location_or_const_value_attribute, add_byte_size_attribute,
+ add_bit_offset_attribute, add_bit_size_attribute,
+ add_abstract_origin_attribute, pop_decl_scope, scope_die_for,
+ decl_start_label, gen_formal_parameter_die,
+ gen_type_die_for_member, gen_subprogram_die, gen_label_die,
+ gen_typedef_die, gen_type_die, gen_tagged_type_instantiation_die,
+ force_decl_die, force_type_die, gen_decl_die,
+ dwarf2out_imported_module_or_decl, prune_unused_types_prune,
+ dwarf2out_finish): Likewise.
+
+2004-09-08 Andreas Tobler <toa@pop.agri.ch>
+
+ * Makefile.in (builtins.o): Depend on tree-mudflap.h.
+ * builtins.c: Include tree-mudflap.h.
+
+2004-09-08 Uros Bizjak <uros@kss-loka.si>
+
+ * config/i386/i386.c (ix86_prepare_fp_compare_args): Do not
+ force operand 0.0 into register in XFmode. Also do not force
+ operand 0.0 into register if !TARGET_CMOVE.
+ * config/i386/i386.md (*cmpfp_0): Delete. Remove comment.
+ (*cmpfp_0_sf, cmpfp_0_df, cmpfp_0_xf): New patterns to
+ implement ftst x87 instruction.
+ (*fp_jcc_7): New insn pattern. Change corresponding split
+ pattern to handle "general_operand" instead of
+ "nonimmediate_operand".
+
+2004-09-08 Ben Elliston <bje@au.ibm.com>
+
+ * doc/rtl.texi (Insns): Document NOTE_INSN_FUNCTION_BEG.
+
+2004-09-07 Frank Ch. Eigler <fche@redhat.com>
+
+ * builtins.c (std_gimplify_va_arg_expr): Mark INDIRECT_REF nodes
+ generated from standard va_arg expansion.
+ * tree-mudflap.c (mx_xform_derefs_1): Omit instrumentation from
+ marked nodes.
+ (mf_varname_tree, mf_file_function_line_tree): Add some support
+ for column numbers if compiled with USE_MAPPED_LOCATION.
+
+2004-09-07 Ziemowit Laski <zlaski@apple.com>
+
+ * c-decl.c (groktypename_in_parm_context): Remove function.
+ * c-tree.h (groktypename_in_parm_context): Remove prototype.
+
+2004-09-07 Ziemowit Laski <zlaski@apple.com>
+
+ * Makefile.in (c-parse.o): Depend on $(C_COMMON_H).
+ * c-parse.in: Include c-common.h instead of objc-act.h.
+ (ivar_decl_list, ivar_decls, ivar_decl, ivars, ivar_declarator,
+ myparms, myparm): Remove %type declarations.
+ (methodtype, optparms, OBJC_TYPE_QUAL, objc_quals, objc_qual,
+ objc_typename, objc_try_catch_stmt, optellipsis): Add %type
+ declarations.
+ (objc_inherit_code, objc_public_flag): Remove.
+ (typespec_nonreserved_nonattr): Call
+ objc_get_protocol_qualified_type() instead of get_static_reference()
+ and get_protocol_reference().
+ (stmt_nocomp): Call grokparm() on @catch parameter.
+ (objcdef): Move semantic action to objc_finish_implementation().
+ (classdef): Move semantic action to objc_start_class_interface(),
+ objc_continue_interface(), objc_finish_interface(),
+ objc_start_class_implementation(), objc_continue_implementation(),
+ objc_start_category_interface() and
+ objc_start_category_implementation().
+ (protocoldef): Move semantic actions to objc_start_protocol() and
+ objc_finish_interface().
+ (ivar_decl_list): Remove nonterminal.
+ (visibility_spec): Move semantic actions to objc_set_visibility().
+ (ivar_decls): Remove assignment to $$.
+ (ivar_decl): Rephrase in terms of component_decl; call
+ objc_add_instance_variable().
+ (ivars, ivar_declarator): Remove nonterminals.
+ (opt_semi): New nonterminal.
+ (methodtype): Remove semantic actions.
+ (methoddef): Move semantic actions to objc_set_method_type(),
+ objc_start_method_definition() and objc_finish_method_definition().
+ (methodproto): Move semantic actions to objc_set_method_type() and
+ objc_add_method_declaration().
+ (methoddecl): Use objc_typename instead of typename; move semantic
+ actions to objc_build_method_signature().
+ (optarglist, myxdecls, mydecl, myparms, myparm): Remove nonterminals.
+ (optparmlist): Express in terms of optparms and optellipsis.
+ (optparms, optellipsis, objc_qual, objc_quals, objc_typename): New
+ nonterminals.
+ (keyworddecl): Use objc_typename instead of typename.
+ (rid_to_yy): Mark RID_IN, RID_OUT, RID_INOUT, RID_BYCOPY, RID_BYREF
+ and RID_ONEWAY as returning OBJC_TYPE_QUAL to yyparse().
+
+2004-09-08 Alan Modra <amodra@bigpond.net.au>
+
+ * doc/tm.texi (MD_UNWIND_SUPPORT): Document.
+ (MD_FALLBACK_FRAME_STATE_FOR): Update.
+ * unwind-dw2.c (MD_UNWIND_SUPPORT): #include if defined.
+ (uw_frame_state_for): Adjust MD_FALLBACK_FRAME_STATE_FOR invocation.
+ (MD_FROB_UPDATE_CONTEXT): Remove default.
+ (uw_update_context_1): Instead #ifdef invocation.
+ * config/ia64/unwind-ia64.c (MD_UNWIND_SUPPORT): #include if defined.
+ (uw_frame_state_for): Adjust MD_FALLBACK_FRAME_STATE_FOR invocation.
+ * config/alpha/gnu.h (MD_FALLBACK_FRAME_STATE_FOR): Don't undef.
+ (MD_UNWIND_SUPPORT): Undefine this instead.
+ * config/i386/gnu.h: Likewise.
+ * config/alpha/linux-unwind.h: New file, macro converted to
+ function, extracted from..
+ * config/alpha/linux.h (MD_FALLBACK_FRAME_STATE_FOR): ..this.
+ (MD_UNWIND_SUPPORT): Define.
+ * config/alpha/vms-unwind.h, config/alpha/vms.h: Likewise.
+ * config/i386/linux-unwind.h, config/i386/linux.h,
+ config/i386/linux64.h: Likewise.
+ * config/ia64/linux-unwind.h, config/ia64/linux.h: Likewise.
+ MD_HANDLE_UNWABI too.
+ * config/mips/linux-unwind.h, config/mips/linux.h: Likewise.
+ * config/pa/linux-unwind.h, config/pa/pa32-linux.h: Likewise.
+ * config/rs6000/darwin-unwind.h, config/rs6000/darwin.h: Likewise.
+ * config/s390/linux-unwind.h, config/s390/linux.h: Likewise.
+ * config/sparc/linux-unwind.h, config/sparc/linux.h,
+ config/sparc/linux64.h: Likewise.
+ * config/sh/linux-unwind.h, config/sh/linux.h: Likewise, but merge
+ SH_FALLBACK_FRAME_FLOAT_STATE into sh_fallback_frame_state.
+ * config/rs6000/linux-unwind.h, config/rs6000/linux.h,
+ config/rs6000/linux64.h: Likewise. Split out get_sigcontext
+ function. Use ARG_POINTER_REGNUM for 32-bit temp reg too.
+
+2004-09-07 Jan Hubicka <jh@suse.cz>
+
+ * cse.c (fold_rtx): Avoid building of
+ (CONST (MINUS (CONST_INT) (SYMBOL_REF)))
+
+ * tree-ssa-pre.c (grand_bitmap_obstack): New.
+ (value_insert_into_set_bitmap, bitmap_set_new): Use the obstack.
+ (init_pre): Initialize obstack.
+ (fini_pre): Free obstack.
+
+2004-09-07 David Daney <ddaney@avtrex.com>
+
+ * config.gcc: Added support for --with-divide=[breaks|traps] for
+ mips targets.
+ * config/mips/mips.h (MASK_DIVIDE_BREAKS): New target_flags bit.
+ (TARGET_DIVIDE_TRAPS): New macro.
+ (TARGET_SWITCHES): Added -mdivide-traps and -mdivide-breaks.
+ (OPTION_DEFAULT_SPECS): Added --with-divide= support.
+ * config/mips/mips.c (mips_idiv_insns): Generate proper count on
+ GENERATE_DIVIDE_TRAPS.
+ (mips_output_division): Emit conditional trap if
+ GENERATE_DIVIDE_TRAPS is set.
+ * doc/install.texi: Document --with-divide.
+ * doc/invoke.texi: Document -mdivide-traps and -mdivide-breaks.
+
+2004-09-07 Caroline Tice <ctice@apple.com>
+
+ * cfgrtl.c (rtl_verify_flow_info_1): Add new edge flag,
+ EDGE_CROSSING, to flags test case.
+
+2004-09-07 Jan Hubicka <jh@suse.cz>
+
+ * tree-ssa-loop-ivopts.c (contains_abnormal_ssa_name_p): Deal with '<'
+ class too.
+
+2004-09-07 Nathan Sidwell <nathan@codesourcery.com>
+
+ * cfganal.c (flow_depth_first_order_compute, dfs_enumerate_from,
+ cfgbuild.c, inside_basic_block_p, control_flow_insn_p,
+ make_label_edge, make_edges, find_basic_blocks_1): Use gcc_assert
+ or gcc_unreachable.
+ * cfg.c (clear_edges, initialize_bb_rbi, compact_blocks,
+ remove_edge, alloc_aux_for_blocks, free_aux_for_blocks,
+ alloc_aux_for_edges, free_aux_for_edges): Likewise.
+ * cfgcleanup.c (try_forward_edges,
+ merge_blocks_move_predecessor_nojumps,
+ merge_blocks_move_successor_nojumps): Likewise.
+ * cfgexpand.c (expand_gimple_cond_expr,
+ expand_gimple_tailcall): Likewise.
+ * cfghooks.c (duplicate_block): Likewise.
+ * cfglayout.c (record_effective_endpoints,
+ insn_locators_initialize, change_scope, fixup_reorder_chain,
+ verify_insn_chain, fixup_fallthru_exit_predecessor,
+ duplicate_insn_chain, cfg_layout_finalize): Likewise.
+ * cfgloopanal.c (check_irred): Likewise.
+ * cfgloop.c (superloop_at_depth, flow_loops_free,
+ flow_loop_entry_edges_find, flow_loops_find,
+ flow_loop_outside_edge_p, get_loop_body,
+ get_loop_body_in_dom_order, get_loop_body_in_bfs_order,
+ get_loop_exit_edges, num_loop_branches, cancel_loop,
+ verify_loop_structure): Likewise.
+ cfgloopmanip.c (find_path, remove_path, loop_delete_branch_edge,
+ duplicate_loop_to_header_edge, create_preheader,
+ create_loop_notes): Likewise.
+ * cfgrtl.c (delete_insn, try_redirect_by_replacing_jump,
+ edirect_branch_edge, force_nonfallthru_and_redirect,
+ rtl_split_edge, insert_insn_on_edge, commit_one_edge_insertion,
+ commit_edge_insertions, commit_edge_insertions_watch_calls,
+ purge_dead_edges, cfg_layout_redirect_edge_and_branch,
+ cfg_layout_redirect_edge_and_branch_force,
+ cfg_layout_merge_blocks, rtl_flow_call_edges_add): Likewise.
+ * cgraph.c (cgraph_node, cgraph_create_edge, cgraph_remove_edge,
+ cgraph_redirect_edge_callee, cgraph_global_info, cgraph_rtl_info,
+ cgraph_varpool_node): Likewise.
+ * cgraphunit.c (cgraph_finalize_function,
+ cgraph_finalize_compilation_unit, cgraph_mark_functions_to_output,
+ cgraph_expand_function, cgraph_remove_unreachable_nodes,
+ cgraph_clone_inlined_nodes, cgraph_mark_inline_edge,
+ cgraph_mark_inline, cgraph_expand_all_functions,
+ cgraph_build_static_cdtor): Likewise.
+ * combine.c (do_SUBST, try_combine, subst, combine_simplify_rtx,
+ simplify_logical, distribute_notes, insn_cuid): Likewise.
+ * conflict.c (conflict_graph_add, print_conflict): Likewise.
+ * coverage.c (rtl_coverage_counter_ref, tree_coverage_counter_ref,
+ coverage_checksum_string): Likewise.
+ * cse.c (make_new_qty, make_regs_eqv, insert, invalidate,
+ hash_rtx, exp_equiv_p, cse_basic_block, count_reg_usage,
+ cse_cc_succs, cse_condition_code_reg): Likewise.
+ * cselib.c (entry_and_rtx_equal_p, remove_useless_values,
+ rtx_equal_for_cselib_p, wrap_constant, cselib_hash_rtx,
+ new_cselib_val, cselib_subst_to_values, cselib_invalidate_regno,
+ cselib_record_set): Likewise.
+
+2004-09-07 Jan Hubicka <jh@suse.cz>
+
+ * tree-ssa-loop-ivopts.c (iv_value): Avoid invalid sharing on niter.
+
+2004-09-07 Nathan Sidwell <nathan@codesourcery.com>
+
+ * builtins.c (fold_builtin_strchr): Use build_int_cst, not
+ fold_convert.
+ (fold_builtin_strpbrk): Likewise.
+ * expr.c (array_ref_low_bound): Likewise.
+ * tree-scalar-evolution.c (chrec_is_positive, add_to_evolution_1,
+ interpret_rhs_modify_expr, number_of_iterations_in_loop): Likewise.
+ * tree-sra.c (generate_element_zero): Likewise.
+ * tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Likewise.
+ * tree-ssa-loop-ivopts.c (determine_biv_step, idx_find_step,
+ add_old_iv_candidates, add_iv_candidates): Likewise.
+ * tree-tailcall.c (tree_optimize_tail_calls_1): Likewise.
+
+2004-09-07 Nathan Sidwell <nathan@codesourcery.com>
+
+ * c-aux-info.c (gen_type): Use gcc_assert or gcc_unreachable.
+ * c-common.c (c_type_hash, c_common_nodes_and_builtins,
+ c_expand_expr, boolean_increment, nonnull_check_p,
+ check_function_arguments_recurse, fold_offsetof_1): Likewise.
+ * c-cppbuiltin.c (define__GNUC__, builtin_define_stdint_macros,
+ builtin_define_type_max): Likewise.
+ * c-decl.c (bind, pop_scope, merge_decls, pushdecl_top_level,
+ implicit_decl_warning, builtin_function, build_compound_literal,
+ complete_array_type, grokdeclarator, get_parm_info,
+ start_function, store_parm_decls_oldstyle,
+ c_write_global_declarations): Likewise.
+ * c-format.c (get_constant, decode_format_attr,
+ maybe_read_dollar_number, get_flag_spec, check_format_arg,
+ check_format_types, format_type_warning,
+ find_char_info_specifier_index, init_dynamic_asm_fprintf_info,
+ init_dynamic_diag_info, handle_format_attribute): Likewise.
+ * c-gimplify.c (push_context, pop_context, finish_bc_block):
+ * c-lex.c (c_lex_with_flags, lex_string): Likewise.
+ * c-objc-common.c (c_tree_printer): Likewise.
+ * c-pch.c (pch_init): Likewise.
+ * c-pragma.c (maybe_apply_pragma_weak): Likewise.
+ * c-pretty-print.c (pp_c_tree_decl_identifier): Likewise.
+ * c-typeck.c (c_incomplete_type_error, composite_type,
+ common_pointer_type, common_type, same_translation_unit_p,
+ tagged_types_tu_compatible_p, finish_init, pop_init_level,
+ set_designator, set_nonincremental_init_from_string,
+ process_init_element, c_finish_if_stmt): Likewise.
+ * caller-save.c (init_caller_save, save_call_clobbered_regs,
+ insert_restore, insert_save, insert_one_insn): Likewise.
+ * calls.c (emit_call_1, compute_argument_block_size,
+ precompute_arguments, expand_call, emit_library_call_value_1,
+ store_one_arg): Likewise.
+
+2004-09-07 Nathan Sidwell <nathan@codesourcery.com>
+
+ * configure.ac (enable-checking): Add release option. Reorganize
+ to avoid repetition.
+ * configure: Rebuilt.
+ * doc/install.texi (enable-checking): Amend documentation.
+
+2004-09-06 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR bootstrap/17313
+ * Makefile.in (specs.ready): Depend on cc1$(exeext).
+
+2004-09-06 James E Wilson <wilson@specifixinc.com>
+
+ * config/mips/mips.md (movsf_hardfloat, movdf_hardfloat_64bit,
+ movdf_hardfloat_32bit): Split fG into two alternatives.
+ (movv2sf_hardfloat_64bit): Split fYG into two alternatives.
+
+ * 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,
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>
* gthr-posix.h, gthr-dce.h: Add #pragma weaks.
+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.
(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