OSDN Git Service

2004-09-22 Frank Ch. Eigler <fche@redhat.com>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 265495f..0d59f07 100644 (file)
@@ -1,5 +1,784 @@
-2004-09-16  Daniel Berlin  <dberlin@dberlin.org>
+2004-09-22  Frank Ch. Eigler  <fche@redhat.com>
+
+       * dominance.c (verify_dominators): Don't SEGV if recount_dominator
+       returns NULL.
+
+2004-09-22  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * doc/c-tree.texi (TRUTH_NOT_EXPR, TRUTH_ANDIF_EXPR,
+       TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR,
+       TRUTH_XOR_EXPR): Mention the restriction on types.
+
+2004-09-22  Matt Austern  <austern@apple.com>
+
+       * config/darwin.c (darwin_make_decl_one_only)
+       Allow coalesced symbol to appear in static archive's table of contents
+       
+2004-09-22  Kazu Hirata  <kazu@cs.umass.edu>
+
+       PR tree-optimization/17512
+       * convert.c (convert_to_integer): Don't handle TRUTH_*_EXPR as
+       special cases.
+
+2004-09-22  David Edelsohn  <edelsohn@gnu.org>
+
+       * dbxout.c (get_lang_number): Do not define if
+       DBX_OUTPUT_MAIN_SOURCE_DIRECTORY is defined.
+
+2004-09-22  Ralf Corsepius  <corsepiu@faw.uni-ulm.de>
+
+       PR target/15583
+       * config/rs6000/rtems.h (TARGET_OS_CPP_BUILTINS): Add
+       builtin_define ("__USE_INIT_FINI__").
+
+2004-09-22  P.J. Darcy  <darcypj@us.ibm.com>
+
+       * config/s390/s390-protos.h (s390_emit_tpf_eh_return): Add prototype.
+       * config/s390/s390.c (s390_emit_tpf_eh_return): New function.
+       * config/s390/s390.h (TARGET_TPF): New macro.
+       * config/s390/s390.md ("eh_return"): New expander.
+       * config/s390/t-tpf (LIB2ADDEH): Use unwind-dw2-fde.c rather than
+       unwind-dw2-fde-glibc.c.  Add config/s390/tpf-eh.c.
+       (LIB2ADDEHDEP): Remove unwind-dw2-fde.c.
+       * config/s390/tpf.h (TARGET_TPF): Define to 1.
+       (STACK_POINTER_OFFSET): Increase to 448.
+       (TARGET_DEFAULT): Set -mtpf-trace on as default.
+       (TPF_LOC_DIFF_OFFSET): New macro.
+       (ASM_PREFERRED_EH_DATA_FORMAT): Redefine to always use absolute
+       encoding.
+       (__isPATrange): Add prototype.
+       (MD_FALLBACK_FRAME_STATE_FOR): Define.
+       * config/s390/tpf-eh.c: New file.
+
+2004-09-22  Diego Novillo  <dnovillo@redhat.com>
+
+       * fold-const.c (fold): Avoid non INTEGER_TYPEs when widening
+       operands in an integer comparison.
+       * tree-cfg.c (find_taken_edge): Call fold() to determine
+       whether the predicate is known.
+
+2004-09-22  Kelley Cook  <kcook@gcc.gnu.org>
+
+       * aclocal.m4: Import AM_PROG_CC_C_O and AM_AUX_DIR_EXPAND.
+       * configure.ac: Call AM_PROG_CC_C_O instead of AC_PROG_CC_C_O.
+       Create build and doc directories along with the language directories.
+       Don't create doc directory separately.
+       * configure: Regenerate.
+       * Makefile.in: Create all object and executables files built
+       with the build compiler in a build/ directory.
+       (genobjnames): Add missing build objects.
+       (STAGESTUFF): Don't stage the gen* programs.
+       (ggc-none.o): Define dependencies for the target compiler.
+       (build-print-rtl.o): Rename to build/print-rtl.o.
+       (build-errors.o): Rename to build/errors.o.
+       (build-varray.o): Rename to build/varray.o.
+       (maintainerclean): Delete the contents of the build directory.
+       ($(genobjs): %.o): Explicitly use -o.
+       (build/insn-conditions.o): Delete specfic rule to use generic rule.
+       (build/gengtype-lex.o): Likewise.
+       (build/gengtype-yacc.o): Likewise.
+       (build/gcov-iov.o): Likewise.
+
+2004-09-22  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * vec.h (VEC_space): Return true if there _is_ space.
+       (VEC_reserve): Adjust.
+
+2004-09-22  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.c (mips_function_value): For o32, o64, n32 and n64,
+       use FPRs for scalar, complex and vector types only.
+
+2004-09-21 Jeff Law  <law@redhat.com>
+
+       * tree-ssa-dom.c (opt_stats): Move so that it lives just after
+       the opt_stats_d structure.
+       (vrp_data): Change from a varray into a hash table.
+       (vrp_hash_elt): New structure for elements in the vrp hash table.
+       (vrp_hash, vrp_eq):New functions for hashing and testing equality
+       in the vrp hash table.
+       (tree_ssa_dominator_optimize): Initialize VRP_DATA.  Reorganize
+       initialization slightly to make it easier to read.  No longer need
+       to grow/clear the varray.  Instead empty and delete the hash table.
+       (dom_opt_finalize_block): Update due to change of VRP_DATA from
+       a varray to a hash table.
+       (simplify_cond_and_loop_avail_expr, record_range): Similarly.
+
+       * tree-ssa-ccp.c (get_default_value): If we have a constant
+       value recorded for an SSA_NAME, then use that constant as
+       the initial lattice value.
+       (substitute_and_fold): Transfer equivalences discovered into
+       SSA_NAME_EQUIV.
+       * tree.h (SSA_NAME_EQUIV): Add comments.
+       (SET_SSA_NAME_EQUIV): Similarly.
+
+2004-09-21  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/linux64.h (PROCESSOR_DEFAULT64): Default to POWER4.
+
+       * config/rs6000/rs6000.c (rs6000_adjust_cost): dep_insn is used.
+
+2004-09-21  Mark Mitchell  <mark@codesourcery.com>
+
+       * c-decl.c (implicityl_declare): Call maybe_apply_renaming_pragma.
+       (finish_decl): Likewise.
+
+2004-09-21  Devang Patel  <dpatel@apple.com>
+
+       * tree.def (VEC_COND_EXPR): New tree node.
+       * tree-ssa-operands.c (get_expr_operands): Handle VEC_COND_EXPR.
        
+2004-09-21  Stan Shebs  <shebs@apple.com>
+
+       * config/rs6000/darwin-tramp.asm: Add __ppc64__ case.
+       * config/rs6000/darwin-world.asm: Likewise.
+       
+2004-09-21  Daniel Berlin  <dberlin@dberlin.org>
+
+       * tree-ssa.c (verify_def): Use print_generic_stmt,
+       not debug_generic_stmt.
+       (verify_use): Ditto.
+       (verify_phi_args): Ditto.
+       (verify_ssa): Ditto.
+
+2004-09-21  Paul Brook  <paul@codesourcery.com>
+
+       * varasm.c (default_assemble_integer): Return false for values wider
+       than the target word size.  Works around GAS bug.
+
+2004-09-21  Zack Weinberg  <zack@codesourcery.com>
+
+       * reg-notes.def (REG_DEP_TRUE): New entry, place first so it
+       gets value 0.
+       * print-rtl.c (print_rtx): Print the name of a REG_NOTE even
+       if it has value 0.
+
+2004-09-21  Daniel Berlin <dberlin@dberlin.org>
+
+       * c-typeck.c (build_function_call): Give name of object
+       we are attempting to call in error message.
+       * c-objc-common.c (c_tree_printer): Call pp_expression,
+       not return false, for 'E' case.
+
+2004-09-21  Steven Bosscher  <stevenb@suse.de>
+
+       PR rtl-optimization/17482
+       * postreload-gcse.c (reg_avail_info, oprs_unchanged_p,
+       load_killed_in_block_p): Clarify comments.
+       (record_last_reg_set_info): Make static inline.
+       (mark_call, mark_set, mark_clobber, mark_oprs_set): Remove.
+       (record_opr_changes): New function to replace the above.
+       (compute_hash_table): Clarify comments.  Use record_opr_changes.
+       (reg_set_between_after_reload_p): Clean up.
+       (reg_used_between_after_reload_p): Likewise.
+       (eliminate_partially_redundant_load): Clarify comments.
+
+2004-09-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR rtl-optimization/17266
+       * regmove.c (optimize_reg_copy_3): Make a new SUBREG for each insn.
+
+2004-09-21  Uros Bizjak  <uros@kss-loka.si>
+
+       PR rtl-optimization/14851
+       * rtlanal.c (commutative_operand_precedence): Calculate
+       precedence of stripped constant.
+
+2004-09-20 Jeff Law  <law@redhat.com>
+          Jan Hubicka  <jh@suse.cz>
+
+       * tree-ssanames.c (make_ssa_name): No longer need to clear, then
+       initialize key elements here.
+       (release_ssa_name): Zero the released SSA_NAME here.
+       * tree.h (SSA_NAME_EQUIV, SET_SSA_NAME_EQUIV): New macros.
+       (struct tree_ssa_name): Add new "equiv" field.
+       * tree-ssa-dom.c (const_and_copies): Kill the global varray.
+       (tree_ssa_dominator_optimize): No longer allocate, resize or
+       clear CONST_AND_COPIES.
+       (get_value_for, set_value_for): Kill.
+       (thread_across_edge): Get/set the equivalency using
+       SSA_NAME_EQUIV and SET_SSA_NAME_EQUIV.
+       (restore_vars_to_original_value): Likewise.
+       (record_equivalences_from_phis): Likewise.
+       (record_dominating_conditions): Likewise.
+       (record_const_or_copy, record_equality): Likewise.
+       (lookup_avail_expr): Likewise.
+       (record_equivalences_from_stmt, cprop_operand): Likewise.
+       (cprop_into_successor_phis): No longer need to pass around
+       CONST_AND_COPIES.  Callers updated. Get equivalences via
+       SSA_NAME_EQUIV.
+       (cprop_into_phis): Likewise.
+
+2004-09-20  Matt Austern <austern@apple.com>
+           Zack Weinberg  <zack@codesourcery.com>
+
+       * c-common.c (fix_string_type): Build the unqualified array
+       type unconditionally, then use c_build_qualified_type to get
+       the proper const-qualified variant, and set its
+       TYPE_MAIN_VARIANT to refer to the unqualified type.
+       * c-lex.c (c_lex_return_raw_string): New global.
+       (c_lex_with_flags): Honor it.
+       * c-pragma.h: Declare it.
+
+2004-09-20  Daniel Berlin  <dberlin@dberlin.org>
+
+       * Makefile.in: Fix flags.h dependencies to be $(FLAGS_H).
+
+2004-09-21  Jan Hubicka  <jh@suse.cz>
+
+       PR middle-end/17126
+       * tree-optimize.c (update_inlined_to_pointers): Fix the recursion.
+       (tree_rest_of_compilation): Cleanup.
+
+2004-09-20  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * config/s390/s390.c (s390_select_rtx_section): Remove.
+       (TARGET_ASM_SELECT_RTX_SECTION): Do not redefine.
+
+2004-09-20  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * config/sh/sh.c (sh_expand_prologue): Add a REG_FRAME_RELATED_EXPR
+       note to pretend a direct save from the original register when an
+       intermediate register is used for the save.
+
+2004-09-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * tsystem.h (alloca): Provide a default definition.
+
+       Revert:
+       2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+           * unwind-dw2.c: Call __builtin_alloca, not alloca.
+
+2004-09-20  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR tree-opt/17558
+       * tree-ssa-copy.c (may_propagate_copy): Only allow if the
+       aliasing sets are the same rather than just conflicting.
+
+2004-09-20  Jan Hubicka  <jh@suse.cz>
+
+       PR middle-end/16460
+
+       * cgraph.c (cgraph_unnest_node): New function.
+       (c_finalize): Rename to ....
+       (c_warn_unused_result_recursivly): ... this one; do only the warning
+       (finish_function): Finalize the toplevel function; do not lower nested tree.
+       * cgraph.h (cgraph_unnest_node): Declare.
+       * cgraphunit.c (decide_is_function_needed): Do not use cgraph
+       nestedness datastructure.
+       * cse.c (cse_insn): Do not cprop nonlocal LABEL_REFs.
+       * reload1.c (set_label_offsets): Fix call of set_label_offsets.
+       * tree-nested.c (finlize_nesting_tree_1):  Use un-nesting code.
+
+2004-09-20  Richard Henderson  <rth@redhat.com>
+
+       * config/alpha/alpha.c (some_small_symbolic_operand_int): Rename
+       from some_small_symbolic_operand_1; export.
+       (some_small_symbolic_operand): Remove.
+       * config/alpha/alpha.md (some_small_symbolic_operand splitter): Remove
+       extra C check.
+       * config/alpha/predicates.md (some_small_symbolic_operand): New.
+
+2004-09-20  Jan Hubicka  <jh@suse.cz>
+
+       * predict.c (return_prediction): New function.
+       (apply_return_prediction): Likewise.
+       (tree_bb_level_predictions): Likewise.
+       (tree_estimate_probability): Add noreturn exit edges; call
+       bb_level_predictions; fix logic of return heuristics.
+       (predict_paths_leading_to):  Rescuesce from old CVS version of
+       process_note_prediction function.
+       * predict.def (PRED_TREE_EARLY_RETURN): New predictor.
+
+2004-09-20  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+       * config/s390/s390.c (s390_frame_info): Added alignment statement for
+       floating point register area on stack.
+
+2004-09-20  Jakub Jelinek  <jakub@redhat.com>
+
+       * predict.c (expr_expected_value): Use *_CLASS_P macros.
+
+2004-09-20  Daniel Berlin  <dberlin@dberlin.org>
+
+       * tree-ssa-pre.c (compute_antic_aux): Use malloc'd worklist, to avoid
+       generating useless garbage.
+
+2004-09-20  Paolo Bonzini  <bonzini@gnu.org>
+
+       * builtins.c (fold_builtin): Call the new omonymous
+       target hook for machine-dependent built-ins.
+       * target-def.h (TARGET_FOLD_BUILTIN): New.
+       * target.h (struct gcc_target): Add the fold_builtin hook.
+       * targhooks.c (default_fold_builtin): New.
+       * targhooks.h (default_fold_builtin): Declare it.
+
+2004-09-20  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * cfg.c, tree-ssa-threadupdate.c, tree-vectorizer.c: Fix
+       comment typos.
+
+2004-09-20  Richard Sandiford  <rsandifo@redhat.com>
+
+       PR target/17565
+       * config/mips/mips.md (define_asm_attributes): Set can_delay to no.
+
+2004-09-20  Jan Hubicka  <jh@suse.cz>
+
+       * predict.c (estimate_probability): Remove unnecesary code.
+
+2004-09-19  Ira Rosen  <irar@il.ibm.com>
+
+       * tree-vectorizer.h (stmt_vec_info): Add vect_dr_base field.
+       (STMT_VINFO_VECT_DR_BASE): Declare.
+       (VECT_SMODULO): Declare.
+       * tree-vectorizer.c (vect_compute_array_ref_alignment): New function.
+       (vect_compute_array_base_alignment): New function.
+       (vect_analyze_data_ref_access): Check array indices. Remove one
+       dimensional arrays restriction.
+       (vect_get_ptr_offset): New function.
+       (vect_get_symbl_and_dr): New function.
+       (vect_get_base_and_bit_offset): Support additional data refs. Renamed
+       (former name vect_get_base_decl_and_bit_offset).
+       (vect_create_index_for_array_ref): Removed.
+       (vect_create_index_for_vector_ref): New function.
+       (vect_create_addr_base_for_vector_ref): New function.
+       (vect_create_data_ref): Handle additional data refs. Call
+       vect_create_index_for_vector_ref and vect_create_addr_base_for_vector_ref.
+       (vect_compute_data_ref_alignment): Support the changes. Call
+       vect_get_base_and_bit_offset.
+       (vect_analyze_data_refs): Call vect_get_symbl_and_dr. Support additional
+       data refs. Store vect_dr_base.
+       (vect_analyze_data_ref_accesses): Support nonconstant init.
+       (new_stmt_vec_info): Initialize vect_dr_base field.
+       (vect_is_simple_iv_evolution): Call initial_condition_in_loop_num.
+       (get_vectype_for_scalar_type): Check for BLKmode.
+       * tree-chrec.h (initial_condition_in_loop_num): Declare.
+       * tree-chrec.c (initial_condition_in_loop_num): New function.
+       (chrec_component_in_loop_num): New function.
+       (evolution_part_in_loop_num): Call chrec_component_in_loop_num.
+       * tree-data-ref.c (analyze_array_indexes): Change parameter (access_fns)
+       to be pointer to varray_type.
+
+2004-09-19  Jan Hubicka  <jh@suse.cz>
+
+       * basic-block.h (update_bb_profile_after_threading): Declare.
+       * cfg.c (update_bb_profile_after_threading): Break out from ...
+       * cfgcleanup.c (try_forward_edges): ... here; use it.
+       * tree-ssa-dom.c (thread_across_edge): Use it.
+       * tree-ssa-threadupdate.c (create_block_for_threading): Zero out
+       profile of the new BB.
+
+2004-09-19  Daniel Berlin  <dberlin@dberlin.org>
+
+       * tree-ssa-pre.c (insert_into_set): Don't put
+       is_gimple_min_invariant values into the set.
+
+2004-09-19  Andreas Jaeger  <aj@suse.de>
+
+       * tree-ssa-dom.c (restore_nonzero_vars_to_original_value): Fix
+       prototype.
+
+2004-09-18  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/cris/cris.h: Preserve the original spelling in a
+       quote.
+
+2004-09-18 Jeff Law  <law@redhat.com>
+
+       * tree-ssa-dom.c (nonzero_vars_stack, vrp_variables_stack): New
+       global varrays to replace the block local varrays.
+       (struct dom_walk_block_data): Remove, no longer used.
+       (get_eq_expr_value): No longer need to pass around pointers to local
+       varrays.  Callers updated.  Unused markers added to unused parameters.
+       (record_range, record_equivalences_from_stmt): Likewise.
+       (record_equivalences_from_incoming_edge): Likewise.
+       (record_var_is_nonzero): Likewise.  Update now that we have a
+       single global varray of SSA_NAMEs that need restoring.
+       (dom_opt_initialize_block_local_data): Kill, no longer used.
+       (tree_ssa_dominator_optimize): Initialize new global varrays.
+       Update callbacks in dominator walker structure.
+       (dom_opt_initialize_block): Add markers to NONZERO_VAR_STACK and
+       VRP_VARIABLES_STACK.
+       (restore_nonzero_vars_to_original_value): Update now that we have
+       a single global varray of SSA_NAMEs that need restoring.
+       (dom_opt_finalize_block): Similarly for VRP_VARIABLES_STACK.
+       Remove unused variables.
+       (optimize_stmt): Remove unused variable.
+
+2004-09-18  Jan Hubicka  <jh@suse.cz>
+
+       * tree-cfg.c (thread_jumps):  Fix updating of the profile.
+
+       * tree-optimize.c (tree_rest_of_compilation): Kill forgotten
+       verify_cgraph call.
+
+2004-09-18  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * alias.c, crtstuff.c, dbxout.c, domwalk.c, domwalk.h, gcc.c,
+       gcse.c, global.c, lambda-code.c, loop.c, mips-tdump.c,
+       optabs.h, predict.c, reg-stack.c, regclass.c, sched-rgn.c,
+       tree-optimize.c, tree-ssa-dom.c, tree-ssa-forwprop.c,
+       tree-ssa-operands.c, tree-ssa-phiopt.c,
+       tree-ssa-threadupdate.c: Fix comment typos.
+
+2004-09-18  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/darwin-c.c, config/arc/arc.c, config/arc/arc.md,
+       config/arm/README-interworking, config/arm/arm-cores.def,
+       config/arm/arm.c, config/arm/arm.h, config/arm/pe.c,
+       config/arm/vfp.md, config/c4x/c4x.c, config/c4x/c4x.h,
+       config/cris/cris.c, config/cris/cris.h, config/fr30/fr30.c,
+       config/fr30/fr30.h, config/fr30/fr30.md, config/frv/frv.c,
+       config/frv/frv.md, config/i386/winnt.c,
+       config/ia64/unwind-ia64.c, config/iq2000/iq2000.c,
+       config/iq2000/iq2000.h, config/m68hc11/m68hc11.c,
+       config/m68hc11/m68hc11.md, config/m68k/m68k.c,
+       config/mcore/mcore.c, config/mips/mips.h,
+       config/mn10300/mn10300.md, config/pa/pa.c,
+       config/pa/pa64-regs.h, config/pdp11/pdp11.c,
+       config/rs6000/rs6000.c, config/sh/symbian.c,
+       config/sparc/sparc.h: Fix comment typos.  Follow spelling
+       conventions.
+
+2004-09-18  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       PR c/17424
+       * c-typeck.c (c_expr_sizeof_expr): Check for error_mark_node.
+
+2004-09-18  Diego Novillo  <dnovillo@redhat.com>
+
+       * tree-ssa-alias.c (setup_pointers_and_addressables): Don't
+       remove TREE_ADDRESSABLE from RESULT_DECL.
+
+2004-09-18  Diego Novillo  <dnovillo@redhat.com>
+
+       * tree-ssa-alias.c (dump_alias_info): Ignore NULL SSA_NAMEs.
+
+2004-09-18  Jan Hubicka  <jh@suse.cz>
+
+       * tree-into-ssa.c (rewrite_ssa_into_ssa):  Expect ssa_name to return
+       NULL.
+       * tree-ssa-alias.c (init_alias_info): Likewise.
+       * tree-ssa.c (verify_flow_sensitive_alias_info): Likewise.
+       (verify_ssa): Likewise.
+       * tree-ssanames.c (make_ssa_name): Clear out ssa_names arrays.
+
+2004-09-18  Jan Hubicka  <jh@suse.cz>
+
+       * i386.c (legitimize_pic_address): Fix splitting of PLUS with
+       huge offset.
+
+2004-09-18  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * config/sh/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): Remove.
+       * config/sh/sh.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
+       DW_EH_PE_sdata* for data.
+       (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Likewise.
+
+2004-09-17  Geoffrey Keating  <geoffk@apple.com>
+
+       * tree-inline.c (copy_tree_r): Don't duplicate constants, they're
+       shared anyway.
+
+       PR pch/13361
+       * c-typeck.c (constructor_asmspec): Delete.
+       (struct initializer_stack): Delete field 'asmspec'.
+       (start_init): Delete saving of asmspec.
+       (finish_init): Don't update constructor_asmspec.
+       * dwarf2out.c (rtl_for_decl_location): Duplicate string from tree.
+       * stmt.c (expand_asm): Duplicate strings from tree.
+       (expand_asm_operands): Likewise.
+       * tree.c (tree_size): Update computation of size of STRING_CST.
+       (make_node): Don't make STRING_CST nodes.
+       (build_string): Allocate string with tree node.
+       (tree_code_size): Clean up assertions, don't allow requests
+       for "the size of a STRING_CST".
+       * tree.def (STRING_CST): Update comment.
+       * tree.h (TREE_STRING_POINTER): Adjust for change to STRING_CST.
+       (tree_string): Place contents of string in tree node.
+       * config/sh/sh.c (sh_handle_sp_switch_attribute): Duplicate string
+       from tree.
+
+2004-09-17  Zack Weinberg  <zack@codesourcery.com>
+
+       * Makefile.in (c-parse.o): Depend on $(C_PRAGMA_H).
+       * objc/Make-lang.in (objc/objc-parse.o): Likewise.
+
+2004-09-17  Jones Desougi  <jones@ingate.com>
+
+       * configure.ac: Replace AC_COMPILE_CHECK_SIZEOF with AC_CHECK_SIZEOF.
+       * configure, config.in: Regenerate.
+
+2004-09-17  Zack Weinberg  <zack@codesourcery.com>
+
+       * tree.c, tree.h (tree_class_strings): Make array const.
+       Reindent per coding convention.  Move asterisk to proper place
+       per coding convention.
+
+2004-09-18  Andreas Schwab  <schwab@suse.de>
+
+       * Makefile.in (gimple-low.o): Depend on $(EXPR_H).
+       (tree-vectorizer.o): Likewise.
+       (targhooks.o): Likewise.
+
+2004-09-17  Jeffrey D. Oldham  <oldham@codesourcery.com>
+           Zack Weinberg  <zack@codesourcery.com>
+
+       * alias.c (find_base_decl): Remove unreachable case '3' block.
+       * expr.c (safe_from_p): Abort if passed a type.
+       * tree-gimple.c (recalculate_side_effects): Abort if passed
+       anything other than an expression.
+       * tree-ssa-pre.c (phi_translate): Return expr immediately if
+       is_gimple_min_invariant is true for it.  Reorder cases for clarity.
+       Abort on un-handled tree classes.
+       (valid_in_set): Likewise.
+       * tree.c (tree_code_class_strings): New static data.
+
+       * tree.h (enum tree_code_class): New.
+       (tree_code_class_strings): Declare.
+       (TREE_CODE_CLASS_STRING, EXCEPTIONAL_CLASS_P, CONSTANT_CLASS_P)
+       (REFERENCE_CLASS_P, COMPARISON_CLASS_P, UNARY_CLASS_P, BINARY_CLASS_P)
+       (STATEMENT_CLASS_P, EXPRESSION_CLASS_P, IS_TYPE_OR_DECL_P): New macros.
+       (TYPE_P, DECL_P, IS_NON_TYPE_CODE_CLASS, IS_EXPR_CODE_CLASS)
+       (checking macros, EXPR_LOCATION, SET_EXPR_LOCATION, EXPR_LOCUS): Update.
+
+       * tree.def, c-common.def, objc/objc-tree.def: Use
+       tree_code_class enumeration constants instead of code letters.
+
+       * alias.c, builtins.c, c-common.c, c-format.c, c-lang.c, c-pragma.c
+       * c-typeck.c, cgraphunit.c, convert.c, dbxout.c, dwarf2out.c
+       * emit-rtl.c expr.c, fold-const.c, gimplify.c, lambda-code.c
+       * langhooks.c, langhooks.h, predict.c, print-tree.c, reload1.c, stmt.c
+       * tree-browser.c, tree-cfg.c, tree-chrec.c, tree-complex.c, tree-dfa.c
+       * tree-dump.c, tree-eh.c, tree-gimple.c, tree-inline.c, tree-nested.c
+       * tree-outof-ssa.c, tree-pretty-print.c, tree-sra.c, tree-ssa-ccp.c
+       * tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-forwprop.c, tree-ssa-live.c
+       * tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c, tree-ssa-operands.c
+       * tree-ssa-phiopt.c, tree-ssa-pre.c, tree-ssa-propagate.c
+       * tree-ssa.c, tree-ssanames.c, tree-tailcall.c, tree.c, varasm.c
+       * config/sol2-c.c, config/arm/arm.c, config/i386/winnt.c
+       * config/pa/pa.c, config/pa/pa.h, config/sh/sh.c, objc/objc-lang.c
+       Update to match.
+
+       * LANGUAGES: Add note about change.
+
+2004-09-17  Diego Novillo  <dnovillo@redhat.com>
+
+       PR tree-optimization/17319
+       * tree-ssa-alias.c (compute_points_to_and_addr_escape): Also
+       examine pointers on the LHS of an assignment.
+       (collect_points_to_info_r): Handle RETURN_EXPR.
+
+2004-09-17 Jeff Law  <law@redhat.com>
+
+       * tree-ssa-dom.c (const_and_copies_stack): New.
+       (dom_walk_block_data): Remove const_and_copies field.
+       (record_const_or_copy): No longer need to pass in varray_type *.
+       Use CONST_AND_COPIES_STACK rather than passed in block local stack.
+       Callers updated.
+       (record_equality): Similarly.
+       (restore_vars_to_original_value): Similarly.  Revamp to use new
+       single global stack rather than per-block stacks.
+       (tree_ssa_dominator_optimize): Initialize the CONST_AND_COPIES_STACK.
+       (thread_across_edge): Remove now unused parameters.
+       (dom_opt_initialize_block_local_data): No longer test the block
+       local CONST_AND_COPIES.
+       (dom_opt_initialize_block): Push a marker on CONST_AND_COPIES_STACK.
+
+2004-09-17  Jan Hubicka  <jh@suse.cz>
+
+       PR tree-optimization/17509
+       * tree-optimize.c (update_inlined_to_pointers): New function.
+       (tree_rest_of_compilation): Use it.
+
+2004-09-17  Devang Patel  <dpatel@apple.com>
+
+       * dbxout.c (get_lang_number): New.
+       (dbxout_init): Include lang number in N_SO  stab.
+       * dbxout.h (N_SO_AS, N_SO_C, N_SO_ANSI_C, N_SO_CC, N_SO_FORTRAN,
+       N_SO_PASCAL, N_SO_FORTRAN90, N_SO_OBJC, N_SO_OBJCPLUS): New #define.
+
+2004-09-17  Diego Novillo  <dnovillo@redhat.com>
+
+       PR tree-optimization/17273
+       * tree-ssa.c (replace_immediate_uses): Call fold_stmt if the
+       replacement is a constant.
+
+2004-09-17  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       * c-tree.h (enum c_typespec_keyword): New.
+       (struct c_declspecs): Adjust description of "type".  Remove
+       specbits, explicit_int_p and explicit_char_p.  Rename
+       typedef_signed_p to explicit_signed_p.  Add default_int_p, long_p,
+       short_p, signed_p, unsigned_p and complex_p.
+       (finish_declspecs): New.
+       * c-parse.in (datadef, datadecl, setspecs, decl, component_decl,
+       typename): Call finish_declspecs.
+       * c-decl.c (finish_declspecs): New.
+       (declspecs_add_type): Check for combinations which cannot occur in
+       valid specifier lists.  Update comments.
+       (shadow_tag_warned): Remove checks done in finish_declspecs.
+       Don't report useless type name if type defaulted to int.
+       (grokdeclarator): Remove checks and actions done in
+       finish_declspecs.  Don't allow for type being NULL.  Update for
+       datastructures changes.  Initialize decl_attr.
+       (build_null_declspecs, quals_from_declspecs): Update for
+       datastructures changes.
+
+2004-09-17  Sylvain Pion  <Sylvain.Pion@sophia.inria.fr>
+
+       * doc/extend.texi: Fix duplicated word.
+
+2004-09-17  Toon Moene  <toon@moene.indiv.nluug.nl>
+
+       * doc/invoke.texi: Remove stray explanation on
+       -freduce-all-givs and -fmove-all-movables.
+
+2004-09-17  James Morrison  <phython@gcc.gnu.org>
+
+       * doc/cfg.texi: Use @smallexample.
+       * doc/md.texi: Likewise.
+       * doc/tree-ssa.texi: Likewise.
+       * doc/extend.texi: Likewise.  Use @r{} in comments.
+       * doc/trouble.texi: Use @r{} in comments.
+
+2004-09-17  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * configure.ac (gcc_cv_gld_version): Handle whitespace before
+       "VERSION=".
+       * aclocal.m4 (_gcc_COMPUTE_GAS_VERSION): Ditto.
+       * configure: Regenerate.
+
+2004-09-17  J"orn Rennecke <joern.rennecke@superh.com>
+
+       * sh.c (sh_gimplify_va_arg_expr): Don't call pass_by_reference.
+       (sh_pass_by_reference): Work around std_gimplify_va_arg_expr bug.
+       * t-sh (MULTILIB_CPUS): s/ML_m/ML_sh/g .
+       * t-sh64 (MULTILIB_CPU_DIRS): Likewise.  Match dashes and trailing
+       slashes in substitutions.
+       (MULTILIB_DIRNAMES): Remove defunct removal of /media32.
+
+2004-09-17  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * basic-block.h, c-decl.c, c-parse.in, cgraphunit.c, ddg.c,
+       gimplify.c, lambda-code.c, optabs.c, predict.c,
+       tree-scalar-evolution.c, tree-sra.c, tree-ssa-loop-ch.c,
+       tree-ssa.c, vec.h: Fix comment typos.  Follow spelling
+       conventions.
+
+2004-09-17  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * doc/compat.texi, doc/cpp.texi, doc/cppopts.texi,
+       doc/extend.texi, doc/install.texi, doc/invoke.texi,
+       doc/sourcebuild.texi, doc/tm.texi, doc/tree-ssa.texi,
+       doc/trouble.texi: Use @option around options.
+
+2004-09-17  Richard Sandiford  <rsandifo@redhat.com>
+
+       * Makefile.in (gen-protos.o): Depend on errors.h.
+
+2004-09-17  Steven Bosscher  <stevenb@suse.de>
+
+       PR tree-optimization/17513
+       * cfgexpand.c (construct_init_block): Clear EDGE_EXECUTABLE
+       for successors of the entry block.
+
+2004-09-17  Uros Bizjak  <uros@kss-loka.si>
+
+       PR rtl-optimization/15187
+       * ifcvt.c (noce_try_cmove_arith): Exit early if total
+       insn_rtx_cost of both branches > BRANCH_COST
+
+2004-09-16  Diego Novillo  <dnovillo@redhat.com>
+
+       PR tree-optimization/17528
+       * tree-ssa-alias.c (compute_flow_insensitive_aliasing): Do not
+       erase the may-alias set for a tag when merging it with
+       another.
+
+2004-09-16  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * config/sh/sh.md (call): Extend 32-bit addresses to DImode
+       for 32-bit TARGET_SHMEDIA.
+       (call_value): Likewise.
+
+2004-09-16  Diego Novillo  <dnovillo@redhat.com>
+
+       * tree-ssa-operands.c (add_call_clobber_ops): Make read-only
+       test apply only to TREE_STATIC and DECL_EXTERNAL.
+
+2004-09-16  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+
+       * Makefile.in (tree-cfg.o): Add CFGLAYOUT_H dependency.
+       * basic-block.h (get_dominated_by_region): Declare.
+       * dominance.c (get_dominated_by_region): New function.
+       * tree-cfg.c: Include cfglayout.h.
+       (tree_duplicate_bb): Duplicate also phi nodes.
+       (struct ssa_name_map_entry): New type.
+       (add_phi_args_after_copy_bb, add_phi_args_after_copy,
+       ssa_name_map_entry_hash, ssa_name_map_entry_eq,
+       allocate_ssa_names, rewrite_to_new_ssa_names_def,
+       rewrite_to_new_ssa_names_use, rewrite_to_new_ssa_names_bb,
+       rewrite_to_new_ssa_names, tree_duplicate_sese_region): New functions.
+       * tree-flow.h (tree_duplicate_sese_region, add_phi_args_after_copy_bb,
+       add_phi_args_after_copy, rewrite_to_new_ssa_names_bb,
+       rewrite_to_new_ssa_names, allocate_ssa_names,
+       rewrite_into_loop_closed_ssa, verify_loop_closed_ssa): Declare.
+       * tree-ssa-loop-ch.c (duplicate_blocks): Removed.
+       (copy_loop_headers): Use tree_duplicate_sese_region.
+
+2004-09-16  Frank Ch. Eigler  <fche@redhat.com>
+
+       * profile.c (branch_prob): Restore support for USE_MAPPED_LOCATION.
+
+2004-09-16 Jeff Law  <law@redhat.com>
+
+       * tree-into-ssa.c (block_defs_stack): New toplevel varray.
+       (rewrite_block_data): Remove, no longer used.
+       (rewrite_initialize_block_local_data): Remove, no longer used.
+       (rewrite_initialize_block): Mark parameters as unused as needed.
+       Change references to the block local block_defs to be block_defs_stack.
+       Push a marker onto the block_defs_stack.
+       (ssa_rewrite_initialize_block): Similarly.
+       (rewrite_stmt, ssa_rewrite_stmt): Similarly.
+       (ssa_register_new_def): No longer needs varray argument.  Use
+       block_defs_stack instead.  No longer handle possibly null block_defs
+       varray.  Reverse order of items we push on the stack to make it
+       easier to identify our marker.
+       (register_new_def): No longer handle possibly null block_defs
+       varray.
+       (rewrite_finalize_block): Revamp to look for markers in the global
+       block_defs_stack varray rather than wiping a block local varray.
+       Mark arguments as unused as needed.
+       (ssa_rewrite_finalize_block): Similarly.
+       (rewrite_into_ssa): Update initialization of dom walker structure
+       to reflect that we don't need block local data anymore.  Initialize
+       the block_defs_stack varray.
+       (rewrite_ssa_into_ssa): Similarly.
+       * tree-ssa-dom.c (block_defs_stack): New toplevel varray.
+       (struct dom_walk_data): Kill block_defs field.
+       (tree_ssa_dominator_optimize): Initialize block_defs_stack.
+       (thread_across_edge): Use the global block_defs_stack instead of
+       the old block_defs varray.
+       (dom_opt_initialize_block_local_data): Update now that we don't have
+       block_defs field to check anymore.
+       (dom_opt_initialize_block): Push a marker onto block_defs_stack.
+       (restore_currdefs_to_original_value): Use the new block_defs_stack
+       instead of a block local varray.
+       (dom_opt_finalize_block): Similarly.
+       (record_equivalencs_from_phis): Similarly.
+       (optimize_stmt, register_definitions_for_stmt): Similarly.
+
+2004-09-16  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/17517
+       * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
+       coalesce same-root variables without checking for abnormal PHI usage.
+
+2004-09-16  Daniel Berlin  <dberlin@dberlin.org>
+
        * cfgloop.h (duplicate_loop):  Add prototype.
        * cfgloopmanip.c (duplicate_loop): Make non-static.
        * lambda-code.c (perfect_nestify): Factor out test whether
        loop invariant as well.
        (perfect_nestify): new function.
        (gcc_loop_to_lambda_loop): New parameters to track lower bounds,
-       upper bounds, and steps. 
+       upper bounds, and steps.
        Set outerinductionvar properly.
        (gcc_loopnest_to_lambda_loopnest): Add loops and need_perfect
        parameters.
 2004-09-16  Sebastian Pop  <pop@cri.ensmp.fr>
 
        * tree-loop-linear.c (gather_interchange_stats): Add more comments.
-       Gather also strides of accessed data.  Pass in the data references 
+       Gather also strides of accessed data.  Pass in the data references
        array.
-       (try_interchange_loops): Add a new heuristic for handling the temporal 
+       (try_interchange_loops): Add a new heuristic for handling the temporal
        locality.  Pass in the data references array.
        (linear_transform_loops): Pass the data references array to
        try_interchange_loops.
 
        * Makefile.in (tree-ssa-dom.o): Depend on tree-ssa-propagate.h.
        * tree-ssa-dom.c (cprop_into_stmt): Recompute TREE_INVARIANT
-        after propagating into an ADDR_EXPR.
+       after propagating into an ADDR_EXPR.
 
 2004-09-15  Andrew Pinski  <apinski@apple.com>
 
 2004-09-14  Jeff Law  <law@redhat.com>
 
        * tree-ssa-dom.c (stmts_to_rescan): Move from a block-local
-       to a global varray.  
+       to a global varray.
        (tree_ssa_dominator_optimize): Allocate stmts_to_rescan.
        (dom_opt_initialize_block_local_data): No longer test state
        of stmts_to_rescan.
        PR tree-optimization/17400
        * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
        coalesce partitions when one occurs in an abnormal PHI.
-                                                             
+
 2004-09-13  Andrew Pinski  <apinski@apple.com>
 
        * config/rs6000/darwin.h (ASM_OUTPUT_COMMON): Change variable size's