OSDN Git Service

PR c/12713
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index b54874f..52be184 100644 (file)
+2004-09-24  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       PR c/12713
+       * doc/extend.texi: Document interaction of attribute noreturn and
+       longjmp.
+
+2004-09-24  Richard Henderson  <rth@redhat.com>
+
+       PR rtl-opt/17503
+       * regclass.c (subregs_of_mode): Turn into an htab.  Make static.
+       (som_hash, som_eq): New.
+       (init_subregs_of_mode, record_subregs_of_mode): New.
+       (cannot_change_mode_set_regs): Rewrite for htab implementation.
+       (invalid_mode_change_p): Likewise.
+       * combine.c (gen_lowpart_for_combine): Use record_subregs_of_mode.
+       * flow.c (mark_used_regs): Likewise.
+       (life_analysis): Use init_subregs_of_mode.
+       * regs.h (subregs_of_mode): Remove.
+       * rtl.h (init_subregs_of_mode, record_subregs_of_mode): Declare.
+
+2004-09-24  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       * tree-ssa-phiopt.c (conditional_replacement): Use the correct
+       type with the copy of the conditional.
+
+2004-09-24  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR tree-opt/16954
+       * tree-ssa-copyrename.c (copy_rename_partition_coalesce):
+       Prevent renaming if the aliasing sets of the type which the
+       pointer points to are different.
+
+2004-09-24  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       PR c/17188
+       * c-decl.c (diagnose_mismatched_decls): Check for duplicate
+       declarations of enumerators.
+       (start_struct): Check TYPE_SIZE rather than TYPE_FIELDS to check
+       for redefinition.  Check for nested redefinition.
+       (finish_struct): Don't check for nested redefinition.
+       (start_enum): Check for nested redefinition.
+
+2004-09-24  Devang Patel  <dpatel@apple.com>
+
+       * tree-if-conv.c (tree_if_convert_cond_expr0: Create temp. variable
+       only when necesssary.
+       (combine_blocks): Combine loop header and exit block.
+       
+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
-
-       * cp/decl.c (grokfndecl): Add new argument "attrlist", use it 
-       to call cplus_decl_attributes.
-       (start_function): Remove call to cplus_decl_attributes.
        * tree.c (reconstruct_complex_type): Remove extra "this".
-       * cp/cvt.c (ocp_convert): Add support to use type conversion
-       function to vector type.
-       * cp/parser.c (cp_parser_conversion_type_id): Add attributes, if any,
-        to the parsed type. 
        * config/rs6000/rs6000.c (rs6000_handle_altivec_attribute): 
        Add V4SFmode to case statement.
 
        
 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.
+       * 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>