OSDN Git Service

PR target/19886
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index fbbe2b5..317bcb0 100644 (file)
@@ -1,3 +1,364 @@
+2005-02-18  Joseph S. Myers  <joseph@codesourcery.com>
+
+       PR target/19886
+       * config/ia64/ia64.h (struct machine_function): Add state_num.
+       * config/ia64/ia64.c (process_epilogue,
+       process_for_unwind_directive): Use new unwind state numbers each
+       time rather than state 1.
+
+2005-02-18  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       PR target/20054
+       * config/s390/s390.md ("*llgt_sidi", "*llgt_sidi_split"): Move to
+       before the "*llgt_didi" pattern.
+
+2005-02-18  Jason Merrill  <jason@redhat.com>
+
+       * gimplify.c (gimplify_modify_expr_rhs) [CALL_EXPR]: Revert again.
+
+2005-02-18  Richard Earnshaw  <rearnsha@arm.com>
+
+       * arm/lib1funcs.asm (FUNC_ALIAS): New macro.
+       (div0): Use it in place of ARM_FUNC_ALIAS.
+       (lshrdi3, ashrdi3, ashlrdi3): Likewise.
+
+2005-02-18  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR middle-end/20030
+       * fold-const.c (fold_indirect_ref_1): Use the correct index for zero access,
+       the lower bound of the array type if it exists.
+
+2005-02-18  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR c++/20008
+       * stmt.c (expand_case): Don't assume cleanup_tree_cfg will remove
+       cases that are out-of-range for the index type.
+
+2005-02-18  James A. Morrison  <phython@gcc.gnu.org>
+
+       * stmt.c (emit_case_bit_tests): Call fold_convert instead of convert.
+       (estimate_case_costs): Don't call convert.
+       * expmed.c (expand_shift): Likewise.
+       (make_tree): Call fold_convert instead of convert. 
+
+2005-02-18  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/19813
+       * emit-rtl.c (set_mem_attributes_minus_bitpos): Add assertion
+       that ref to be marked MEM_READONLY_P doesn't have base that needs
+       constructing.
+
+2005-02-18  Joseph S. Myers  <joseph@codesourcery.com>
+
+       * genautomata.c (output_get_cpu_unit_code_func,
+       output_cpu_unit_reservation_p): Don't generate old-style function
+       definitions.
+
+2005-02-18  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/20023
+       PR tree-optimization/20009
+       * convert.c (convert_to_integer): Revert 2005-02-16 change.
+
+       PR tree-optimization/18947
+       * cgraphunit.c (cgraph_finalize_function): When redefining an extern
+       inline, remove all nodes that are inlined into the extern inline
+       being redefined.
+
+2005-02-17  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * bt-load.c, cfgloop.c, convert.c, dominance.c, global.c,
+       loop-invariant.c, stmt.c, tree-ssa-forwprop.c,
+       tree-ssa-live.c, tree-ssanames.c, tree-vn.c,
+       config/host-linux.c, config/arm/fpa.md, config/avr/avr.h:
+       Update copyright.
+
+2005-02-17  Roger Sayle  <roger@eyesopen.com>
+
+       PR tree-optimization/19917
+       * tree-eh.c (tree_could_trap_p): Consider calls to weak functions
+       to be potentially trapping.
+
+2005-02-17  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * libgcc2.c, tree-vect-analyze.c: Fix comment typos.
+
+2005-02-17  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+       * builtins.c (expand_builtin_return_addr): Remove tem parameter.
+       tem becomes a local variable which is set to the value of the 
+       back end defined INITIAL_FRAME_ADDRESS macro.
+       (expand_builtin_frame_address): Omit the base parameter to 
+       expand_builtin_return_addr.
+       (expand_builtin_profile_func): Likewise.
+       * config/s390/s390.h (INITIAL_FRAME_ADDRESS_RTX): Define new macro.
+       (DYNAMIC_CHAIN_ADDRESS): Remove the case for the initial frame.
+       * doc/tm.texi: Documentation for INITIAL_FRAME_ADDRESS_RTX added.
+
+2005-02-17  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/s390/s390.c (s390_alloc_pool, s390_free_pool,
+       s390_chunkify_start): Use BITMAP_ALLOC and BITMAP_FREE.
+       * config/frv/frv.c (frv_function_epilogue): Likewise.
+
+2005-02-17  Daniel Berlin  <dberlin@dberlin.org>
+
+       * lambda-code (perfect_nestify): Remove mark/unmark
+       for rewriting hack.
+       * tree-loop-linear.c (linear_transform_loops): Add
+       rewrite_into_ssa call so that ssa is correct for
+       rewriting into loop closed.
+
+2005-02-17  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * bitmap.h (BITMAP_XMALLOC, BITMAP_XFREE): Remove.
+       * bb-reorder.c (duplicate_computed_gotos): Use BITMAP_ALLOC and
+       BITMAP_FREE.
+       * bt-load.c (btr_def_live_range, combine_btr_defs,
+       migrate_btr_def, migrate_btr_defs): Likewise.
+       * cfgcleanup.c (thread_jump): Likewise.
+       * cfgloop.c (get_loop_body_in_bfs_order): Likewise.
+       * df.c (df_insn_table_realloc, df_bitmaps_alloc, df_bitmaps_free,
+       df_alloc, df_free, df_du_chain_create, df_bb_rd_local_compute,
+       df_rd_local_compute, df_reg_info_compute): Likewise.
+       * dominance.c (init_dom_info, free_dom_info): Likewise.
+       * flow.c (init_propagate_block_info,
+       free_propagate_block_info): Likewise.
+       * gcse.c (alloc_gcse_mem, free_gcse_mem): Likewise.
+       * global.c (allocate_bb_info, free_bb_info, calculate_reg_pav,
+       modify_reg_pav): Likewise.
+       * loop-invariant.c (find_defs, find_invariant_insn,
+       find_invariants, free_inv_motion_data): Likewise.
+       * predict.c (tree_predict_by_opcode,
+       estimate_bb_frequencies): Likewise.
+       * stmt.c (expand_case): Likewise.
+       * tree-cfg.c (tree_duplicate_sese_region): Likewise.
+       * tree-dfa.c (mark_new_vars_to_rename): Likewise.
+       * tree-if-conv.c (get_loop_body_in_if_conv_order): Likewise.
+       * tree-into-ssa.c (insert_phi_nodes_for, def_blocks_free,
+       get_def_blocks_for, mark_def_site_blocks, rewrite_into_ssa,
+       rewrite_ssa_into_ssa): Likewise.
+       * tree-optimize.c (tree_rest_of_compilation): Likewise.
+       * tree-outof-ssa.c (new_temp_expr_table, free_temp_expr_table,
+       analyze_edges_for_bb, perform_edge_inserts): Likewise.
+       * tree-scalar-evolution.c (scev_initialize, scev_finalize): Likewise.
+       * tree-sra.c (tree_sra): Likewise.
+       * tree-ssa-alias.c (init_alias_info, delete_alias_info): Likewise.
+       * tree-ssa-ccp.c (ccp_fold_builtin): Likewise.
+       * tree-ssa-dce.c (tree_dce_init, tree_dce_done): Likewise.
+       * tree-ssa-dom.c (tree_ssa_dominator_optimize): Likewise.
+       * tree-ssa-dse.c (tree_ssa_dse): Likewise.
+       * tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_var):
+       Likewise.
+       * tree-ssa-live.c (new_tree_live_info, delete_tree_live_info,
+       calculate_live_on_entry, calculate_live_on_exit,
+       build_tree_conflict_graph): Likewise.
+       * tree-ssa-loop-ivopts.c (tree_ssa_iv_optimize_init, record_use,
+       record_important_candidates, set_use_iv_cost, find_depends,
+       determine_use_iv_costs, iv_ca_new, iv_ca_free, free_loop_data,
+       tree_ssa_iv_optimize_finalize): Likewise.
+       * tree-ssa-loop-manip.c (add_exit_phis_var, get_loops_exit,
+       find_uses_to_rename_use, rewrite_into_loop_closed_ssa,
+       tree_duplicate_loop_to_header_edge): Likewise.
+       * tree-ssa-pre.c (init_pre, fini_pre): Likewise.
+       * tree-ssa.c (verify_flow_insensitive_alias_info,
+       verify_name_tags, verify_ssa, init_tree_ssa,
+       delete_tree_ssa): Likewise.
+       * tree-ssanames.c (marked_ssa_names, init_ssanames,
+       fini_ssanames): Likewise.
+       * tree-vectorizer.c (slpeel_tree_peel_loop_to_edge): Likewise.
+
+2005-02-17  Ralf Corsepius  <ralf.corsepius@rtems.org>
+
+       * config/rs6000/t-rtems: Completely reworked. 
+
+2005-02-17  Ira Rosen  <irar@il.ibm.com>
+
+        * tree-data-ref.c (array_base_name_differ_p): Remove gcc_assert.
+
+2005-02-17  Ira Rosen  <irar@il.ibm.com>
+
+       * tree-vect-analyze.c (vect_analyze_pointer_ref_access): Use
+       POINTER_TYPE_P when checking that type is a pointer.
+       (vect_get_memtag): Remove.
+       (vect_address_analysis): Use POINTER_TYPE_P. Call
+       vect_object_analysis with dummy parameter for memtag.
+       (vect_object_analysis): Extract memtag (functionality that
+       used to be in vect_get_memtag and moved here). Fix printings.
+       (vect_analyze_data_refs): Fix comment. Call vect_object_analysis
+       with correct parameters. Remove call to vect_get_memtag.
+
+2005-02-17  Dorit Naishlos  <dorit@il.ibm.com>
+
+       * Makefile.in (tree-vect-analyze.o, tree-vect-transform.o): New.
+       (tree-vectorizer.o): Added missing dependencies.
+
+       * tree-vectorizer.h (vect_dump, vect_verbosity_level): Added extern
+       decleration.
+       (slpeel_tree_peel_loop_to_edge): Function externalized (had a static
+       declaration in tree-vectorizer.c, now has an extern declaration in
+       tree-vectorizer.h).
+       (slpeel_make_loop_iterate_ntimes, slpeel_can_duplicate_loop_p,
+       slpeel_verify_cfg_after_peeling, vect_strip_conversion, 
+       get_vectype_for_scalar_type, vect_is_simple_use, 
+       vect_is_simple_iv_evolution, vect_can_force_dr_alignment_p,
+       vect_supportable_dr_alignment, new_loop_vec_info, destroy_loop_vec_info,
+       new_stmt_vec_info, vect_analyze_loop, vectorizable_load, 
+       vectorizable_store, vectorizable_operation, vectorizable_assignment,
+       vect_transform_loop, vect_print_dump_info, vect_set_verbosity_level,
+       find_loop_location): Likewise.
+
+       * tree-vectorizer.c (langhooks.h): #include removed.
+       (slpeel_tree_peel_loop_to_edge): Function externalized. Declaration
+       moved to tree-vectorized.h.
+       (slpeel_make_loop_iterate_ntimes, slpeel_can_duplicate_loop_p,
+       slpeel_verify_cfg_after_peeling, vect_strip_conversion,
+       get_vectype_for_scalar_type, vect_is_simple_use,
+       vect_is_simple_iv_evolution, vect_can_force_dr_alignment_p,
+       vect_supportable_dr_alignment, new_loop_vec_info,
+       destroy_loop_vec_info, new_stmt_vec_info, vect_print_dump_info,
+       vect_set_verbosity_level, find_loop_location): Likewise.
+
+       (vect_analyze_loop): Function externalized. Declaration moved to 
+       tree-vectorized.h. Function definition moved to tree-vect-analyze.c.
+       (vect_analyze_loop_form): Moved to tree-vect-analyze.c.
+       (vect_mark_stmts_to_be_vectorized, vect_analyze_scalar_cycles,
+       vect_analyze_data_ref_accesses, vect_analyze_data_ref_dependences,
+       vect_analyze_data_refs_alignment, vect_compute_data_refs_alignment,
+       vect_enhance_data_refs_alignment, vect_analyze_operations,
+       exist_non_indexing_operands_for_use_p, vect_mark_relevant,
+       vect_stmt_relevant_p, vect_get_loop_niters,
+       vect_analyze_data_ref_dependence, vect_compute_data_ref_alignment,
+       vect_analyze_data_ref_access, vect_analyze_pointer_ref_access,
+       vect_can_advance_ivs_p, vect_get_ptr_offset, vect_analyze_offset_expr,
+       vect_base_addr_differ_p, vect_object_analysis, vect_address_analysis,
+       vect_get_memtag): Likewise.
+
+       (vectorizable_load): Function externalized. Declaration moved to 
+       tree-vectorized.h. Function definition moved to tree-vect-transform.c.
+       (vectorizable_store, vectorizable_operation, vectorizable_assignment,
+       vect_transform_loop): Likewise.
+       (vect_transform_stmt): Moved to tree-vect-transform.c.
+       (vect_align_data_ref, vect_create_destination_var, 
+       vect_create_data_ref_ptr, vect_create_index_for_vector_ref,
+       vect_create_addr_base_for_vector_ref, vect_get_new_vect_var,
+       vect_get_vec_def_for_operand, vect_init_vector,
+       vect_finish_stmt_generation, vect_generate_tmps_on_preheader,
+       vect_build_loop_niters, vect_update_ivs_after_vectorizer,
+       vect_gen_niters_for_prolog_loop, vect_update_inits_of_dr,
+       vect_update_inits_of_drs, vect_do_peeling_for_alignment,
+       vect_do_peeling_for_loop_bound): Likewise.
+       
+       * tree-vect-analyze.c: New file.
+       * tree-vect-transform.c: New file.
+
+2005-02-17  Jason Merrill  <jason@redhat.com>
+
+       PR mudflap/19319, c++/19317
+       * gimplify.c (gimplify_modify_expr_rhs) [CALL_EXPR]: Make return
+       slot explicit.
+
+2005-02-17  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * doc/install.texi (Specific): Update link for Darwin-specific
+       tool binary site.
+       
+2005-02-16  James A. Morrison  <phython@gcc.gnu.org>
+
+       * fold-const.c (invert_truthvalue): <INTEGER_CST>: Call
+       constant_boolean_node.
+
+2005-02-16  David Edelsohn  <edelsohn@gnu.org>
+
+       PR target/19019
+       * config/rs6000/t-aix43 (SHLIB_MAPFILES): Add libgcc-ppc64.ver.
+       * config/rs6000/t-aix52 (SHLIB_MAPFILES): Same.
+
+2005-02-16  Richard Henderson  <rth@redhat.com>
+
+       PR 19920
+       * libgcc2.c (WORD_SIZE): Remove all definitions; replace uses
+       with W_TYPE_SIZE.
+       (HIGH_WORD_COEFF, HIGH_HALFWORD_COEFF): Remove all definitions;
+       replace uses with Wtype_MAXp1_F.
+       (L_fixunstfdi, L_fixtfdi, L_floatditf, L_fixunsxfdi, L_fixxfdi,
+       L_floatdixf, L_fixunsxfsi, L_fixunsdfdi, L_floatdidf, L_fixunsdfsi,
+       L_powidf2, L_powixf2, L_powitf2, L_muldc3, L_divdc3, L_mulxc3,
+       L_divxc3, L_multc3, L_divtc3): Protect with HAVE_DFMODE, HAVE_XFMODE,
+       and HAVE_TFMODE as appropriate.
+       (__fixunssfDI): Provide an implementation that doesn't need DFmode.
+       (__floatdisf): Likewise.
+       * libgcc2.h (LIBGCC2_DOUBLE_TYPE_SIZE): New.
+       (HAVE_DFMODE, HAVE_XFMODE, HAVE_TFMODE): New.
+       (Wtype_MAXp1_F): New.
+       (DFtype, DCtype, __fixdfdi, __floatdidf, __fixunsdfSI, __fixunsdfDI,
+       __powidf2, __divdc3, __muldc3): Protect with HAVE_DFMODE.
+
+2005-02-16  Richard Earnshaw  <rearnsha@arm.com>
+
+       * PR target/19162
+       * arm.c (arm_apply_result_size): New function.
+       * arm.h (APPLY_RESULT_SIZE): Define.
+       * arm-protos.h (arm_apply_result_size): Add prototype.
+       * arm.md (RO_REGNUM, FPA_F0_REGNUM, FPA_F7_REGNUM): New constants.
+       (movxf): New expand.
+       (ldmsi_postinc4_thumb, stmsi_postinc4_thumb): New patterns for Thumb.
+       (call_value_symbol): Remove predicate for operand 0.
+       (call_value_insn, sibcall_value, sibcall_value_insn): Likewise.
+       (untyped_call): Rework to correclty return values for any type.
+       (untyped_return): New expand.
+       * fpa.md (movxf_fpa): Simplify and use sfm/lfm when appropriate.
+
+2005-02-16  Stan Shebs  <shebs@apple.com>
+
+       * config.gcc (powerpc-*-darwin*): Use fragment for Darwin 8 or later.
+       * config/rs6000/t-darwin8: New, for 64-bit multilib.
+
+2005-02-16  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       * doc/install.texi (sparc-sun-solaris2*): Document required GMP
+       configure settings on Solaris 7 and later.
+
+2005-02-16  Diego Novillo  <dnovillo@redhat.com>
+
+       PR tree-optimization/19865
+       * tree-optimize.c (init_tree_optimization_passes): Run
+       pass_may_alias after pass_sra.
+
+2005-02-16  Richard Henderson  <rth@redhat.com>
+           Stuart Hastings  <stuart@apple.com>
+
+       PR debug/19521
+       * dbxout.c (dbxout_function_end): Take decl parameter; update callers.
+       Do nothing if debug info suppressed for this function.
+       (dbxout_begin_function): Early exit if debug info suppressed for
+       this function.
+
+2005-02-16  Kazu Hirata  <kazu@cs.umass.edu>
+
+       PR target/20007
+       * config/ip2k/ip2k.c (ip2k_reorg): Adjust calls to
+       find_basic_blocks.
+       * config/sh/sh.c (sh_output_mi_thunk): Likewise.
+
+       PR tree-optimization/19967
+       * builtins.c (expand_builtin_strstr, expand_builtin_strpbrk,
+       expand_builtin_strchr, expand_builtin_strrchr): Take a new
+       argument TYPE.  Adjust calls to fold_builtin_XXX.
+       (expand_builtin, fold_builtin_1): Adjust calls to
+       expand_builtin_XXX.
+       (fold_builtin_strchr, fold_builtin_strpbrk,
+       fold_builtin_strstr, fold_builtin_strrchr): Convert the folded
+       result to a requested type TYPE.
+
+2005-02-16  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/19857
+       * fold-const.c (fold): Don't optimize (T)(x & cst) to
+       (T)x & (T)cst if (T)cst overflows.
+       * convert.c (convert_to_integer) <case POINTER_TYPE>: Pass
+       TYPE_UNSIGNED (type) as type_for_size's UNSIGNEDP argument.
+
 2005-02-15  Jeff Law  <law@redhat.com>
 
        * gcse.c (blocks_with_calls): New bitmap.
 
 2005-02-13  Jason Merrill  <jason@redhat.com>
 
-       [reverted temporarily]
-       PR mudflap/19319
-       * gimplify.c (gimplify_modify_expr_rhs) [CALL_EXPR]: Make return
-       slot explicit.
-
        PR c++/16405
        * fold-const.c (fold_indirect_ref_1): Split out from...
        (build_fold_indirect_ref): Here.