OSDN Git Service

* config/frv/frv.h (EPILOGUE_USES): New. Use LR.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 02ba103..0f8b36e 100644 (file)
+2004-07-28  Richard Sandiford <rsandifo@redhat.com>
+
+       * config/frv/frv.h (EPILOGUE_USES): New.  Use LR.
+
+2004-07-28  Richard Sandiford  <rsandifo@redhat.com>
+
+       * cse.c (validate_canon_reg): New function, split out from...
+       (canon_reg): ...here.  Use validate_canon_reg for both 'e' and 'E'.
+
+2004-07-28  Diego Novillo  <dnovillo@redhat.com>
+
+       * tree-ssa-alias.c (maybe_create_global_var): Don't just
+       return if .GLOBAL_VAR has been created.
+
+2004-07-28  Diego Novillo  <dnovillo@redhat.com>
+
+       * tree-ssa.c (verify_flow_insensitive_alias_info): Process
+       every variable that may have aliases, not just tags.
+
+2004-07-28  Aldy Hernandez  <aldyh@redhat.com>
+
+       * config/rs6000/rs6000.md ("move_from_CR_gt_bit"): Rename to
+       move_from_CR_eq_bit.
+       Rename UNSPEC_MV_CR_GT to UNSPEC_MV_CR_EQ.
+       
+
+       * config/rs6000/spe.md ("e500_flip_gt_bit"): Rename to
+       e500_flip_eq_bit.
+
+       * config/rs6000/rs6000-protos.h: Rename output_e500_flip_gt_bit to
+       output_e500_flip_eq_bit.
+
+       * config/rs6000/rs6000.c (output_e500_flip_gt_bit): Rename to
+       output_e500_flip_eq_bit.
+       (rs6000_emit_sCOND): Rename call to output_e500_flip_gt_bit to
+       output_e500_flip_eq_bit.
+       Rename gen_move_from_CR_gt_bit to gen_move_from_CR_eq_bit.
+       (print_operand): case D.  Get to EQ bit.
+
+2004-07-28  Richard Sandiford  <rsandifo@redhat.com>
+
+       * gcov.c (function_summary): Add missing \n.
+
+2004-07-28  Alexandre Oliva  <aoliva@redhat.com>
+
+       Introduce sh4a support.
+       * config.gcc: Handle sh4a multilibs and cpu selection.
+       * config/sh/sh.h: Likewise.  Handle sh4a command line flags.
+       * config/sh/t-mlib-sh4a: New.
+       * config/sh/t-mlib-sh4al: New.
+       * config/sh/t-mlib-sh4a-nofpu: New.
+       * config/sh/t-mlib-sh4a-single: New.
+       * config/sh/t-mlib-sh4a-single-only: New.
+       2004-02-20  DJ Delorie  <dj@redhat.com>
+       * config/sh/sh.md ("movua"): Change constraint from "m" to "Sua".
+       * config/sh/sh.h (EXTRA_CONSTRAINT_S): Add "Sua" support.
+       2003-08-22  Eric Christopher  <echristo@redhat.com>
+       * config/sh/sh4a.md: Update for chip errata.
+       2003-08-07  Eric Christopher  <echristo@redhat.com>
+       * config/sh/sh4a.md: New file. sh4a processor description.
+       2003-07-08  Alexandre Oliva  <aoliva@redhat.com>
+       * config/sh/sh.h (TARGET_SWITCHES): Added 4al.  Adjust description
+       of -m4a-nofpu.
+       (SH_ASM_SPEC): Pass -dsp for -m4al, not -m4a-nofpu.
+       * config/sh/t-sh (MULTILIB_MATCHES): Map -m4al to -m4a-nofpu.
+       * doc/invoke.texi (SH Options): Document -m4al.
+       2003-07-03  Alexandre Oliva  <aoliva@redhat.com>
+       * config/sh/sh.c (expand_block_move): Remove commented-out code
+       checked in by mistake.
+       (sh_cannot_change_mode_class): Enable SUBREGs to be used to select
+       single elements from SFmode vectors.
+       * config/sh/sh.md (fsca): Use VEC_CONCAT to initialize the output
+       register.
+       (sinsf2, cossf2, sindf2, cosdf2): Don't emit CLOBBER.
+       2003-07-01  Alexandre Oliva  <aoliva@redhat.com>
+       * config/sh/sh.h (sh_fsca_sf2int, sh_fsca_df2int,
+       sh_fsca_int2sf): Remove variable declarations.
+       * config/sh/sh.c (sh_fsca_sf2int, sh_fsca_df2int,
+       sh_fsca_int2sf): New functions.
+       (sh_fsca_sf2int_rtx, sh_fsca_df2int_rtx,
+       sh_fsca_int2sf_rtx): New static variables.
+       * config/sh/sh-protos.h (sh_fsca_sf2int, sh_fsca_df2int,
+       sh_fsca_int2sf): Declare.
+       * config/sh/sh.md: Adjust.
+       * doc/invoke.texi (SH Options): Document new options.
+       * config/sh/lib1funcs.asm (ic_invalidate): Remove SH4a forward
+       compatibility from SH4 code.
+       2003-06-27  Alexandre Oliva  <aoliva@redhat.com>
+       * config/sh/sh.c (expand_block_move): Don't emit POST_INC too
+       early.
+       (memory_movsrc_operand): Renamed to...
+       (unaligned_load_operand): ... this.  Simplified.
+       * config/sh/sh.h (PREDICATE_CODES): Adjust.
+       * config/sh/sh.md (movua, extv, extzv): Likewise.  Change movua's
+       input operand to SImode, and adjust the others.  Introduce
+       post-increment by peephole.
+       * config/sh/sh.c (expand_block_move): Give the target address the
+       same mode as the temp reg.
+       * config/sh/sh.c (expand_block_move): Use a temp reg for unaligned
+       copying.
+       2003-06-26  Alexandre Oliva  <aoliva@redhat.com>
+       Introduce support for SH4a.
+       * config/sh/lib1funcs.asm (ic_invalidate): Use icbi if
+       __SH4A__.  Emit 4 4kb blocks and touch all of them otherwise.
+       * config/sh/sh.c (sh_fsca_sf2int, sh_fsca_df2int,
+       sh_fsca_int2sf): New.
+       (sh_init_builtins): Initialize them.
+       (print_operand): Support `d'.
+       (expand_block_move): Use movua if src is misaligned.
+       (memory_movsrc_operand): New.
+       * config/sh/sh.h (TARGET_CPU_CPP_BUILTINS): Define __SH4A__
+       and one of the SH4 macros.
+       (SH4A_BIT, TARGET_SH4A_ARCH, TARGET_SH4A_FP,
+       SELECT_SH4A_NOFPU, SELECT_SH4A_SINGLE_ONLY, SELECT_SH4A,
+       SELECT_SH4A_SINGLE): New.
+       (TARGET_NONE): Add SH4A_BIT.
+       (TARGET_SWITCHES): Add 4a-single-only, 4a-single, 4a-nofpu and 4a.
+       (SH_ASM_SPEC): Pass -dsp if -m4a-nofpu.
+       (sh_fsca_sf2int, sh_fsca_df2int, sh_fsca_int2sf): Declare.
+       (OVERRIDE_OPTIONS): Set cpu to CPU_SH4A when appropriate.
+       (enum processor_type): Added PROCESSOR_SH4A.
+       (PREDICATE_CODES): Add memory_movsrc_operand.
+       * config/sh/sh.md: Removed unused variables.
+       (attr cpu): Add sh4a.
+       (attr type): Add movua, fsrra and fsca.
+       (prefetch): New, for SH4.
+       (ic_invalidate_line, ic_invalidate_line_sh4a): Use icbi.
+       (toggle_sz): Set type to fp.
+       (toggle_pr, rsqrtsf2, fsca, sinsf2, cossf2, sindf2, cosdf2): New.
+       (movua, extv, extzv): New.
+       * config/sh/t-sh: Add multilibs for 4a, 4a-nofpu, 4a-single
+       and 4a-single-only.
+
+2004-07-28  Diego Novillo  <dnovillo@redhat.com>
+
+       * tree-optimize.c (init_tree_optimization_passes): Schedule
+       pass_may_alias right after the program is renamed into SSA.
+       * tree-pass.h (PROP_alias): Define.
+       * tree-outof-ssa.c (pass_del_ssa): Require PROP_alias.
+       * tree-sra.c (pass_sra): Likewise.
+       * tree-ssa-ccp.c (pass_ccp): Likewise.
+       * tree-ssa-copyrename.c (pass_rename_ssa_ccp): Likewise.
+       * tree-ssa-dce.c (pass_dce): Likewise.
+       * tree-ssa-dom.c (pass_dominator): Likewise.
+       * tree-ssa-dse.c (pass_dse): Likewise.
+       * tree-ssa-forwprop.c (pass_forwprop): Likewise.
+       * tree-ssa-loop-ch.c (pass_ch): Likewise.
+       * tree-ssa-phiopt.c (pass_phiopt): Likewise.
+       * tree-ssa-pre.c (pass_pre): Likewise.
+       * tree-tailcall.c (pass_tail_recursion): Likewise.
+       * tree-ssa.c (pass_redundant_phi): Likewise.
+       * tree-ssa-alias.c (aliases_computed_p): Remove.
+       Update all users.
+       (init_alias_info): Do not mark all type tags for renaming
+       unconditionally.
+       Clear may_aliases from every symbol.
+       (setup_pointers_and_addressables): If a pointer has not been
+       dereferenced and it had a type tag, clear it and mark the old
+       tag for renaming.
+
+2004-07-28  Diego Novillo  <dnovillo@redhat.com>
+
+       PR tree-optimization/16705
+       * tree-ssa-alias.c (create_global_var): Set DECL_EXTERNAL on
+       .GLOBAL_VAR.
+
+2004-07-27  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * expr.c (expand_expr_real_1, case PARM_DECL): Remove obsolete error
+       check.
+
+       * gimplify.c (maybe_with_size_expr): If already have WITH_SIZE_EXPR,
+       don't make another one.
+
+       PR optimization/15077
+       * function.h (struct function): Add field saved_static_chain_decl.
+       Fix comment for static_chain_decl.
+       * tree-inline.c (save_body): Add new arg and handle static_chain_decl.
+       * tree-inline.h (save_body): Add new arg.
+       * tree-optimize.c (tree_rest_of_compilation): Handle saving
+       static_chain_decl.
+
+2004-07-27  Richard Henderson  <rth@redhat.com>
+
+       * gimplify.c (is_gimple_addr_expr_arg_or_indirect): Remove.
+       (gimplify_modify_expr, gimplify_addr_expr, gimplify_expr): Use
+       is_gimple_addressable.
+       * tree-gimple.c (is_gimple_addressable): Rename from
+       is_gimple_addr_expr_arg; accept INDIRECT_REF.
+       (is_gimple_lvalue): Don't test INDIRECT_REF directly.
+       * tree-gimple.h, tree-sra.c, tree-ssa-loop-im.c: Update for
+       rename to is_gimple_addressable.
+
+2004-07-28  Alan Modra  <amodra@bigpond.net.au>
+
+       * config/rs6000/rs6000.c (function_arg_padding): Pad SFmode upwards.
+
+2004-07-27  Richard Henderson  <rth@redhat.com>
+
+       * function.c (assign_stack_local_1): Widen alignment to HOST_WIDE_INT
+       before rounding.
+
+2004-07-27  Zack Weinberg  <zack@codesourcery.com>
+
+       * libgcc2.c: Change all conditionals testing
+       LIBGCC2_LONG_DOUBLE_TYPE_SIZE == 96 to == 80.
+       * libgcc2.h: Likewise.
+       * config/i386/i386.c (ix86_init_mmx_sse_builtins): Set
+       TYPE_PRECISION of float80_type to 80.
+       * config/ia64/ia64.c (ia64_init_builtins): Set TYPE_PRECISION
+       of fpreg_type and float80_type to 80.
+       * config/i386/i386.h, config/ia64/ia64.h, config/m68k/m68k.h
+       * config/m68k/netbsd-elf.h:
+       Change LONG_DOUBLE_TYPE_SIZE and possibly LIBGCC2_LONG_DOUBLE_TYPE_SIZE
+       to evaluate to 80 whenever they would formerly have evaluated to 96.
+       * config/i386/sco5.h: Remove unnecessary redefinition of
+       LONG_DOUBLE_TYPE_SIZE.
+       * doc/rtl.texi: Clarify uses of XFmode and TFmode.
+       * config/i386/i386-modes.def: Use FRACTIONAL_FLOAT_MODE for
+       XFmode, with a bitsize of 80.  Update commentary.
+       * config/ia64/ia64-modes.def: Likewise.
+       * config/m68k/m68k-modes.def: Likewise.
+
+2004-07-27  Steven Bosscher  <stevenb@suse.de>
+
+       * cfgexpand.c (tree_expand_cfg): Fix comment.
+
+       * calls.c (expand_call): Ignore rtx_equal_function_value_matters.
+       * function.c (purge_single_hard_subreg_set, purge_hard_subreg_sets):
+       Remove.
+       (prepare_function_start): Don't set rtx_equal_function_value_matters.
+       * integrate.c (copy_rtx_and_substitute): Don't test for it.
+       * passes.c (rest_of_compilation): Don't call purge_hard_subreg_sets.
+       Don't set rtx_equal_function_value_matters.  Don't register RTL hooks
+       here again.  Update leading comment.
+       * rtl.c (rtx_equal_function_value_matters): Remove.
+       (rtx_equal_p): Don't test for it.
+       * simplify-rtx.c (simplify_binary_operation, simplify_subreg):
+       Likewise.
+
+       * rtl.h (enum insn_note): Remove NOTE_INSN_LOOP_END_TOP_COND.
+       * rtl.c (note_insn_name): Likewise.
+       * emit-rtl.c (remove_unnecessary_notes): Don't handle it.
+       * final.c (final_scan_insn): Likewise.
+
+       * except.c (finish_eh_generation): Don't call cfg_cleanup from here.
+       * passes.c (rest_of_handle_eh): Do it here.
+
+       * stmt.c (struct nesting): Remove struct nesting block member.
+       (struct stmt_status): Remove x_block_start_count field.
+       (current_block_start_count): Remove.
+
+2004-07-27  Brian Booth  <bbooth@redhat.com>
+
+       * tree-optimize.c (register_one_dump_file): Update condition that uses
+       static_pass_number.
+       (dup_pass_1): Replace with...
+       (next_pass_1): This.
+       (NEXT_PASS): Call next_pass_1.
+       (DUP_PASS): Remove.
+       (init_tree_optimization_passes): Remove uses of DUP_PASS.
+       (execute_one_pass): Update condition that uses
+       static_pass_number.
+       * tree-pass.h (tree_opt_pass): Declare static_pass_number as a signed
+       integer.
+
+2004-07-27  Nick Clifton  <nickc@redhat.com>
+
+       * config/m32r/m32r.c: Include integrate.h in order to get the
+       prototype for get_hard_reg_initial_val().
+
+       * config/m32r/m32r.md (m32rpipeline): Remove unused value "m32r"
+       and tidy up indentation.
+       (final_presence_set): Use absence_set instead, so that if there is
+       nothing in the "o" pipe the "s" pipe can be scheduled.
+
+2004-07-27  Diego Novillo  <dnovillo@redhat.com>
+
+       * tree-ssa-alias.c (create_name_tags): Ignore pointers that
+       don't have PT_VARS nor PT_MALLOC set.
+       Clear name tag from pointers that have not been dereferenced.
+       (set_pt_anything, set_pt_malloc): Forward declare.
+       * tree-ssa-copy.c (may_propagate_copy): Compare alias sets,
+       not type compatibility when determining if a pointer can be
+       copy propagated.
+
+2004-07-27  Richard Sandiford  <rsandifo@redhat.com>
+
+       * expr.h (canonicalize_condition, get_condition): Add an int argument.
+       * gcse.c (fis_get_condition): Reimplement using get_condition, leaving
+       it to check whether the condition is still valid at the jump insn.
+       * ifcvt.c (noce_get_condition): Likewise.
+       (noce_get_alt_condition): Update call to canonicalize_condition.
+       * loop-iv.c (simplify_using_initial_values): Update call to
+       get_condition.  Remove FIXME.
+       (check_simple_exit): Update call to get_condition.
+       * loop-unswitch.c (may_unswitch_on): Likewise.
+       * loop.c (check_dbra_loop): Likewise.
+       (canonicalize_condition, get_condition): Add an argument to say whether
+       the condition must still be valid at INSN.
+       (get_condition_for_loop): Update call to get_condition.  Require that
+       the condition be valid at INSN.
+       * predict.c (estimate_probability): Update call to get_condition.
+       Remove unused earliest parameter.
+       (expected_value_to_br_prob): Update call to canonicalize_condition.
+
+2004-07-26  Eric Christopher  <echristo@redhat.com>
+
+       * tree-dfa.c (add_referenced_var): Register initializers of global
+       variables.
+
+2004-07-26  Paolo Bonzini  <bonzini@gnu.org>
+
+       * config/i386/i386.c (function_arg): Always treat 8-
+       and 16-byte wide vectors the same, even if MMX/SSE
+       are disabled.
+       (contains_128bit_aligned_vector_p): Add comment.
+
+2004-07-26  J"orn Rennecke <joern.rennecke@superh.com>
+
+       * ra.h (enum node_type): Rename to:
+       (enum ra_node_type).
+       * ra-colorize.c: Likewise.
+
+2004-07-26  Richard Sandiford  <rsandifo@redhat.com>
+
+       * cfgcleanup.c (try_simplify_condjump): Call update_forwarder_flag
+       after simplifying the jump.
+
+2004-06-26  Richard Henderson  <rth@redhat.com>
+
+       * calls.c (combine_pending_stack_adjustment_and_call): Make
+       preferred_unit_stack_boundary argument unsigned.  Make
+       unadjusted_alignment unsigned.
+       (expand_call): Make preferred_stack_boundary and
+       preferred_unit_stack_boundary variables unsigned.
+       * function.c (assign_stack_local_1): Make alignment unsigned.
+       * function.h (struct function): Make stack_alignment_needed,
+       preferred_stack_boundary unsigned.
+       * config/i386/i386.c (ix86_preferred_stack_boundary): Make unsigned.
+       (ix86_compute_frame_layout): Make stack_alignment_needed,
+       preferred_alignment variables unsigned.
+       * config/i386/i386.h (ix86_preferred_stack_boundary): Make unsigned.
+
+2004-07-26  Tom Tromey  <tromey@redhat.com>
+
+       * tree.h: Fix typo in comment.
+
+2004-07-26  Daniel Jacobowitz  <dan@debian.org>
+
+       PR bootstrap/12804
+       * ggc-zone.c (struct alloc_chunk): Remove attribute packed.
+       (MAX_FREE_BIN_SIZE): Increase on 64-bit targets.
+       (ggc_free): Remove incorrect freeing.
+       (sweep_pages): Advance PP for large pages.  Fix indentation.
+
+2004-07-26  Richard Sandiford  <rsandifo@redhat.com>
+
+       PR rtl-optimization/16643
+       * cfglayout.h (cfg_layout_initialize): Add a flags parameter.
+       * cfglayout.c (cfg_layout_initialize): Pass it to cleanup_cfg.
+       * basic-block.h (reorder_basic_blocks): Add a flags parameter.
+       * cfglayout.c (reorder_basic_blocks): Pass it to cfg_layout_initialize.
+       (partition_hot_cold_basic_blocks): Pass 0 to cfg_layout_initialize.
+       * function.c (thread_prologue_and_epilogue_insns): Likewise.
+       * rtl.h (tracer): Add a flags parameter.
+       * tracer.c (tracer): Pass it to cfg_layout_initialise.
+       * passes.c (rest_of_handle_stack_regs): Pass 0 to reorder_basic_blocks.
+       (rest_of_handle_reorder_blocks): Update calls to tracer and
+       reorder_basic_blocks, passing CLEANUP_UPDATE_LIFE if appropriate.
+       (rest_of_handle_tracer): Pass 0 to tracer.
+       (rest_of_handle_loop2): Pass 0 to cfg_layout_initialize.
+
+2004-07-25  David Edelsohn  <edelsohn@gnu.org>
+
+       PR target/16239
+       * config/rs6000/rs6000.md (movdi_internal64): Further disparage
+       f->f.
+
+2004-07-24  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * tree.h (BINFO_BASE_ACCESSES): Accesses are a VEC(tree).
+       (BINFO_BASE_ACCESS): Adjust.
+       (BINFO_BASE_ACCESS_APPEND): New.
+       (struct tree_binfo): Make base_accesses a VEC(tree) pointer.
+       * dbxout.c (dbxout_type): Adjust binfo access accessing.
+       * dwarf2out.c (gen_member_die): Likewise.
+       * tree-dump.c (deque_and_dump): Likewise.
+
+2004-07-26  Falk Hueffner  <falk@debian.org>
+
+       * config/alpha/alpha.c (alpha_rtx_cost_data): Tweak int_div
+       costs.
+
+2004-07-25  Roger Sayle  <roger@eyesopen.com>
+
+       * config/i386/i386.c (output_fp_compare): Use ffreep to pop top
+       value off of the stack if TARGET_USE_FFREEP.
+
+2004-07-26  Bernardo Innocenti  <bernie@develer.com>
+
+       * gengtype.c (oprintf): Replace xrealloc () with XRESIZEVEC ().
+       * gengtype-yacc.y: Likewise.  Replace free() with XDELETE ().
+       * c-typeck.c (PUSH_SPELLING): Remove redundant NULL-pointer
+       check on invocation of XRESIZEVEC ().
+
+2004-07-26  Bernardo Innocenti  <bernie@develer.com>
+
+       * c-common.c (disable_builtin_function): Rename variable n to
+       new_disabled_builtin.
+       * c-decl.c (duplicate_decls): Rename parameter decl to new_decl.
+       Rename local variable old to old_decl.
+       * gensupport.c (shift_output_template): Rename parameter old to src.
+       * simplify-rtx.c (simplify_replace_rtx): Rename parameter oldx to
+       old_rtx and newx to new_rtx.
+
+2004-07-26  Bernardo Innocenti  <bernie@develer.com>
+
+       * Makefile.in (C_PRAGMA_H): New variable to track dependencies
+       of c-pragma.h.
+       * c-pragma.h (c_lex, c_lex_with_flags): Change returntype to
+       enum cpp_ttype.
+       * c-lex.c: Likewise.
+
+2004-07-25  Roger Sayle  <roger@eyesopen.com>
+
+       * fold-const.c (constant_boolean_node): Make extern.
+       (make_range): Wrap long lines.
+       (fold_cond_expr_with_comparison): Remove unnecessary call to
+       pedantic_non_lvalue.  Add missing calls to fold_convert.
+       (fold_truthop): Add missing calls to fold_convert.
+       (fold): Likewise.
+       * tree.h (constant_boolean_node): Add prototype here.
+       * builtins.c (expand_builtin_strncmp): Add missing calls to
+       fold_convert.
+       * tree-ssa-dom.c (record_equivalences_from_incoming_edge):
+       Call fold_convert and constant_boolean_node to correct types.
+       * tree-ssa-forwprop.c (substitute_single_use_vars): Add
+       missing call to fold_convert to correct types.
+
+2004-07-26  Niall Douglas  <s_fsfeurope2@nedprod.com>
+           Brian Ryner  <bryner@brianryner.com>
+
+       PR c++/9283
+       PR c++/15000
+       * c-common.c (c_common_attribute_table): Allow
+       handle_visibility_attribute to be called for types.
+       (handle_visibility_attribute) When given a type, set the visibility
+       bits on the TYPE_NAME.  When given a decl, don't set no_add_attrs
+       so that we can check later whether the attribute was present. Added
+       warning if attribute applied to non class type.
+       * c-decl.c (diagnose_mismatched_decls): Updated rules for merging
+       decls and checking that they are consistent.
+       * common.opt: Added -fvisibility.
+       * c.opt, c-opts.c: Added -fvisibility-inlines-hidden.
+       * c-pragma.h, c-pragma.c: Added handle_pragma_visibility().
+       * flags.h, tree.h: Added assorted support defines for overall patch
+       * opts.c: Added parsing support for -fvisibility.
+       * tree.c (build_decl): Set visibility for all decls to be whatever
+       is in force at that time.
+       * varasm.c (default_binds_local_p_1): Reworked logic determining
+       when to make a symbol locally bound.
+       * doc/invoke.texi: Added documentation for -fvisibility and
+       -fvisibility-inlines-hidden.
+
+2004-07-25  Bernardo Innocenti  <bernie@develer.com>
+
+       * basic-block.h (reorder_block_def): Rename to reorder_block_def_p.
+       * c-common.c: Add missing casts from void * to other types.
+       * c-decl.c: Likewise.
+       * c-format.c: Likewise.
+       * c-lex.c: Likewise.
+       * c-pragma.c: Likewise.
+       * c-typeck.c: Likewise.
+       * defaults.h: Likewise.
+       * genconstants.c: Likewise.
+       * gengtype-lex.l: Likewise.
+       * genmodes.c: Likewise.
+       * read-rtl.c: Likewise.
+       * rtl.c: Likewise.
+
+2004-07-25  Bernardo Innocenti  <bernie@develer.com>
+
+       * bitmap.c: Use type-safe memory allocation macros from libiberty.
+       * c-common.c: Likewise.
+       * c-decl.c: Likewise.
+       * c-lang.c: Likewise.
+       * c-lex.c: Likewise.
+       * c-opts.c: Likewise.
+       * c-parse.in: Likewise.
+       * c-typeck.c: Likewise.
+       * genconditions.c: Likewise.
+       * gengtype-lex.l: Likewise.
+       * gengtype-yacc.y: Likewise.
+       * gengtype.c: Likewise.
+       * genmodes.c: Likewise.
+       * gensupport.c: Likewise.
+       * read-rtl.c: Likewise.
+       * read-rtl.c (read_constants): Use INSERT instead of TRUE in call to
+       htab_find_slot().
+
+2004-07-25  Bernardo Innocenti  <bernie@develer.com>
+
+       * c-decl.c (groktypename, groktypename_in_param_context): Rename
+       variable typename to type_name.
+       * c-lex.c (interpret_float): Likewise.
+
+2004-07-25  Roger Sayle  <roger@eyesopen.com>
+
+       * convert.c (convert_to_real, convert_to_integer,
+       convert_to_complex): Replace calls to build with calls to buildN.
+       * coverage.c (tree_coverage_counter_ref): Likewise.
+       * dojump.c (do_jump): Likewise.
+       * dwarf2out.c (loc_descriptor_from_tree): Likewise.
+       * emit-rtl.c (component_ref_for_mem_expr,
+       set_mem_attributes_minus_bitpos): Likewise.
+       * explow.c (update_nonlocal_goto_save_area): Likewise.
+       * expmed.c (expand_shift, make_tree, const_mult_add_overflow_p,
+       expand_mult_add): Likewise.
+       * expr.c (emit_block_move_via_libcall, clear_storage_via_libcall,
+       store_constructor, get_inner_reference, expand_expr_real_1,
+       try_casesi, try_tablejump): Likewise.
+       * function.c (expand_function_start): Likewise.
+       * stmt.c (emit_case_bit_tests, expand_end_case_type,
+       node_has_low_bound, node_has_high_bound, emit_case_nodes): Likewise.
+       * stor-layout.c (place_union_field, layout_type): Likewise.
+       * tree.c (substitute_in_expr, tree_fold_gcd): Likewise.
+       * varasm.c (copy_constant): Likewise.
+
+2004-07-25  Bernardo Innocenti  <bernie@develer.com>
+
+       * c-common.c: Rename all identifiers named `new'.
+       * c-decl.c: Likewise.
+       * gensupport.c: Likewise.
+       * simplify-rtx.c: Likewise.
+       * c-common.c (disable_builtin_function): Replace a call to xmalloc()
+       with XNEW().
+       * gensupport.c (alter_output_for_insn): Replace two calls to xmalloc()
+       with XNEWVEC().
+
+2004-07-25  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       PR c/15360
+       * c-decl.c (start_decl): Do not set DECL_EXTERNAL for initialized
+       declarations until after calling pushdecl.
+       (grokdeclarator): Set DECL_EXTERNAL for variables based on use of
+       "extern" and not on whether the declaration is initialized.
+
+2004-07-25  Daniel Jacobowitz  <dan@debian.org>
+
+       * config.gcc (i[34567]86-*-solaris2*, sparc64-*-solaris2*)
+       (sparc-*-solaris2*): Include sol2.o and sol2-protos.h.
+       * config/sol2-c.c: Include "tm.h", "tm_p.h", "toplev.h",
+       "cpplib.h", "c-pragma.h", "c-common.h".
+       (solaris_pragma_align, solaris_pragma_init, solaris_pragma_fini)
+       (solaris_register_pragmas): New functions.
+       * config/sol2-protos.h: New file.
+       * config/sol2.c: New file.
+       * config/sol2.h (SOLARIS_ATTRIBUTE_TABLE, ASM_DECLARE_FUNCTION_SIZE)
+       (REGISTER_TARGET_PRAGMAS): New macros.
+       (solaris_pending_aligns, solaris_pending_inits)
+       (solaris_pending_finis): New variables.
+       * config/t-sol2 (sol2-c.o): Update dependencies.
+       (sol2.o): New rule.
+       * config/i386/i386.c (TARGET_INSERT_ATTRIBUTES): Define in terms of
+       SUBTARGET_INSERT_ATTRIBUTES.
+       (ix86_attribute_table): Include SUBTARGET_ATTRIBUTE_TABLE.
+       * config/i386/sol2.h (SUBTARGET_INSERT_ATTRIBUTES)
+       (SUBTARGET_ATTRIBUTE_TABLE, ASM_OUTPUT_CALL): Define.
+       * config/sparc/elf.h (ASM_DECLARE_FUNCTION_SIZE): Redefine.
+       * config/sparc/sp64-elf.h (ASM_DECLARE_FUNCTION_SIZE): Redefine.
+       * config/sparc/sol2.h (SUBTARGET_INSERT_ATTRIBUTES)
+       (SUBTARGET_ATTRIBUTE_TABLE, ASM_OUTPUT_CALL): Define.
+       * config/sparc/sparc.c (sparc_attribute_table): New.
+       (TARGET_INSERT_ATTRIBUTES): Define in terms of
+       SUBTARGET_INSERT_ATTRIBUTES.
+       (TARGET_ATTRIBUTE_TABLE): Define if SUBTARGET_ATTRIBUTE_TABLE
+       is defined.
+       * doc/extend.texi (Solaris Pragmas): New section.
+
+2004-07-25  Bernardo Innocenti  <bernie@develer.com>
+
+       * c-common.c: Rename all identifiers named `class' to `cl'.
+       * c-common.h: Likewise.
+       * c-parse.in: Likewise.
+       * c-typeck.c: Likewise.
+       * genmodes.c: Likewise.
+       * real.c: Likewise.
+       * real.h: Likewise.
+       * recog.c: Likewise.
+       * recog.h: Likewise.
+       * regrename.c: Likewise.
+       * tree.h: Likewise.
+       * c-common.c (builtin_function_2): Change type of 5th parameter from
+       int to enum built_in_function. Change type of 8th parameter from int
+       to bool.
+       * c-decl (builtin_function): Replace call to ggc_alloc_cleared ()
+       with GGC_CNEW().
+       * c-typeck.c (convert_arguments): Change type of formal_prec from
+       int to unsigned int.
+       * genmodes.c (blank_mode): Make a few negative constants unsigned.
+       (complete_all_modes, calc_wider_mode, emit_insn_modes_h,
+       emit_mode_name, emit_mode_class, emit_mode_precision, emit_mode_size,
+       emit_mode_nunits, emit_mode_wider, emit_mode_mask, emit_mode_inner,
+       emit_mode_base_align, emit_class_narrowest_mode): Pass an integer
+       iterator to for_all_modes () instead of an enum because enums can't
+       be incremented in C++.
+
+
+2004-07-25  Daniel Jacobowitz  <dan@debian.org>
+
+       * regmove.c (optimize_reg_copy_1): Don't try to replace call-used
+       hard registers.
+
+2004-07-25  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * tree-ssa-operands.c (get_stmt_operands, get_expr_operands):
+       Handle ARRAY_RANGE_REF like ARRAY_REF.
+
+2004-07-25  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       * c-typeck.c (digest_init): Don't allow arrays of signed or
+       unsigned variants of wchar_t to be initialized by wide string
+       constants.  Do allow arrays of enumerated types compatible with
+       wchar_t to be initialized by wide string constants.  Refine tests
+       distinguishing wide and narrow strings and arrays.  Give specific
+       error for arrays of other integer types initialized by string
+       constants.
+       (output_init_element, process_init_element): Check for
+       INTEGRAL_TYPE_P rather than just for INTEGER_TYPE when
+       initializing with string constants.
+
+2004-07-25  Richard Henderson  <rth@redhat.com>
+
+       * c-decl.c (start_function): Set DECL_ARTIFICIAL and DECL_IGNORED_P
+       on the RESULT_DECL.
+       * cgraphunit.c (cgraph_build_static_cdtor): Likewise.
+       * integrate.c (copy_decl_for_inlining): Copy DECL_ARTIFICIAL and
+       DECL_IGNORED_P to new decl.
+
+2004-07-24  Zack Weinberg  <zack@codesourcery.com>
+
+       * config/ia64/ia64.c (general_xfmode_operand)
+       (destination_xfmode_operand): Delete.
+       * config/ia64/ia64.h (PREDICATE_CODES): Remove them.
+       * config/ia64/ia64.md (*movxf_internal): Use general_operand
+       and destination_operand.
+
+2004-07-24  Alexander Kabaev  <kan@freebsd.org>
+
+       * config/ia64/ia64.h (SUBTARGET_EXTRA_SPECS): Default to nothing.
+       (EXTRA_SPECS): Use SUBTARGET_EXTRA_SPECS.
+
+2004-07-24  Alexander Kabaev  <kan@freebsd.org>
+           Zack Weinberg  <zack@codesourcery.com
+
+       PR 16684
+       * c-decl.c (diagnose_mismatched_decls): Don't issue a
+       redundant-declaration warning the first time a builtin is
+       declared explicitly.
+
+2004-07-25  Bernardo Innocenti  <bernie@develer.com>
+
+       * tree.h (staticp): Change return type to bool.
+
+2004-07-25  Bernardo Innocenti  <bernie@develer.com>
+
+       * c-common.c (c_staticp): Last episode of the staticp saga.
+
+2004-07-25  Bernardo Innocenti  <bernie@develer.com>
+
+       * c-common.h (c_staticp): Change return type from int to bool.
+       * tree.c (staticp): Likewise.
+       * langhooks.h (staticp): Likewise.
+
+2004-07-25  Bernardo Innocenti  <bernie@develer.com>
+
+       * langhooks-def.h (lhd_staticp): Change return type from int to
+       bool in prototype to match definition.
+
+2004-07-25  Bernardo Innocenti  <bernie@develer.com>
+
+       * system.h (bool, true, false): Don't redefine as preprocessor macros
+       in C++.
+
+2004-07-24  Roger Sayle  <roger@eyesopen.com>
+
+       * expmed.c (init_expmed): A signed modulus by a power of two is
+       considered cheap if its less than or equal to four instructions.
+
+2004-07-25  Bernardo Innocenti  <bernie@develer.com>
+
+       * ggc.h (GGC_NEW, GGC_CNEW, GGC_NEWVEC, GGC_CNEWVEC, GGC_NEWVAR,
+       GGC_CNEWVAR): New macros.
+
+2004-07-25  Bernardo Innocenti  <bernie@develer.com>
+
+       * c-common.c: Convert ATTRIBUTE_UNUSED to ARG_UNUSED in parameter
+       lists.
+       * c-decl.c: Likewise.
+       * c-format.c: Likewise.
+       * c-lex.c: Likewise.
+       * c-opts.c: Likewise.
+       * c-pragma.c: Likewise.
+       * c-typeck.c: Likewise.
+       * gencheck.c: Likewise.
+       * genconditions.c: Likewise.
+       * genconfig.c: Likewise.
+       * genflags.c: Likewise.
+       * gengtype.c: Likewise.
+       * gensupport.c: Likewise.
+       * ggc-none.c: Likewise.
+       * langhooks.c: Likewise.
+       * statistics.h: Likewise.
+       * stub-objc.c: Likewise.
+       * java/decl.c: Likewise.
+
+2004-07-24  Roman Zippel  <zippel@linux-m68k.org>
+
+       * config/m68k/m68k.c (output_scc_di): Fix coding style.
+       (symbolic_operand): Fix prototype.
+       * config/m68k/m68k.h (PREDICATE_CODES): Add symbolic_operand.
+       * config/m68k/m68k.md: Add constants for registers a0 and sp and
+       use them, change from the "{...}" syntax to the simpler {...}
+       syntax.
+       (*cfv4_extendqisi2): Fix destination predicate.
+       * config/m68k/m68k-protos.h: Remove various declarations also
+       generated via PREDICATE_CODES.
+
+2004-07-23  Mike Stump  <mrs@apple.com>
+
+       * c-typeck.c (convert_for_assignment): Tightened up pointer
+       converstions that differ in signedness.
+
+2004-07-23  Zack Weinberg  <zack@codesourcery.com>
+
+       * genmodes.c (make_vector_modes): Mark with ATTRIBUTE_UNUSED.
+
+2004-07-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * tree.def (VIEW_CONVERT_EXPR): Change to class 'r'.
+       * tree-ssa-operands.c (get_expr_operands, case VIEW_CONVERT_EXPR): New.
+
+       * gimplify.c (gimplify_compound_lval): Check for no handled
+       operations, rather than checking for explicit list of nodes.
+       (is_gimple_addr_expr_arg_or_indirect): New function.
+       (gimplify_addr_expr): Call it and handle INDIRECT_REF; remove
+       redundant setting of TREE_INVARIANT.
+       (gimplify_expr, case VIEW_CONVERT_EXPR): Call gimplify_compound_lval.
+       * tree-gimple.c (is_gimple_addr_expr_arg): Call handled_component_p.
+
+2004-07-23  Diego Novillo  <dnovillo@redhat.com>
+
+       PR tree-optimization/16688
+       PR tree-optimization/16689
+       * tree-ssa-alias.c (setup_pointers_and_addressables): Remove
+       unnecessary initialization of 'tag'.
+       (get_tmt_for): Check that the new type tag has the same alias
+       set as the pointed-to type.
+       (group_aliases): Only regular variables need to be removed
+       from the alias set of a name tag.
+       * tree-ssa-copy.c (may_propagate_copy): Do not allow copy
+       propagation if the two types are not compatible.
+       (merge_alias_info): Rename from replace_ssa_names_ann.
+       Add more checking.
+       (replace_exp_1): If both arguments are SSA_NAMEs, check that
+       the propagation can be done.
+       Only call merge_alias_info on pointers.
+       (propagate_value): Likewise.
+       * tree-ssa-copyrename.c: Include langhooks.h.
+       (copy_rename_partition_coalesce): Call replace_ssa_name_symbol
+       to do the merging.
+       Do not coalesce variables with incompatible types.
+       (rename_ssa_copies): Call replace_ssa_name_symbol.
+       * tree-ssa.c (verify_ssa_name): Verify that the SSA_NAME has
+       the same type as the underlying _DECL.
+       * tree-ssanames.c (replace_ssa_name_symbol): New function.
+       * tree.h (replace_ssa_name_symbol): Declare.
+
+2004-07-23  Richard Henderson  <rth@redhat.com>
+
+       PR c++/16277
+       * gimplify.c (gimplify_cond_expr): Gimplify TARGET to a min_lval;
+       unshare it properly.
+       (gimplify_modify_expr_rhs): Push assignment from a conditional into
+       the conditional for all non-register types.
+
+2004-07-23  Richard Henderson  <rth@redhat.com>
+
+       * expr.c (expand_expr_real_1): Don't handle non-local variables.
+       * expr.h (fix_lexical_addr): Remove.
+       * function.c (NEED_SEPARATE_AP): Remove.
+       (fix_lexical_addr): Remove.
+       * tree-alias-common.c (get_alias_var_decl): Check TREE_STATIC,
+       not null decl_function_context.
+       (create_alias_vars): Likewise.
+       * tree-cfg.c (make_ctrl_stmt_edges): Don't check for non-local labels.
+       (simple_goto_p): Likewise.
+       * tree-dfa.c (add_referenced_var): Don't check for non-local variables.
+       * tree-ssa-ccp.c (get_default_value): Likewise.
+       * tree-tailcall.c (suitable_for_tail_opt_p): Likewise.
+       * tree.c (needs_to_live_in_memory): Likewise.
+       * tree-flow-inline.h (may_be_aliased): Move...
+       * tree-ssa-alias.c (may_be_aliased): ... here.  Enhance check for
+       when TREE_STATIC variables may be addressable.
+
+2004-07-24  Jakub Jelinek  <jakub@redhat.com>
+
+       * Makefile.in (site.exp): Add HOSTCC and HOSTCFLAGS to site.exp.
+
+2004-07-23  Zack Weinberg  <zack@codesourcery.com>
+
+       * print-rtl.c (print_rtx <case 'b'>): Don't attempt to print
+       bitmap contents if GENERATOR_FILE is defined.
+       * Makefile.in (BUILD_RTL): Remove $(BUILD_PREFIX)bitmap.o.
+       ($(BUILD_PREFIX_1)bitmap.o): Delete rule.
+
+2004-07-23  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       * c-decl.c (start_function): Form composite type of function types
+       rather than copying type from previous prototype declaration.
+
+2004-07-23  Janis Johnson  <janis187@us.ibm.com>
+
+       * config/rs6000/altivec.h (vec_lvewx, vec_lvehx, vec_lvwbx): Remove
+       the const qualifier for the second argument in the C++ functions.
+
+       * config/rs6000/altivec.h (vec_stvewx, vec_stvehx, vec_stvebx): Use
+       specific pointer types.
+
+       * config/rs6000/altivec.h (vec_vadduwm): (vec_vadduwm, vec_vadduhm,
+       vec_vaddubm, vec_vsubuwm, vec_vsubuhm, vec_vsububm): Fix types used
+       for vector bool and/or vector pixel, add C++ and C missing support.
+       (vec_vaddsws, vec_vaddshs, vec_vaddsbs, vec_vmaxsw, vec_vmaxsh,
+       vec_vmaxsb, vec_vmrghw, vec_vmrghh, vec_vmrghb, vec_vmrglw, vec_vmrglh,
+       vec_vmrglb, vec_vminsw, vec_vminsh, vec_vminsb, vec_vpkuwum,
+       vec_vpkuhum, vec_vspltw, vec_vsplth, vec_vspltb, vec_vsubsws,
+       vec_vsubshs, vec_vsubsbs, vec_vupklsh, vec_vupkhsh, vec_vupklsb): Add
+       missing C++ and C support for vector bool and/or vector pixel.
+       (vec_vadduws, vec_vadduhs, vec_vaddubs, vec_vcmpeqfp, vec_vcmpequw,
+       vec_vcmpequh, vec_vcmpequb, vec_vcmpgtfp, vec_vcmpgtsw, vec_vcmpgtuw,
+       vec_vcmpgtsh, vec_vcmpgtuh, vec_vcmpgtsb, vec_vcmpgtub, vec_vmaxuw,
+       vec_vmaxuh, vec_vmaxub, vec_vminuw, vec_vminuh, vec_vminub,
+       vec_vsubuws, vec_vsubuhs, vec_vsububs, vec_vupkhpx, vec_vupklpx): Fix
+       C++ and C types used for vector bool and/or vector pixel.
+       (vec_st, vec_stl): Add C++ support for vector pixel.
+       (vec_unpackh, vec_unpackl, vec_any_ge): Fix C++ support for vector bool.
+       (vec_all_ne): Add C++ support for vector pixel.
+
+       * config/rs6000/altivec.h (vec_vcmpgtsh): Fix C++ function name.
+       (vec_vmulesb): Add missing C++ function.
+       (vec_perm): Fix type of third argument in C++ function.
+       (vec_vsum4shs): Fix C++ function name.
+       (vec_any_ge): Remove C++ functions for unsupported arg combinations.
+       (vec_vcmpgtsw, vec_vcmpgtuw, vec_minsb, vec_vmsummbm): Fix the
+       argument passed to the error handler in C macro.
+       (vec_nmsub): Remove extra parens around argument names in C macro.
+       (vec_packpx): Add missing parens in C macro.
+
+2004-07-22  Paolo Bonzini  <bonzini@gnu.org>
+
+       * machmode.def: Remove vector modes.
+       * config/alpha/alpha-modes.def: Add supported vector modes.
+       * config/arm/arm-modes.def: Likewise.
+       * config/frv/frv-modes.def: Likewise.
+       * config/i386/i386-modes.def: Likewise.
+       * config/rs6000/rs6000-modes.def: Likewise.
+       * config/sh/sh-modes.def: Likewise.
+
+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,