tree-ssa-alias.c (compute_flow_insensitive_aliasing): If type memory tag is call...
[gcc.git] / gcc / ChangeLog
index d00cc21e1048f3e9593e1f4826298a3d9d4376b4..4dc3df111109a77d950129bf976815cf98e10793 100644 (file)
@@ -1,5 +1,249 @@
+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.