+2004-07-23 Matthias Klose <doko@debian.org>
+
+ intl.c (gcc_init_libintl): Use PACKAGE for the text domain.
+ configure.ac: Add AC_DEFINE_UNQUOTED for PACKAGE.
+ config.h: Regenerate.
+ configure: Likewise.
+
+2004-07-22 Mark Mitchell <mark@codesourcery.com>
+
+ * dwarf2out.c (output_call_frame_info): Set SYMBOL_FLAG_LOCAL on
+ generated SYMBOL_REFs for labels.
+ * config/darwin-protos.h (machopic_validate_stub_or_non_lazy_ptr):
+ Change prototype.
+ (machopic_stub_name): Remove.
+ (machopic_indirection_name): New function.
+ (machopic_mcount_stub_name): Likewise.
+ (machopic_classify_name): Remove.
+ (machopic_function_base_sym): New function.
+ (machpoic_classify_symbol): Likewise.
+ (machopic_classify_ident): Remove.
+ (machopic_define_ident): Likewise.
+ (machopic_define_name): Likewise.
+ (machopic_name_defined_p): Likewise.
+ (machopic_ident_defined_p): Likewise.
+ (darwin_strip_name_encoding): Likewise.
+ (machopic_define_symbol): New function.
+ * config/darwin.c (hashtab.h): Include.
+ (machopic_defined_list): Remove.
+ (machopic_classify_ident): Likewise.
+ (machopic_classify_name): Likewise.
+ (machopic_ident_defined_p): Likewise.
+ (machopic_define_ident): Likewise.
+ (machopic_define_name): Likewise.
+ (machopic_symbol_defined_p): New function.
+ (machopic_classify_symbol): Likewise.
+ (machopic_data_defined_p): Use machopic_classify_symbol.
+ (machopic_define_symbol): New function.
+ (machopic_function_base_sym): New function.
+ (machopic_non_lazy_pointers): Remove.
+ (machopic_non_lazy_ptr_name): Likewise.
+ (machopic_stubs): Likewise.
+ (machopic_stub_name): Likewise.
+ (NON_LAZY_POINTER_SUFFIX): New macro.
+ (STUB_SUFFIX): Likewise.
+ (machopic_indirection): New structure.
+ (machopic_indirections): New variable.
+ (machopic_indirection_hash): New function.
+ (machopic_indirection_eq): Likewise.
+ (machopic_indirection_name): Likewise.
+ (machopic_mcount_stub_name): New function.
+ (machopic_validate_stub_or_non_lazy_pointer): Reimplement to use
+ hash table.
+ (machopic_indirect_data_reference): Rework to use new functions.
+ (machopic_indirect_call_target): Likewise.
+ (machopic_legitimize_pic_address): Likewise.
+ (machopic_output_indirection): New function.
+ (machopic_finish): Use it.
+ (machopic_operand_p): Rework to use new functions.
+ (darwin_encode_seciton_info): Use SYMBOL_REF_FLAGS.
+ (darwin_strip_name_encoding): Remove.
+ (update_non_lazy_ptrs): Remove.
+ (update_stubs): Likewise.
+ (darwin_non_lazy_pcrel): Use new functions.
+ * config/darwin.h (ASM_DECLARE_OBJECT_NAME): Likewise.
+ (ASM_OUTPUT_LABELREF): Likewise.
+ (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Likewise.
+ (MACHO_SYMBOL_FLAG_VARIABLE): New macro.
+ (MACHO_SYMBOL_FLAG_DEFINED): Likewise.
+ (TARGET_STRIP_NAME_ENCODING): Do not use
+ darwin_strip_name_encoding.
+ (GEN_LAZY_PTR_NAME_FOR_SYMBOL): Do not use
+ darwin_strip_name_encoding.
+ * config/i386/darwin.h (FUNCTION_PROFILER): Use
+ machopic_mcount_stub_name.
+ * config/i386/i386.c (x86_output_mi_thunk): Use
+ machopic_indirection_name, not machopic_stub_name.
+ * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Use
+ machopic_function_base_sym.
+ (print_operand): Use machopic_classify_symbol.
+ (rs6000_emit_prologue): Use machopic_function_base_sym.
+ (output_profile_hook): Do not use machopic_stub_name.
+ (macho_branch_isalnds): Do not use darwin_strip_name_encoding.
+
+2004-07-22 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ PR c/7284
+ * fold-const.c (extract_muldiv_1): Do not treat signed left shift
+ as multiplication.
+
+2004-07-22 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * doc/implement-c.texi: New file.
+ * doc/extend.texi (C Implementation): Move to there.
+ * doc/gcc.texi: Include implement-c.texi.
+ * Makefile.in (TEXI_GCC_FILES): Add implement-c.texi.
+
+2004-07-22 Jason Merrill <jason@redhat.com>
+
+ * integrate.c (copy_decl_for_inlining): Remove invisible reference
+ handling.
+ * tree-inline.c (setup_one_parameter): Likewise.
+
+2004-07-22 Brian Booth <bbooth@redhat.com>
+
+ * tree-ssa-ccp.c (latticevalue): Add UNKNOWN_VAL.
+ (substitute_and_fold): Propigate into VUSE operands when possible.
+ (visit_phi_node): Handle UNKNOWN_VAL latticevalue.
+ (cp_lattice_meet): Handle merging of latticevalues when
+ UNKNOWN_VAL is present.
+ (visit_stmt): Visit assignments with V_MUST_DEFs.
+ (visit_assignment): Gather ccp information for V_MUST_DEF operands.
+ (ccp_fold): Deal with RHS' that are constant and virtual.
+ (evaluate_stmt): Handle UNKNOWN_VAL likely values.
+ (dump_lattice_value): Dump UNKNOWN_VAL latticevalues.
+ (initialize): Mark statements with V_MUST_DEFs as VARYING only if the
+ V_MUST_DEF operand is VARYING. Fix comment and include VOPS when
+ computing immediate uses.
+ (set_lattice_value): Disallow a UNKNOWN_VAL->UNDEFINED state
+ transition.
+ (replace_vuse_in): New function.
+ (likely_value): Add check of vuse operands.
+ (get_default_value): Set the default value of virtually defined
+ variables to UKNOWN_VAL instead of VARYING.
+
+2004-07-22 Richard Henderson <rth@redhat.com>
+
+ * expr.c (emit_push_insn): Don't use set_mem_attributes.
+
+2004-07-22 Richard Henderson <rth@redhat.com>
+
+ * tree-ssa-live.c (create_ssa_var_map): Avoid defined-but-not-used
+ variables due to conditional compilation.
+
+2004-07-22 Diego Novillo <dnovillo@redhat.com>
+
+ * tree-into-ssa.c (set_livein_block): Fix typo in comment.
+ (rewrite_ssa_into_ssa): Start iterating over SSA names at 1.
+ Release SSA names that have been re-renamed.
+ * tree-phinodes.c (make_phi_node): Set same TREE_TYPE as the
+ variable.
+ * tree-ssa-alias.c (init_alias_info): If aliases have been
+ computed before, clear existing alias information.
+ (create_name_tags): Do no fixup PT_ANYTHING pointers.
+ If the new name tag for a pointer is different than the one it
+ had before, mark the old tag for renaming.
+ (replace_may_alias): New function.
+ (group_aliases): Call it.
+ (setup_pointers_and_addressables): Always call get_tmt_for.
+ (maybe_create_global_var): Don't create .GLOBAL_VAR more than
+ once.
+ (set_pt_anything): New local function.
+ (set_pt_malloc): New local function.
+ (merge_pointed_to_info): Don't merge pointed-to variables from
+ the original pointer if the destination is pointing to an
+ unknown location.
+ (add_pointed_to_expr): Call set_pt_anything and set_pt_malloc.
+ (add_pointed_to_var): Do not add a variable to the points-to
+ set if the pointer is already pointing to anywhere.
+ (collect_points_to_info_r): If the defining statement is a PHI
+ node, only merge pointed-to information if the argument has
+ already been visited.
+ (get_tmt_for): Only create a new tag if the pointer didn't
+ have one already.
+ (dump_alias_info): Emit more information.
+ (dump_points_to_info_for): Likewise.
+ * tree-ssa-dom.c (redirect_edges_and_update_ssa_graph): Don't
+ try to get the annotation of an SSA_NAME.
+ * tree-ssa-operands.c (add_stmt_operand): Only check for empty
+ alias sets when checking is enabled.
+ * tree-ssa-pre.c (need_eh_cleanup): New local variable.
+ (eliminate): Mark basic blocks that will need
+ EH information cleaned up.
+ (init_pre): Split ENTRY_BLOCK->0 if block 0 has more than one
+ predecessor.
+ Initialize need_eh_cleanup.
+ (fini_pre): Call tree_purge_all_dead_eh_edges and
+ cleanup_tree_cfg if needed.
+ Free need_eh_cleanup.
+ * tree-ssa.c (verify_ssa_name): New function.
+ (verify_def): Call it.
+ Re-arrange to avoid printing too many error messages.
+ (verify_use): Likewise.
+ (verify_phi_args): Likewise.
+ (verify_flow_insensitive_alias_info): New function.
+ (verify_flow_sensitive_alias_info): New function.
+ (verify_alias_info): New function.
+ (verify_ssa): Call verify_alias_info.
+ Clear TREE_VISITED on all the SSA_NAMEs before scanning the
+ program.
+ Re-arrange to avoid printing too many error messages.
+ * tree-ssanames.c (make_ssa_name): Clear
+ SSA_NAME_IN_FREE_LIST.
+ (release_ssa_name): Never release a default definition.
+ (release_defs): New function.
+ * tree.h: Declare it.
+ * tree-ssa-dce.c (remove_dead_stmt): Call it.
+
+2004-07-22 Diego Novillo <dnovillo@redhat.com>
+
+ * tree-ssa.c (walk_use_def_chains_1): Add new argument IS_DFS.
+ If true, do a depth-first search. Do a breadht-first search,
+ otherwise.
+ (walk_use_def_chains): Add new argument IS_DFS.
+ Update all users.
+ * tree-flow.h (walk_use_def_chains): Update prototype.
+
+2004-07-22 Hans-Peter Nilsson <hp@axis.com>
+
+ * config/cris/cris.md: Tweak formatting.
+ (asrandb, asrandw, lsrandb, lsrandw, moversideqi, movemsideqi)
+ (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
+ word-size modes.
+ ("*mov_sidesisf", "*mov_sidesisf_biap_mem", "*mov_sidesisf_mem"):
+ Similar for "*mov_sidesi", "*mov_sidesi_biap_mem" and
+ "*mov_sidesi_mem" respectively.
+
+2004-07-22 Paolo Bonzini <bonzini@gnu.org>
+
+ * tree-cfg.c (gimplify_val): Move from tree-complex.c.
+ (gimplify_build1): Move from tree-complex.c do_unop.
+ (gimplify_build2): Move from tree-complex.c do_binop.
+ (gimplify_build3): New.
+ * tree-complex.c (gimplify_val, do_unop, do_binop): Remove.
+ Adjust throughout to call the functions above.
+ * tree-flow.h: Declare the functions above.
+ * tree-nested.c (gimplify_val): Rename to...
+ (tsi_gimplify_val): ... this.
+
+ * Makefile.in (tree_complex.o): Update dependencies.
+ (stor-layout.o): Depend on regs.h.
+ * c-common.c (handle_vector_size_attribute): Update for
+ vector types without corresponding vector modes.
+ * expr.c (expand_expr): Treat VECTOR_CST's like CONSTRUCTORS if
+ a corresponding vector mode is not available.
+ * print-tree.c (print_node): Print nunits for vector types
+ * regclass.c (have_regs_of_mode): New.
+ (init_reg_sets_1): Initialize it and use it instead
+ of allocatable_regs_of_mode.
+ * regs.h (have_regs_of_mode): Declare it.
+ * stor-layout.c (layout_type): Pick a mode for vector types.
+ * tree-complex.c (build_word_mode_vector_type, tree_vec_extract,
+ build_replicated_const, do_unop, do_binop, do_plus_minus,
+ do_negate, expand_vector_piecewise, expand_vector_parallel,
+ expand_vector_addition, expand_vector_operations_1,
+ expand_vector_operations, tree_lower_operations,
+ pass_lower_vector_ssa, pass_pre_expand): New.
+ (expand_complex_operations, pass_lower_complex): Remove.
+ * tree-optimize.c (init_tree_optimization_passes): Adjust
+ pass ordering for changes in tree-complex.c.
+ * tree-pass.h: Declare new passes.
+ * tree.c (finish_vector_type): Remove.
+ (make_vector_type): New.
+ (build_vector_type_for_mode, build_vector_type): Rewritten.
+ * tree.def (VECTOR_TYPE): Document where the number of
+ subparts is stored.
+ * tree.h (TYPE_VECTOR_SUBPARTS): Use TYPE_PRECISION field.
+ (make_vector): Remove declaration.
+
+2004-07-21 Richard Henderson <rth@redhat.com>
+
+ * gimple-low.c (expand_var_p): Don't look at TREE_ADDRESSABLE,
+ TREE_THIS_VOLATILE, may_aliases, or optimization level.
+ (remove_useless_vars): Dump debugging info.
+ (expand_used_vars): Move ...
+ * cfgexpand.c (expand_used_vars): ... here. Make static.
+ * tree-flow-inline.h (set_is_used): New.
+ (set_default_def): Use get_var_ann.
+ * tree-flow.h: Update decls.
+ * tree-ssa-live.c (mark_all_vars_used_1, mark_all_vars_used): New.
+ (create_ssa_var_map): Use it.
+ * tree-ssa.c (set_is_used): Remove.
+
+2004-07-22 Ben Elliston <bje@au.ibm.com>
+
+ * gdbinit.in: Set a breakpoint on internal_error.
+
+2004-07-21 Richard Henderson <rth@redhat.com>
+
+ * cfgexpand.c (expand_gimple_tailcall): Fix case where we need
+ to create a new basic block.
+
2004-07-22 Joseph S. Myers <jsm@polyomino.org.uk>
PR c/15052