OSDN Git Service

2004-09-24 Paolo Bonzini <bonzini@gnu.org>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 0d59f07..c40acc9 100644 (file)
@@ -1,3 +1,329 @@
+2004-09-24  Paolo Bonzini  <bonzini@gnu.org>
+
+       * hooks.c (hook_tree_tree_bool_null): New.
+       * hooks.h (hook_tree_tree_bool_null): Declare it.
+       * target-def.c (TARGET_FOLD_BUILTIN): Point to it.
+       * targhooks.c (default_fold_builtin): Remove.
+       * targhooks.h (default_fold_builtin): Remove.
+
+2004-09-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+
+       PR rtl-optimization/17625
+       * loop-doloop.c (doloop_modify): Unshare rtl before emitting it.
+
+2004-09-24  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR tree-opt/17624
+       * tree-ssa-forwprop.c (record_single_argument_cond_exprs):
+       Reject if any of the operands occur in an abnormal PHI.
+
+2004-09-24  Andreas Schwab  <schwab@suse.de>
+
+       * tree-ssa-dom.c (record_range): Fix violation of strict aliasing
+       rules.
+
+2004-09-24  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       * config.gcc (sparc64-*-solaris2*): Include sparc/sol2-gas.h
+       if the GNU assembler is used.
+       (sparc-*-solaris2*): Likewise.
+       * dbxout.c (NO_DBX_BNSYM_ENSYM): Default to zero.
+       (dbxout_function_end): Protect N_ENSYM with it.
+       (dbxout_begin_prologue): Protect N_BNSYM with it.
+       * doc/tm.texi (NO_DBX_BNSYM_ENSYM): Document it.
+       * config/sparc/sol2.h (NO_DBX_BNSYM_ENSYM): Define to 1.
+       * config/sparc/sol2-gas.h: New file.
+
+2004-09-23  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR bootstrap/17369
+       * Makefile.in (@set_gcc_lib_path@): Added.
+
+       * configure.ac: Include ../config/gcc-lib-path.m4. Use
+       TL_AC_GNU_MAKE_GCC_LIB_PATH.
+       * configure: Regenerated.
+
+2004-09-24  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       PR c/6980
+       * c-typeck.c (build_c_cast): Improve wording of
+       -Wbad-function-cast diagnostic.
+
+2004-09-23  Hans-Peter Nilsson  <hp@axis.com>
+
+       PR target/17626
+       * config/cris/cris.md (moverside, movemside): Rename variable
+       "reg" to "otherop".  To generate canonical RTX, check that otherop
+       isn't constant instead of checking that operand 1 is a register.
+
+2004-09-23  Jakub Jelinek  <jakub@redhat.com>
+
+       * tree-ssa-propagate.c (set_rhs): Fail if EXPR is COMPOUND_EXPR.
+
+2004-09-23  Diego Novillo  <dnovillo@redhat.com>
+           Jakub Jelinek  <jakub@redhat.com>
+
+       * tree-flow.h (find_new_referenced_vars): Add prototype.
+       * tree-sra.c (find_new_referenced_vars_1, find_new_referenced_vars):
+       Move to...
+       * tree-dfa.c (find_new_referenced_vars_1, find_new_referenced_vars):
+       ... here.
+       (mark_new_vars_to_rename): Walk through all operands.
+       * tree-ssa-ccp.c (convert_to_gimple_builtin): New function.
+       (execute_fold_all_builtins): Use it.
+       (pass_fold_builtins): Add TODO_rename_vars to todo_flags_finish.
+
+2004-09-23  P.J. Darcy  <darcypj@us.ibm.com>
+
+       * gthr-tpf.h: New file.
+       * config.gcc (s390x-ibm-tpf*): Add thread_file='tpf'.
+       * gthr.h: Use gthr-tpf.h on TPF OS.
+
+2004-09-23 Jeff Law  <law@redhat.com>
+
+       * tree-ssa-ccp.c (get_default_value): Use SSA_NAME_VALUE rather
+       than SSA_NAME_EQUIV and SET_SSA_NAME_EQUIV.
+       (substitute_and_fold):  Likewise.
+       * tree-ssa-dom.c (tree_ssa_dominator_optimize): Remove everything
+       except invariants from SSA_NAME_VALUE.
+       (thread_across_edge): Use SSA_NAME_VALUE rather than SSA_NAME_EQUIV
+       and SET_SSA_NAME_EQUIV.
+       (restore_vars_to_original_value, record_const_or_copy): Likewise.
+       (record_equivalences_from_phis, record_const_or_copy_1): Likewise.
+       (record_equality, cprop_into_successor_phis): Likewise.
+       (record_equivalences_from_stmt, cprop_operand): Likewise.
+       (lookup_avail_expr): Likewise.
+       * tree-ssa-pre.c (fini_pre): Remove everything except invariants
+       from SSA_NAME_VALUE.
+       * tree.h (SSA_NAME_EQUIV, SET_SSA_NAME_EQUIV): Kill.
+       (struct tree_ssa_name):  Kill EQUIV field.  Remove GGC skip
+       annotation from the VALUE_HANDLE field.
+
+2004-09-21 Fariborz Jahanian <fjahanian@apple.com>
+
+       PR c++/13989
+       PR c++/9844
+       * tree.c (reconstruct_complex_type): Remove extra "this".
+       * config/rs6000/rs6000.c (rs6000_handle_altivec_attribute): 
+       Add V4SFmode to case statement.
+
+2004-09-23  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       PR c/16833
+       * doc/extend.texi, doc/invoke.texi: Document interaction of
+       -fno-builtin with format checks.  Note that built-in functions
+       have effects beyond generating code that avoids calls to those
+       functions.
+
+2004-09-23  Frank Ch. Eigler <fche@redhat.com>
+
+       PR tree-optimization/17533
+       * dominance.c (verify_dominators): Tolerate even more incorrect
+       dominance data during error message printing.
+       * tree-mudflap.c (mf_build_check_statement_for): Build basic blocks
+       and edges more correctly.
+       
+2004-09-23  Dorit Naishlos <dorit@il.ibm.com>
+
+       * tree.def (ALIGN_INDIRECT_REF, MISALIGNED_INDIRECT_REF):
+       New tree-codes.
+       * tree.h (REF_ORIGINAL): Consider ALIGN_INDIRECT_REF and
+       MISALIGNED_INDIRECT_REF.
+       * alias.c (get_alias_set, nonoverlapping_memrefs_p): Likewise.
+       * emit-rtl.c (mem_expr_equal_p, set_mem_attributes_minus_bitpos):
+       Likewise.
+       * expr.c (safe_from_p, expand_expr_real_1, rewrite_address_base)
+       (find_interesting_uses_address): Likewise.
+       * fold-const.c (non_lvalue, operand_equal_p): Likewise.
+       (build_fold_addr_expr_with_type): Likewise.
+       * gimplify.c (gimplify_addr_expr, gimplify_expr): Likewise.
+       * print-rtl.c (print_mem_expr): Likewise.
+       * tree-dump.c (dequeue_and_dump): Likewise.
+       * tree-eh.c (tree_could_trap_p): Likewise.
+       * tree-gimple.c (is_gimple_addressable, get_base_address): Likewise.
+       * tree-pretty-print.c (op_prio, op_symbol, dump_generic_node): Likewise.
+       * tree-ssa-alias.c (find_ptr_dereference, ptr_is_dereferenced_by):
+       Likewise.
+       * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise.
+       * tree-ssa-dom.c (record_equivalences_from_stmt): Likewise.
+       * tree-ssa-loop-im.c (for_each_index, is_call_clobbered_ref): Likewise.
+       * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Likewise.
+       (add_address_candidates, rewrite_address_base): Likewise.
+       * tree-ssa-operands.c (get_expr_operands, get_indirect_ref_operands):
+       Likewise.
+       * tree.c (staticp, build1_stat): Likewise.
+
+       * tree.def (REALIGN_LOAD_EXPR, REALIGN_STORE_EXPR): New tree-codes.
+       * tree-pretty-print.c (dump_generic_node): Consider REALIGN_LOAD_EXPR.
+       * tree-ssa-operands.c (get_expr_operands): Likewise.
+       * expr.c (expand_expr_real_1): Likewise.
+
+       * optabs.h (vec_realign_store_optab, vec_realign_load_optab): New
+       optabs.
+       (OTI_vec_realign_store, OTI_vec_realign_load): New optab_index values
+       for the new optabs.
+       (expand_ternary_op): New function.
+       * genopinit.c (optabs): Handle the new optabs.
+       * optabs.c (optab_for_tree_code): Add cases for the new tree-codes.
+       (init_optabs): Initialize vec_realign_load_optab.
+       (expand_ternary_op): New functions.
+
+       * target-def.h (TARGET_VECTORIZE): New member for struct gcc_target.
+       (TARGET_VECTORIZE_MISALIGNED_MEM_OK): New member for targetm.vectorize.
+       (TARGET_VECTORIZE_BUILTIN_MASK_FOR_LOAD): Likewise.
+       (TARGET_VECTORIZE_BUILTIN_MASK_FOR_STORE): Likewise.
+       * target.h (struct vectorize): New member for struct gcc_target.
+       (misaligned_mem_ok): New member for targetm.vectorize.
+       (builtin_mask_for_load): Likewise.
+       (builtin_mask_for_store): Likewise.
+       * targethooks.c (default_vect_misaligned_mem_ok): New function.
+       * targethooks.h (default_vect_misaligned_mem_ok): New function.
+
+       * config/rs6000/altivec.md (build_vector_mask_for_load): New
+       define_expand.
+       (vec_realign_load_v4si, vec_realign_load_v4sf, vec_realign_load_v8hi)
+       (vec_realign_load_v16qi): New define_insn.
+       * config/rs6000/rs6000.h (ALTIVEC_BUILTIN_MASK_FOR_LOAD):
+       (ALTIVEC_BUILTIN_MASK_FOR_STORE): New target builtins.
+       * config/rs6000/rs6000.c (altivec_builtin_mask_for_load):
+       (altivec_builtin_mask_for_store): New variables.
+       (rs6000_builtin_mask_for_load): New function. Implements
+       TARGET_VECTORIZE_BUILTIN_MASK_FOR_LOAD.
+       (rs6000_builtin_mask_for_store): New function. Implements
+       TARGET_VECTORIZE_BUILTIN_MASK_FOR_STORE.
+       (rs6000_expand_builtin): Expand the target builtins
+       builtin_mask_for_load and builtin_mask_for_store.
+       (altivec_init_builtins): Initialize the new target builtins.
+       * config/i386/i386.c (ix86_misaligned_mem_ok): New function.
+       Implements the target hook TARGET_VECTORIZE_MISALIGNED_MEM_OK.
+
+       * tree-vectorizer.c (vect_create_data_ref): Renamed to
+       vect_create_data_ref_ptr. Returns a pointer instead of an array-ref.
+       (vect_create_addr_base_for_vector_ref): Additional argument (offset).
+       (vectorizable_store): Call vect_create_data_ref_ptr with additional
+       arguments, and create an indirect_ref with its return value data_ref.
+       Check aligned_access_p.
+       (vectorizable_load): Handle misaligned loads, using software-pipelined
+       scheme with REALIGN_LOAD_EXPR and ALIGN_INDIRECT_REF if
+       vec_realign_load_optab is supported, or using a scheme without
+       software-pipelining with MISALIGNED_INDIRECT_REF if the target hook
+       misaligned_mem_ok is supported.
+
+       (vect_finish_stmt_generation): Typo.
+       (vect_enhance_data_refs_alignment): Rename loop_vinfo to loop_info.
+       (vect_analyze_data_refs_alignment): Don't fail vectorization in the
+       presence of misaligned loads.
+       (vect_analyze_data_ref_access): Add check for constant init.
+       (vect_get_symbl_and_dr): Remove duplicate line.
+       * tree-vectorizer.h (DR_MISALIGNMENT): Add comment.
+
+2004-09-23  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * builtins.c: Fix a comment typo.
+
+2004-09-23  Jan Hubicka  <jh@suse.cz>
+
+       * profile.c (branch_prob): Do not verify flow info in the middle of the
+       pass.
+
+2004-09-23  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+
+       * cfgloop.h (update_single_exits_after_duplication): Declare.
+       (loopify, split_loop_bb): Declaration changed.
+       * cfgloopmanip.c (split_loop_bb): Take void * as an argument instead
+       of rtx.
+       (loopify): Added redirect_all_edges argument.
+       (update_single_exits_after_duplication): Export.
+       * loop-unswitch.c (unswitch_loop): Changed due to loopify change.
+       * tree-flow.h (tree_duplicate_loop_to_header_edge,
+       tree_ssa_loop_version): Declare.
+       * tree-ssa-loop-manip.c (copy_phi_node_args, rename_variables,
+       set_phi_def_stmts, tree_duplicate_loop_to_header_edge,
+       lv_adjust_loop_header_phi, lv_adjust_loop_entry_edge,
+       lv_update_pending_stmts, tree_ssa_loop_version): New functions.
+
+       * tree-ssa-loop-unswitch.c: New file.
+       * Makefile.in (tree-ssa-loop-unswitch.o): Add.
+       * timevar.def (TV_TREE_LOOP_UNSWITCH): New timevar.
+       * tree-flow.h (tree_ssa_unswitch_loops): Declare.
+       * tree-optimize.c (init_tree_optimization_passes): Add pass_unswitch.
+       * tree-pass.h (pass_unswitch): Declare.
+       * tree-ssa-loop.c (tree_ssa_loop_unswitch,
+       gate_tree_ssa_loop_unswitch, pass_unswitch): New pass.
+       * doc/passes.texi: Documen tree level loop unswitching.
+
+2004-09-23  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * cfgexpand.c, config/s390/tpf-eh.c: Fix comment typos.
+
+2004-09-22  Eric Christopher  <echristo@redhat.com>
+
+       * builtins.c (simplify_builtin_va_start): Remove.
+       (simplify_builtin): Ditto.
+       (fold_builtin_strchr): Ditto.
+       (simplify_builtin_*): Rename remainders to fold_builtin_*.
+       (expand_builtin): Fix up for above changes.
+       (fold_builtin_1): Add new folders. Change for above.
+       (expand_builtin_va_start): Call fold_builtin_next_arg.
+       * gimplify.c (gimplify_call_expr): Fix calls to simplify_builtin.
+       * tree.h: Remove prototype for simplify_builtin.
+
+2004-09-23  Jan Hubicka  <jh@suse.cz>
+
+       PR debug/17389
+       * dwarf2out.c (dwarf2out_finish): Deal with nested functions
+       of fully inlined functions.
+       * tree-inline.c (inline_forbidden_p_1): Nested functions can be
+       inlined.
+
+       * cfgexpand.c (add_reg_br_prob_note): New function.
+       (expand_gimple_cond_expr): Use it.
+       (tree_expand_cfg): No longer kill the profile.
+       * cfgrt.c (rtl_verify_flow_info_1): Check profile consistency
+       only if it is present.
+       * passes.c (rest_of_handle_loop_optimize): Kill the profile.
+       * predict.c (combine_predictions_for_insn): Set the probabilities
+       based on REG_BR_PROB note if present.
+       * predict.c (branch_prob): Profile is read only with
+       flag_branch_probabilities.
+
+2004-09-22  Kelley Cook  <kcook@gcc.gnu.org>
+
+       * aclocal.m4: Add in gettext's m4 includes.
+       (AC_ICONV, AC_LCMESSAGES, GCC_PATH_PROG): Remove.
+       * configure.ac: Add in check for iconv.h
+       * configure: Regenerate.
+
+2004-09-22  Kelley Cook  <kcook@gcc.gnu.org>
+
+       * aclocal.m4: Update for rename of gettext-sister.m4.
+
+2004-09-22  Daniel Berlin <dberlin@dberlin.org>
+
+       Fix PR tree-optimization/17587
+       * tree-ssa-pre.c (fini_pre): Commit edge inserts here.
+       (insert_aux): Instead of here.
+
+2004-09-22  Diego Novillo  <dnovillo@redhat.com>
+
+       PR tree-optimization/16721
+       * tree-dfa.c (dump_variable): Show TREE_THIS_VOLATILE.
+       * tree-ssa-alias.c (create_memory_tag): Move setting of
+       TREE_THIS_VOLATILE ...
+       (get_tmt_for): ... here.
+
+2004-09-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       * config/sparc/sparc.md (cmove splitter): Fix formatting.
+       (conditional_trap expander): Reject inappropriate CCmodes.
+       (conditional trap insn): Use V9 syntax if possible.
+
+2004-09-22  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       PR c/16566
+       * c-typeck.c (build_component_ref): Don't special-case
+       COMPOUND_EXPR.
+
 2004-09-22  Frank Ch. Eigler  <fche@redhat.com>
 
        * dominance.c (verify_dominators): Don't SEGV if recount_dominator
 
 2004-09-22  Matt Austern  <austern@apple.com>
 
-       * config/darwin.c (darwin_make_decl_one_only)
+       * 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
        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.
 
 
        * 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,