X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2FChangeLog;h=5b01a8c05bda34be889af439906baef7f36df2ad;hb=b6e609d75accad4fc4b31bf172eaa912111a5d40;hp=666594f8b30616cb98a3242be6db4408b7d66885;hpb=1e204c7444fe8a80a1183349ccf75766c144d626;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 666594f8b30..5b01a8c05bd 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,310 @@ +2008-11-03 Nathan Froyd + + Revert: + 2008-10-31 Nathan Froyd + + * config/rs6000/rs6000.c (no_global_regs_above): Fix precedence + problem. + (rs6000_emit_prologue): Invert logic. + * config/rs6000/rs6000.md (*save_gpregs_): Use explicit + (reg:P 11) instead of match_operand. + (*save_fpregs_): Likewise. + (*restore_gpregs_): Likewise. + (*return_and_restore_gpregs_): Likewise. + (*return_and_restore_fpregs_): Likewise. + * config/rs6000/spe.md (*save_gpregs_spe): Use explicit + (reg:P 11) insted of match_operand. + (*restore_gpregs_spe): Likewise. + (*return_and_restore_gpregs_spe): Likewise. + +2008-11-03 Harsha Jagasia + + PR tree-optimization/37684 + * gcc.dg/graphite/pr37684.c: New. + * graphite.c (exclude_component_ref): New. + (is_simple_operand): Call exclude_component_ref. + +2008-11-03 Sebastian Pop + + PR tree-optimization/36908 + * testsuite/gcc.dg/tree-ssa/pr36908.c: New. + * tree-loop-distribution.c (number_of_rw_in_rdg): New. + (number_of_rw_in_partition): New. + (partition_contains_all_rw): New. + (ldist_gen): Do not distribute when one of the partitions + contains all the memory operations. + +2008-11-03 Sebastian Pop + + * cfghooks.c (split_block): Set BB_IRREDUCIBLE_LOOP and + EDGE_IRREDUCIBLE_LOOP. + +2008-11-03 Bernd Schmidt + + * config/bfin/bfin.c (bfin_optimize_loop): Properly handle case + where we have one entry point in the loop which isn't the head. + +2008-11-03 Richard Guenther + + PR middle-end/37573 + * tree-data-ref.c (split_constant_offset_1): Fix tuplification. + +2008-11-03 Jakub Jelinek + + PR middle-end/37858 + * passes.c (execute_one_pass): Don't look at cfun->curr_properties + for ipa and simple ipa passes. + +2008-11-02 Richard Guenther + + PR tree-optimization/37542 + * tree-ssa-pre.c (fully_constant_expression): Handle more cases. + * tree-ssa-sccvn.c (vn_get_expr_for): Fix typo. + (vn_nary_op_lookup_stmt): Adjust for unary reference trees. + (vn_nary_op_insert_stmt): Likewise. + (visit_use): Likewise. + +2008-11-02 Anatoly Sokolov + + * config/avr/avr.md (UNSPEC_SWAP): Remove constants. + (*swap): Remove. + (rotlqi3, *rotlqi3_4, rotlhi3, *rotlhi3_8, + rotlsi3, *rotlsi3_8, *rotlsi3_16, *rotlsi3_24): New patterns. + (ashlqi3_const4, ashlqi3_const5, ashlqi3_const6, ashlqi3_l_const4, + ashlqi3_l_const5, ashlqi3_l_const6, lshrqi3_const4, lshrqi3_const5, + lshrqi3_const6, lshrqi3_l_const4, lshrqi3_l_const4, lshrqi3_l_const6 + peephole2's): Replace unspec with rotate. + * config/avr/avr.c (avr_rtx_costs): Add ROTATE. + +2008-11-02 Richard Guenther + + PR tree-optimization/37991 + * tree-ssa-sccvn.h (copy_vuses_from_stmt): Remove. + * tree-ssa-sccvn.c (copy_vuses_from_stmt): Make static. + (set_ssa_val_to): Print if the value changed. + (simplify_binary_expression): Strip useless conversions. + +2008-11-01 Hans-Peter Nilsson + + PR target/37939 + * config/cris/cris.c (cris_rtx_costs) : Return 0 for an ADDI + operand. + +2008-11-01 Richard Guenther + + PR middle-end/37976 + * builtins.c (fold_builtin_strspn): Return a size_t. + (fold_builtin_strcspn): Likewise. + +2008-10-31 Nathan Froyd + + * config/rs6000/rs6000.c (rs6000_file_start): Output gnu + attribute for struct return convention. + +2008-10-31 Nathan Froyd + + * config/rs6000/crtsavres.asm: Really, really delete. + +2008-10-31 Nathan Froyd + + * config/rs6000/rs6000.c (no_global_regs_above): Fix precedence + problem. + (rs6000_emit_prologue): Invert logic. + * config/rs6000/rs6000.md (*save_gpregs_): Use explicit + (reg:P 11) instead of match_operand. + (*save_fpregs_): Likewise. + (*restore_gpregs_): Likewise. + (*return_and_restore_gpregs_): Likewise. + (*return_and_restore_fpregs_): Likewise. + * config/rs6000/spe.md (*save_gpregs_spe): Use explicit + (reg:P 11) insted of match_operand. + (*restore_gpregs_spe): Likewise. + (*return_and_restore_gpregs_spe): Likewise. + +2008-10-28 Luis Machado + + * gcc.h (DEFAULT_WORD_SWITCH_TAKES_ARG): Add "dumpbase" to the + list of word switches that take args. + +2008-10-30 Jakub Jelinek + + * config/s390/s390.c (s390_mark_symbol_ref_as_used): New function. + (s390_output_pool_entry): Call it through for_each_rtx. + + PR middle-end/37730 + * expr.c (store_constructor): For vectors, if target is a MEM, use + target's MEM_ALIAS_SET instead of elttype alias set. + +2008-10-29 Kaz Kojima + + PR target/37909 + * config/sh/sh.c (untangle_mova): Return -1 when NEW_MOVA has + no address. + +2008-10-29 David Edelsohn + + PR target/37878 + * config/rs6000/predicates.md (word_offset_memref_operand): + Restructure code and look inside auto-inc/dec addresses. + +2008-10-29 Steve Ellcey + + PR target/32277 + * libgcov.c ( __gcov_indirect_call_profiler): Check + TARGET_VTABLE_USES_DESCRIPTORS. + +2008-10-29 Stefan Schulze Frielinghaus + + * config/spu/spu.h (FRAME_GROWS_DOWNWARD): Define. + (INITIAL_FRAME_POINTER_OFFSET): Remove. + * config/spu/spu.c (spu_initial_elimination_offset): Calculate new + offset if eliminating soft frame pointer. + * config/spu/spu.md (stack_protect_set, stack_protect_test) + (stack_protect_test_si): Add initial machine description + for Stack Smashing Protector + +2008-10-29 Manuel Lopez-Ibanez + + PR 11492 + * c-common.c (min_precision): Move to... + * tree.c (tree_int_cst_min_precision): ... to here. Renamed. + * tree.h (tree_int_cst_min_precision): Declare. + * c-common.h (min_precision): Delete declaration. + * fold-const.c (tree_binary_nonnegative_warnv_p): Handle + multiplication of non-negative integer constants. + * c-decl.c (check_bitfield_type_and_width): Rename min_precision to + tree_int_cst_min_precision. + (finish_enum): Likewise. + +2008-10-29 Joseph Myers + + PR middle-end/36578 + * convert.c (convert_to_real): Do not optimize conversions of + binary arithmetic operations between binary and decimal + floating-point types. Consider mode of target type in determining + decimal type for arithmetic. Unless + flag_unsafe_math_optimizations, do not optimize binary conversions + where this may change rounding behavior. + * real.c (real_can_shorten_arithmetic): New. + * real.h (real_can_shorten_arithmetic): Declare. + +2008-10-29 Bernd Schmidt + + * config/bfin/bfin-protos.h (WA_05000257, WA_05000283, WA_05000315, + ENABLE_WA_05000257, ENABLE_WA_05000283, ENABLE_WA_05000315): New. + * config/bfin/bfin.c (bfin_cpus): Add these workaround bits as + appropriate. + (must_save_p): For some workarounds, interrupts need to clobber a + P register. + (expand_prologue_reg_save, expand_epilogue_reg_restore): Save LC0 + and LC1 for WA_05000257. + (expand_interrupt_handler_prologue): Add dummy read of CHIPID for + WA_05000283 and WA_05000315. + * config/bfin/bfin.md (UNSPEC_VOLATILE_DUMMY): New constant. + (movbi): Add alternative to set CC to 1; improve code for setting + CC to 0. + (dummy_load): New pattern. + +2008-10-29 Jakub Jelinek + + PR middle-end/37870 + * expmed.c (extract_bit_field_1): If int_mode_for_mode returns + BLKmode for non-memory, convert using a wider MODE_INT mode + or through memory. + + PR middle-end/37913 + * tree-cfgcleanup.c (split_bbs_on_noreturn_calls): Only split bbs + that haven't been removed yet. + +2008-10-29 Bernd Schmidt + + * config/bfin/bfin.c (struct machine_function): New member + has_loopreg_clobber. + (bfin_expand_movmem): Set it when generating memcpy insns. + (n_regs_saved_by_prologue, expand_prologue_reg_save, + expand_epilogue_reg_restore): If we have hardware loops, + memcpy insns (indicated by has_loopreg_clobber) or function + calls, we need to save the loop registers. + +2008-10-28 H.J. Lu + + * config/i386/i386.c (core2_cost): Fix typos in comments. + +2008-10-28 Jakub Jelinek + + PR c/37924 + * combine.c (make_compound_operation): Don't call make_extraction with + non-positive length. + (simplify_shift_const_1): Canonicalize count even if complement_p. + +2008-10-28 Joseph Myers + + * convert.c (strip_float_extensions): Do not remove or introduce + conversions between binary and decimal floating-point types. + +2008-10-28 Jakub Jelinek + + PR middle-end/37931 + * fold-const.c (distribute_bit_expr): Convert common, left and + right arguments to type. + +2008-10-28 Nick Clifton + + * config/mn10300/mn10300.h (CALL_REALLY_USED_REGISTERS): Define. + * config/mn10300/mn10300.c (fp_regs_to_save): Test the + call_really_used_regs array rather than the call_used_regs array. + (mn10300_get_live_callee_saved_regs, expand_prologue, + expand_epilogue, output_tst): Likewise. + +2008-10-27 Jakub Jelinek + + PR target/37378 + * df-scan.c (df_bb_refs_collect): Don't handle EH_USES here. + (df_get_entry_block_def_set): Neither here. + (df_get_regular_block_artificial_uses): Add EH_USES registers. + + PR tree-optimization/37879 + * predict.c (tree_estimate_probability): Check if last_stmt is + non-NULL before dereferencing it. + +2008-10-27 Vladimir Makarov + + * ira-int.h (ira_allocno): Add member updated_cover_class_cost. + (ALLOCNO_UPDATED_COVER_CLASS_COST): New. + (ira_fast_allocation): Remove the prototype. + + * ira-color.c (update_copy_costs, allocno_cost_compare_func, + assign_hard_reg, calculate_allocno_spill_cost): Use updated costs. + (color_pass): Modify the updated costs. + (ira_color): Rename to color. Make it static. + (ira_fast_allocation): Rename to fast_allocation. Make it static. + (ira_color): New function. + + * ira-conflicts.c (process_regs_for_copy): Propagate hard reg cost + change. + + * ira-lives.c (last_call_num, allocno_saved_at_call): New + variables. + (set_allocno_live, clear_allocno_live, mark_ref_live, + mark_ref_dead): Invalidate corresponding element of + allocno_saved_at_call. + (process_bb_node_lives): Increment last_call_num. Setup + allocno_saved_at_call. Don't increase ALLOCNO_CALL_FREQ if the + allocno was already saved. + (ira_create_allocno_live_ranges): Initiate last_call_num and + allocno_saved_at_call. + + * ira-build.c (ira_create_allocno): Initiate + ALLOCNO_UPDATED_COVER_CLASS_COST. + (create_cap_allocno, propagate_allocno_info, + remove_unnecessary_allocnos): Remove setting updated costs. + (ira_flattening): Set up ALLOCNO_UPDATED_COVER_CLASS_COST. + + * ira.c (ira): Don't call ira_fast_allocation. + + * ira-costs.c (setup_allocno_cover_class_and_costs): Don't set up + updated costs. + 2008-10-27 Vladimir Makarov PR middle-end/37813 @@ -74,7 +381,7 @@ * tree-ssa-loop-ivopts.c (add_old_iv_candidates): For pointer bases add sizetype IV with initial value zero instead of pointer type. -2008-10-24 Manuel López-Ibáñez +2008-10-24 Manuel López-Ibáñez PR c/7543 * value-prof.c (gimple_stringop_fixed_value): Use parentheses @@ -167,7 +474,7 @@ * tree-ssa-structalias.c (could_have_pointers): Complex types cannot have pointers. -2008-10-22 Manuel López-Ibáñez +2008-10-22 Manuel López-Ibáñez PR c/30949 * c-typeck.c (convert_for_assignment): Do not give declaration's @@ -255,11 +562,11 @@ * tree-ssa-pre.c (insert_into_preds_of_block): Don't rewrite constant part of expression. -2008-10-20 Tobias Schlüter +2008-10-20 Tobias Schlüter * doc/install.texi: Fix typos in previous patch. -2008-10-19 Tobias Schlüter +2008-10-19 Tobias Schlüter * doc/install.texi: Document in-tree building of gcc and mpfr. @@ -267,7 +574,7 @@ * tree-ssa-alias.c (may_alias_p): Remove bogus shortcut. -2008-10-19 Manuel López-Ibáñez +2008-10-19 Manuel López-Ibáñez PR c/30260 * c-decl.c (finish_enum): Convert non-integer enumerators to enum @@ -7243,7 +7550,7 @@ * passes.c (init_optimization_passes): Exchange store-ccp with a ccp pass. -2008-08-19 Rafael Espíndola +2008-08-19 Rafael Espíndola * varasm.c (weak_decls): Move earlier in the file. (assemble_external): Add weak decls to the weak_decls list. @@ -9042,7 +9349,7 @@ PR ada/36554 * dwarf2out.c (is_subrange_type): Deal with BOOLEAN_TYPE. -2008-07-30 Rafael Ávila de Espíndola +2008-07-30 Rafael Ávila de Espíndola PR 36974 * final.c (call_from_call_insn): Handle COND_EXEC. @@ -9254,7 +9561,7 @@ * config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Add clause for vector modes. -2008-07-30 Rafael Ávila de Espíndola +2008-07-30 Rafael Ávila de Espíndola * final.c (call_from_call_insn): New. (final_scan_insn): Call assemble_external on FUNCTION_DECLs. @@ -10372,7 +10679,7 @@ (TARGET_OPTION_PRINT): Ditto. (TARGET_CAN_INLINE_P): Ditto. -2008-07-22 Rafael Ávila de Espíndola +2008-07-22 Rafael Ávila de Espíndola * c-typeck.c (build_external_ref): Don't call assemble_external. * final.c (output_operand): Call assemble_external. @@ -10393,7 +10700,7 @@ highest magnitude if this is still less or equal to the true quotient in magnitude. -2008-07-21 Rafael Ávila de Espíndola +2008-07-21 Rafael Ávila de Espíndola * Makefile.in: Replace toplev.h with TOPLEV_H. * c-decl.c (merge_decls): Don't set DECL_IN_SYSTEM_HEADER. @@ -10696,7 +11003,7 @@ (m32c_legitimate_address_p): Handle "++rii" addresses created by m32c_legitimize_reload_address. -2007-07-16 Rafael Ávila de Espíndola +2007-07-16 Rafael Ávila de Espíndola * c-decl.c (merge_decls): Keep DECL_SOURCE_LOCATION and DECL_IN_SYSTEM_HEADER in sync. @@ -10786,7 +11093,7 @@ * emit-rtl.c (set_mem_attributes_minus_bitpos): Improve comment. -2007-07-14 Rafael Ávila de Espíndola +2007-07-14 Rafael Ávila de Espíndola * c-decl.c (diagnose_mismatched_decls): Don't warn if TREE_NO_WARNING is set. @@ -15078,7 +15385,7 @@ Clear __gcov_indreict_call_callee variable to avoid misattribution of the profile. -2008-05-28 Rafael Espíndola +2008-05-28 Rafael Espíndola * see.c (see_def_extension_not_merged): Use copy_rtx_if_shared to avoid invalid sharing. @@ -15496,7 +15803,7 @@ for A24 to PSImode. (m32c_address_cost): Detail costs for indirect offsets. -2008-05-23 Rafael Espíndola +2008-05-23 Rafael Espíndola * see.c (see_get_extension_data): Don't use SUBREG_REG to test if a node is a SUBREG. @@ -15597,7 +15904,7 @@ * config/avr/avr.c (get_sequence_length): Add new function. (expand_prologue, expand_epilogue): Remove duplicate code. -2008-05-22 Rafael Espíndola +2008-05-22 Rafael Espíndola * see.c (see_pre_insert_extensions): Use copy_rtx to avoid invalid rtx sharing. @@ -16889,7 +17196,7 @@ to one line. * doc/invoke.texi (Wframe-larger-than=): Add more description. -2008-05-08 Rafael Espíndola +2008-05-08 Rafael Espíndola * tree-complex.c (expand_complex_div_wide): Don't create CONDs that trap. @@ -17916,7 +18223,7 @@ (evaluate_stmt): Print the likely value. (ccp_visit_stmt): Avoid excessive vertical spacing. -2008-04-30 Rafael Espíndola +2008-04-30 Rafael Espíndola * builtins.c (fold_call_expr): Return realret. * tree-ssa-threadedge.c @@ -18699,7 +19006,7 @@ * tree-vect-analyze.c (vect_analyze_group_access): SLP is incapable of dealing with loads with gaps. -2008-04-24 Rafael Espíndola +2008-04-24 Rafael Espíndola * tree-flow.h (vrp_evaluate_conditional): Change signature. * tree-ssa-propagate.c (fold_predicate_in): Update call to @@ -19023,7 +19330,7 @@ * Makefile.in (s-gtyp-input): Remove tmp-gi.list before writing it. -2008-04-18 Rafael Espíndola +2008-04-18 Rafael Espíndola * tree-vrp.c (find_case_label_index): Fix the binary search. (find_case_label_range): New. @@ -19329,7 +19636,7 @@ * c-decl.c (finish_decl): If extern or static var has variable size, set TREE_TYPE (decl) to error_mark_node. -2008-04-15 Rafael Espíndola +2008-04-15 Rafael Espíndola * fold-const.c (tree_call_nonnegative_warnv_p): Remove local variable arg1. @@ -19469,7 +19776,7 @@ * config/spu/spu.c (spu_init_builtins): Mark builtins as nothrow. -2008-04-10 Rafael Espíndola +2008-04-10 Rafael Espíndola * tree-vrp.c (extract_range_from_binary_expr): Don't handle TRUTH_ANDIF_EXPR or TRUTH_ORIF_EXPR. @@ -19564,7 +19871,7 @@ * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Update GNU Fortran language string. -2008-04-08 Rafael Espíndola +2008-04-08 Rafael Espíndola * fold-canst.c (tree_call_nonnegative_warnv_p): New. (tree_invalid_nonnegative_warnv_p): Use tree_call_nonnegative_warnv_p. @@ -20212,7 +20519,7 @@ make sure to fill gaps with a fallback label if default_label is not present. -2008-04-03 Dominique d'Humières +2008-04-03 Dominique d'Humières PR target/35801 * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Free cfun. @@ -20375,7 +20682,7 @@ (varying_mem_p): Move above propagate_rtx. (all_uses_available_at): Do not check MEMs. -2008-04-02 Rafael Espíndola +2008-04-02 Rafael Espíndola * tree-vrp.c (extract_code_and_val_from_cond): Remove. (register_edge_assert_for_2): Split the cond argument. @@ -20550,7 +20857,7 @@ (*sse4_1_smin3): Likewise. (*sse4_1_umin3): Likewise. -2008-04-01 Rafael Espíndola +2008-04-01 Rafael Espíndola * tree-cfg.c (verify_expr): remove in_phi. (verify_stmt): Don't call walk_tree with verify_expr. Use @@ -20571,7 +20878,7 @@ PR pch/13675 * c-pch.c (c_common_read_pch): On error close (fd) resp. fclose (f). -2008-04-01 Rafael Espíndola +2008-04-01 Rafael Espíndola * tree-vrp.c (extract_code_and_val_from_cond_with_ops): New. (extract_code_and_val_from_cond): Use @@ -20762,7 +21069,7 @@ vectorization support. * doc/invoke.texi (-mveclibabi) [svml]: Document new target option. -2008-03-28 Rafael Espíndola +2008-03-28 Rafael Espíndola * fold-const.c (tree_unary_nonnegative_warnv_p): Make it public. (tree_binary_nonnegative_warnv_p): Make it public. @@ -22555,7 +22862,7 @@ on hpux10. * configure: Rebuilt. -2008-03-04 Rafael Espíndola +2008-03-04 Rafael Espíndola * fold-const.c (tree_simple_nonnegative_warnv_p): New. (tree_unary_nonnegative_warnv_p): New. @@ -22576,7 +22883,7 @@ * config/i386/smmintrin.h (SIDD_XXX): Renamed to ... (_SIDD_XXX): This. -2008-03-04 Rafael Espíndola +2008-03-04 Rafael Espíndola * fold-const.c (tree_unary_nonzero_warnv_p): New. (tree_binary_nonzero_warnv_p): New.