X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=gcc%2FChangeLog;h=73bb0752a895ad01b411fedfb5106041d1dea8db;hp=ffbb6072b9b60c1c3e31ca013f5f503327a9ecc7;hb=f307252097b709b2c860795eacb9434ee816e91b;hpb=6d4987fbfa4079353f8112b251af1c572cb64b95 diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ffbb6072b9b..73bb0752a89 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,383 @@ +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 + * ira-conflicts.c (process_regs_for_copy): Remove class subset + check. + + * ira-int.h (ira_hard_regno_cover_class): New. + + * ira-lives.c (mark_reg_live, mark_reg_dead, + process_bb_node_lives): Use ira_hard_regno_cover_class. + + * ira.c (reg_class ira_hard_regno_cover_class): New global + variable. + (setup_hard_regno_cover_class): New function. + (ira_init): Call setup_hard_regno_cover_class. + + * ira-costs.c (cost_class_nums): Add comment. + (find_allocno_class_costs): Initiate cost_class_nums. + (setup_allocno_cover_class_and_costs): Check cost_class_nums. + +2008-10-27 Vladimir Makarov + + PR middle-end/37884 + * ira-build.c (copy_live_ranges_to_removed_store_destinations): + Rename to copy_info_to_removed_store_destinations. Propagate + conflict hard regs and register stack attribute. + +2008-10-26 John David Anglin + + PR middle-end/37316 + * pa.c (function_arg_padding): Pad complex and vector types upward in + 64-bit runtime. + (function_arg): Use BLKmode for PARALLEL in 64-bit runtime. + +2008-10-26 Matthias Klose + + * doc/install.texi: Document requirements on antlr. + +2008-10-25 Richard Sandiford + + * config/mips/mips.h (REG_ALLOC_ORDER): Put call-clobbered registers + first. + +2008-10-24 Michael Meissner + + PR target/37841 + * function.c (locate_and_pad_parm): If FUNCTION_ARG_ADJUST_OFFSET + is defined, use it to modify the constant offset. + + * doc/tm.texi (FUNCTION_ARG_OFFSET): Document new macro. + + * config/spu/spu.h (FUNCTION_ARG_OFFSET): New macro to move char + and short arguments to the correct location as mandated by the + ABI. + +2008-10-24 Kaz Kojima + + PR rtl-optimization/37769 + * regmove.c (optimize_reg_copy_2): Update REG_INC note if needed. + +2008-10-24 Kaz Kojima + + * config/sh/t-sh: Use $(MULTILIB_CFLAGS) when compiling to + unwind-dw2-Os-4-200.o. + +2008-10-24 Joseph Myers + + * c-typeck.c (enum impl_conv): Remove ic_argpass_nonproto. + (convert_for_assignment): Remove ic_argpass_nonproto cases. + +2008-10-24 Jakub Jelinek + + PR tree-optimization/36038 + * 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 + + PR c/7543 + * value-prof.c (gimple_stringop_fixed_value): Use parentheses + around bit operation. + * profile.c (is_edge_inconsistent): Likewise. + * fold-const.c (truth_value_p): Move from here... + * tree.h (truth_value_p): ... to here. + * c-tree.h (c_expr): Update description of original_code. + * c-typeck.c (parser_build_unary_op): Set original_code. + (parser_build_binary_op): Update call to warn_about_parentheses. + * c-common.c (warn_about_parentheses): Take two additional + arguments of the operands. Use a switch. Quote operators + appropriately. Define macro APPEARS_TO_BE_BOOLEAN_EXPR_P. + Add warning about !x | y and !x & y. + * c-common.h (warn_about_parentheses): Update declaration. + +2008-10-24 Jakub Jelinek + + * Makefile.in (lang_checks_parallelized, check_gcc_parallelize, + check_p_tool, check_p_vars, check_p_subno, check_p_comma, + check_p_subwork, check_p_numbers, check_p_subdir, check_p_subdirs): + New variables. + (check-subtargets, check-%-subtargets, check-parallel-%): New + targets. + (check-%): For test targets listed in lang_checks_parallelized + if -j is used and RUNTESTFLAGS doesn't specify tests to execute, + run the testing in multiple make goals, possibly parallel, and + afterwards run dg-extract-results.sh to merge the sum and log files. + +2008-10-24 Richard Sandiford + + * config/mips/mips.c (mips_canonicalize_move_class): New function. + (mips_move_to_gpr_cost): Likewise. + (mips_move_from_gpr_cost): Likewise. + (mips_register_move_cost): Make more fine-grained. + +2008-10-23 Tobias Grosser + + * graphite.c (graphite_apply_transformations): Check for + -fgraphite-identity. + * toplev.c (process_options): Add graphite_identity. + * tree-ssa-loop.c (gate_graphite_transforms): Add graphite_identity. + +2008-10-23 Bernd Schmidt + + * config/bfin/bfin.c (bdesc_2arg): Add mulhisill, mulhisilh, + mulhisihl and mulhisihh builtins. + + From Jie Zhang + * config/bfin/bfin.md (composev2hi): Put operands into vector + with correct order. + +2008-10-22 Chao-ying Fu + + * config/mips/mips.opt (msmartmips): Accept -mno-smartmips. + +2008-10-22 Bernd Schmidt + + From Mike Frysinger + * config/bfin/bfin-protos.h (bfin_cpu_type): Add BFIN_CPU_BF512, + BFIN_CPU_BF514, BFIN_CPU_BF516, and BFIN_CPU_BF518. + * config/bfin/bfin.c (bfin_cpus[]): Add 0.0 for bf512, bf514, bf516, + and bf518. Add 0.2 for bf522, bf523, bf524, bf526, and bf527. + Add 0.6 for bf533, bf532, and bf531. Add 0.5 for bf538 and bf539. + Add 0.2 for bf542, bf544, bf547, bf548, and bf549. + * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define __ADSPBF512__ + for BFIN_CPU_BF512, __ADSPBF514__ for BFIN_CPU_BF514, __ADSPBF516__ + for BFIN_CPU_BF516, and __ADSPBF518__ for BFIN_CPU_BF518. Define + __ADSPBF51x__ for all of them. + * config/bfin/elf.h (LIB_SPEC): Select proper linker scripts for + -mcpu bf512, bf514, bf516, and bf518. + * config/bfin/t-bfin-elf (MULTILIB_MATCHES): Select bf532-none for + bf512-none, bf514-none, bf516-none, and bf518-none. + * config/bfin/t-bfin-linux (MULTILIB_MATCHES): Likewise. + * config/bfin/t-bfin-uclinux (MULTILIB_MATCHES): Likewise. + * doc/invoke.texi (Blackfin Options): Document that + -mcpu now accepts bf512, bf514, bf516, and bf518. + +2008-10-22 Jakub Jelinek + + PR middle-end/37882 + * fold-const.c (build_range_type): For 1 .. signed_max + range call build_nonstandard_inter_type if signed_type_for + returned a type with bigger precision. + +2008-10-22 Richard Guenther + + * tree.def (COMPLEX_TYPE): Constrain element type. + * tree.c (build_complex_type): Assert that. + * tree-ssa-structalias.c (could_have_pointers): Complex types + cannot have pointers. + +2008-10-22 Manuel López-Ibáñez + + PR c/30949 + * c-typeck.c (convert_for_assignment): Do not give declaration's + location for builtins. Spell out which type was expected and which + was given. + 2008-10-22 Nick Clifton * config/frv/frv.h (HARD_REGNO_RENAME_OK): Define. Do not allow @@ -79,11 +459,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. @@ -91,7 +471,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 @@ -7067,7 +7447,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. @@ -8866,7 +9246,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. @@ -9078,7 +9458,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. @@ -10196,7 +10576,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. @@ -10217,7 +10597,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. @@ -10520,7 +10900,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. @@ -10610,7 +10990,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. @@ -14902,7 +15282,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. @@ -15320,7 +15700,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. @@ -15421,7 +15801,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. @@ -16713,7 +17093,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. @@ -17740,7 +18120,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 @@ -18523,7 +18903,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 @@ -18847,7 +19227,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. @@ -19153,7 +19533,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. @@ -19293,7 +19673,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. @@ -19388,7 +19768,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. @@ -20036,7 +20416,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. @@ -20199,7 +20579,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. @@ -20374,7 +20754,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 @@ -20395,7 +20775,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 @@ -20586,7 +20966,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. @@ -22379,7 +22759,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. @@ -22400,7 +22780,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.