+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,