X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=gcc%2FChangeLog;h=b94b9d1175b38576d6e648ad4e395b0c9582e925;hp=253b5dedf579e0f5128bd56bebed4c2ef32451c1;hb=bfa627f88d8d651030186a978ffa84a1eed682c3;hpb=7c88e5139429d67cee9024435cad0d95b7d42307 diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 253b5dedf57..b94b9d1175b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,610 @@ +2009-07-20 Nick Clifton + + * config.gcc (mips64-*-*): Add definition of tm_defines in order + to set MIPS_ABI_DEFAULT. + * config/mips/vr.h (MIPS_ABI_DEFAULT): Remove definition. + +2009-07-20 Jakub Jelinek + + * tree-object-size.c (addr_object_size): Handle unions with + array in it as last field of structs in __bos (, 1) as __bos (, 0). + + PR tree-optimization/40792 + * tree.c (build_function_type_skip_args): Remove bogus assert. + +2009-07-20 Jan Hubicka + Martin Jambor + + * cgraph.h (combined_args_to_skip): New field. + * cgraph.c (cgraph_create_virtual_clone): Properly handle + combined_args_to_skip and args_to_skip. + * tree-inline.c (update_clone_info): New function. + (tree_function_versioning): Call update_clone_info. + * cgraphunit.c: (cgraph_materialize_clone): Dump materialized functions. + (cgraph_materialize_all_clones): More extensive dumping, working + with combined_args_to_skip rather than args_to_skip. + +2009-07-20 Ira Rosen + + * tree-vectorizer.h (vectorizable_condition): Add parameters. + * tree-vect-loop.c (vect_is_simple_reduction): Support COND_EXPR. + (get_initial_def_for_reduction): Likewise. + (vectorizable_reduction): Skip the check of first operand in case + of COND_EXPR. Add check that it is outer loop vectorization if + nested cycle was detected. Call vectorizable_condition() for + COND_EXPR. If reduction epilogue cannot be created do not fail for + nested cycles (if it is not double reduction). Assert that there + is only one type in the loop in case of COND_EXPR. Call + vectorizable_condition() to vectorize COND_EXPR. + * tree-vect-stmts.c (vectorizable_condition): Update comment. + Add parameters. Allow nested cycles if called from + vectorizable_reduction(). Use reduction vector variable if provided. + (vect_analyze_stmt): Call vectorizable_reduction() before + vectorizable_condition(). + (vect_transform_stmt): Update call to vectorizable_condition(). + +2009-07-20 Christian Bruel + + * config/sh/sh.opt (-mfmovd): Resurrect and document. + * doc/invoke.texi (-mfmovd): Likewise. + * config/sh/sh.h (TARGET_FMOVD, MASK_FMOVD): Remove default setting. + +2009-07-20 Jan Hubicka + + * tree-ssa-dce.c (remove_dead_phis): Only look for abnormal PHIs + when handling SSA name. + +2009-07-19 Jan Hubicka + + PR tree-optimization/40676 + * tree-ssa-dce.c (eliminate_unnecessary_stmts): Do renaming on all + virtual PHIs in empty BBs. + +2009-07-18 Adam Nemet + + * combine.c (make_compound_operation) : If force_to_mode + re-expanded the compound use gen_lowpart instead to convert to the + desired mode. + +2009-07-18 Adam Nemet + + * combine.c (try_widen_shift_mode): Add COUNT, OUTER_CODE and + OUTER_CONST arguments. + : Use them to allow widening if the bits shifted in from + the new wider mode will be masked off. + (simplify_shift_const_1): Adjust calls to try_widen_shift_mode. + +2009-07-18 Adam Nemet + + * combine.c (try_widen_shift_mode) : Allow widening if the + high-order bits are zero. + +2009-07-18 Adam Nemet + + * combine.c (simplify_shift_const_1): Split code to determine + shift_mode into ... + (try_widen_shift_mode): ... here. Allow widening for ASHIFTRT if the + new bits shifted in are identical to the old sign bit. + +2009-07-18 Richard Guenther + + PR c/40787 + * gimplify.c (gimplify_call_expr): Reject code using results from + functions returning void. + +2009-07-18 Richard Sandiford + + * doc/md.texi: Document the new PowerPC "es" constraint. + Document that "m" can include automodified addresses on this target, + and explain how %U must be used. Extend the "Q" and "Z" documentation + to suggest "es" as well as "m". + * config/rs6000/constraints.md (es): New memory constraint. + (Q, Z): Update strings to match new documentation. + +2009-07-18 Richard Sandiford + + * config/rs6000/rs6000.c (rs6000_mode_dependent_address): Allow any + offset from virtual_stack_vars_rtx and arg_pointer_rtx. + * config/rs6000/predicates.md (volatile_mem_operand): Use + offsettable_nonstrict_memref_p. + * config/rs6000/rs6000.md (*floatsidf2_internal): Remove split check. + (*floatunssidf2_internal): Likewise. + (*fix_truncdfsi2_internal): Likewise. + (*fix_trunctfsi2_internal): Likewise. + +2009-07-17 Anatoly Sokolov + + * config/avr/avr-devices.c (avr_mcu_t): Add atmega8u2, atmega16u2 and + atmega32u2 devices. + * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.). + +2009-07-17 Richard Guenther + + PR c/40401 + * tree-pass.h (pass_diagnose_omp_blocks): Declare. + (pass_warn_unused_result): Likewise. + (TODO_set_props): Remove. + * omp-low.c (diagnose_omp_structured_block_errors): Change to + run as a pass. + (pass_diagnose_omp_blocks): Define. + * c-decl.c (pop_file_scope): Do not finalize the CU here. + (c_gimple_diagnostics_recursively): Remove. + (finish_function): Do not call it. + (c_write_global_declarations): Continue after errors. + Finalize the CU here. + * c-gimplify.c (c_genericize): Do not gimplify here. + * c-common.c (c_warn_unused_result): Move ... + * tree-cfg.c (do_warn_unused_result): ... here. + (run_warn_unused_result): New function. + (gate_warn_unused_result): New function. + (pass_warn_unused_result): New pass. + * c-common.h (c_warn_unused_result): Remove. + * flags.h (flag_warn_unused_result): Declare. + * c-opts.c (c_common_init_options): Enable flag_warn_unused_result. + * opts.c (flag_warn_unused_result): Initialize to false. + * toplev.c (compile_file): Add comment. + * omp-low.c (create_omp_child_function): Do not register + the function with the frontend. + (diagnose_omp_structured_block_errors): Prepare to be + called as optimization pass. + (gate_diagnose_omp_blocks): New function. + (pass_diagnose_omp_blocks): New pass. + * cgraph.h (cgraph_optimize): Remove. + (cgraph_analyze_function): Likewise. + * cgraph.c (cgraph_add_new_function): Gimplify C++ thunks. + * cgraphunit.c (cgraph_lower_function): Lower nested functions + before their parents here. + (cgraph_finalize_function): Not here. + (cgraph_analyze_function): Gimplify functions here. + (cgraph_finalize_compilation_unit): Continue after errors. + Optimize the callgraph from here. + (cgraph_optimize): Make static. + * langhooks.c (write_global_declarations): Finalize the CU. + * gimplify.c (gimplify_asm_expr): Do not emit ASMs with errors. + (gimplify_function_tree): Assert we gimplify only once. + Set PROP_gimple_any property. + * tree-nested.c (gimplify_all_functions): New function. + (lower_nested_functions): Gimplify all nested functions. + * gimple.h (diagnose_omp_structured_block_errors): Remove. + * passes.c (init_optimization_passes): Add pass_warn_unused_result + and pass_diagnose_omp_blocks after gimplification. Do not + set TODO_set_props on all_lowering_passes. + (execute_one_pass): Do not handle TODO_set_props. + * Makefile.in (cgraphunit.o): Add $(TREE_DUMP_H) dependency. + (gimplify.o): Add tree-pass.h dependency. + * tree-inline.c (copy_statement_list): Properly copy STATEMENT_LIST. + (copy_tree_body_r): Properly handle TARGET_EXPR like SAVE_EXPR. + (unsave_r): Likewise. + * c-omp.c (c_finish_omp_atomic): Set DECL_CONTEXT on the + temporary variable. + +2009-07-17 Sandra Loosemore + + * doc/service.texi (Service): Restore previously removed link, + which isn't broken after all. + +2009-07-17 Richard Guenther + + PR tree-optimization/40321 + * tree-ssa-pre.c (add_to_exp_gen): Also add names defined by + PHI nodes to the maximal set. + (make_values_for_phi): Add PHI arguments to the maximal set. + (execute_pre): Dump PHI_GEN and the maximal set. + +2009-07-17 Jakub Jelinek + + PR c++/40780 + * gimplify.c (gimplify_conversion): Don't change non-conversions into + VIEW_CONVERT_EXPR. + +2009-07-16 Sandra Loosemore + + * doc/extend.texi (Nested Functions): Replace broken link with + textual reference. + * doc/service.texi (Service): Remove broken link. + +2009-07-16 H.J. Lu + + PR bootstrap/40781 + * builtins.c (expand_builtin_memcmp): Use loc instead of + EXPR_LOCATION (exp). + (expand_builtin_strncmp): Likewise. + +2009-07-17 Aldy Hernandez + Manuel López-Ibáñez + + PR 40435 + * tree-complex.c, tree-loop-distribution.c, tree.c, tree.h, + builtins.c, fold-const.c, omp-low.c, cgraphunit.c, tree-ssa-ccp.c, + tree-ssa-dom.c, gimple-low.c, expr.c, tree-ssa-ifcombine.c, + c-decl.c, stor-layout.c, tree-if-conv.c, c-typeck.c, gimplify.c, + calls.c, tree-sra.c, tree-mudflap.c, tree-ssa-copy.c, + tree-ssa-forwprop.c, c-convert.c, c-omp.c, varasm.c, + tree-inline.c, c-common.c, c-common.h, gimple.c, + tree-switch-conversion.c, gimple.h, tree-cfg.c, c-parser.c, + convert.c: Add location argument to fold_{unary,binary,ternary}, + fold_build[123], build_call_expr, build_size_arg, + build_fold_addr_expr, build_call_array, non_lvalue, size_diffop, + fold_build1_initializer, fold_build2_initializer, + fold_build3_initializer, fold_build_call_array, + fold_build_call_array_initializer, fold_single_bit_test, + omit_one_operand, omit_two_operands, invert_truthvalue, + fold_truth_not_expr, build_fold_indirect_ref, fold_indirect_ref, + combine_comparisons, fold_builtin_*, fold_call_expr, + build_range_check, maybe_fold_offset_to_address, round_up, + round_down. + +2009-07-16 Jason Merrill + + PR libstdc++/37907 + * c-common.c (c_common_reswords): Add __is_standard_layout + and __is_trivial. + * c-common.h (enum rid): Add RID_IS_STD_LAYOUT and RID_IS_TRIVIAL. + * doc/implement-cxx.texi: New. + * doc/gcc.texi: Include it. + +2009-07-16 DJ Delorie + + * config/m32c/m32c.c (m32c_compare_redundant): Avoid removing + compares that may be indirectly affected by previous instructions. + +2009-07-16 Kaveh R. Ghazi + + * builtins.c (do_mpc_arg2): New. + (fold_builtin_2): Fold builtin cpow. + * real.h (HAVE_mpc_pow): New. + +2009-07-16 Bingfeng Mei + + * modulo-sched.c (sms_schedule): stage_count <= 1 as correct + comparison to skip unprofitable schedule + +2009-07-16 Simon Baldwin + + * gcc.c (option_map): New flag -no-canonical-prefixes. + * (display_help): Print help text for new flag. + * (process_command): Move options translation and language specifics + and handle new flag early. Use it to set a function pointer to a + prefix builder. Replace make_relative_prefix calls with calls to + the function pointed to. Ignore new flag in regular options handling. + * doc/invoke.texi (Overall Options): Documented -no-canonical-prefixes. + +2009-07-15 DJ Delorie + + * config/mep/mep.md (sibcall_internal): Change register to avoid + argument registers. + (sibcall_value_internal): Likewise. + +2009-07-15 Eric Botcazou + + PR rtl-optimization/40710 + * resource.c (mark_target_live_regs): Reset DF problem to LR. + +2009-07-15 Adam Nemet + + * config/mips/mips.md (*extenddi_truncate, + *extendsi_truncate): Change type attribute to move_type + with shift_shift. Split out code handling exts from here ... + (*extend_truncate_exts): ... to this new + pattern. + (*extendhi_truncateqi): Change type attribute to move_type with + shift_shift. Split out code handling exts from here ... + (*extendhi_truncateqi_exts): ... to this new pattern. + +2009-07-15 Uros Bizjak + + * config/i386/sse.md (copysign3): Use "and-not" SSE instruction + instead of "and" with inverted sign bit mask value. Use + "nonimmediate_operand" for operand 1 and operand 2 predicate. + Allocate registers only for operand 4 and operand 5. + +2009-07-15 Jakub Jelinek + + PR middle-end/40747 + * fold-const.c (fold_cond_expr_with_comparison): When folding + < and <= to MIN, make sure the MIN uses the same type as the + comparison's operands. + +2009-07-15 Richard Earnshaw + + * arm.md (ior_xor): New code iterator. + (split for ior/xor with shift and zero-extend): New split pattern. + * arm/predicates.md (subreg_lowpart_operator): New special predicate. + +2009-07-15 Richard Guenther + + * tree-ssa-structalias.c (make_constraint_from_heapvar): Initialize + offset member. + +2009-07-15 Richard Guenther + + PR middle-end/40753 + * alias.c (ao_ref_from_mem): Reject FUNCTION_DECL and LABEL_DECL bases. + +2009-07-15 Maxim Kuvyrkov + + * config/m68k/linux-unwind.h (m68k_fallback_frame_state): Update to + handle 2.6.30 kernel. + +2009-07-15 DJ Delorie + + * config/mep/mep.md (sibcall_internal): Change register to allow + for 24-bit addresses. + (sibcall_value_internal): Likewise. + +2009-07-14 Ghassan Shobaki + + * doc/invoke.texi: Added descriptions of the scheduling heuristics + that are enabled/disabled by the flags introduced by a previous patch. + +2009-07-14 DJ Delorie + + * config/mep/mep.md (sibcall_internal): Include non-toggling + non-jmp case. + (sibcall_value_internal): Likewise. + +2009-07-14 Taras Glek + Rafael Espindola + + * doc/sourcebuild.texi: Document install-plugin target. + * configure.ac: Added install-plugin target to language makefiles. + * configure: Regenerate. + * Makefile.in: (install-plugin): Install more headers, + depend on lang.install-plugin. + +2009-07-15 Manuel López-Ibáñez + + * tree-vrp.c (vrp_evaluate_conditional): Mark strings for + translation. + +2009-07-14 DJ Delorie + + * config/mep/mep.c (mep_vliw_jmp_match): New function. + * config/mep/mep-protos.h (mep_vliw_jmp_match): Prototype it. + * config/mep/mep.md (sibcall_internal): Change test from + mep_vliw_mode_match to mep_vliw_jmp_match. + (sibcall_value_internal): Likewise. + +2009-07-14 Uros Bizjak + + * config/i386/sse.md (copysign3): New expander. + * config/i386/i386-protos.h (ix86_build_signbit_mask): New prototype. + * config/i386/i386.c (ix86_build_signbit_mask): Make public. + Use ix86_build_const_vector. + (enum ix86_builtins): Add IX86_BUILTIN_CPYSGNPS and + IX86_BUILTIN_CPYSGNPD. + (builtin_description): Add __builtin_ia32_copysignps and + __builtin_ia32_copysignpd. + (ix86_builtin_vectorized_function): Handle BUILT_IN_COPYSIGN + and BUILT_IN_COPYSIGNF. + +2009-07-13 Jason Merrill + + * builtins.c (can_trust_pointer_alignment): New fn. + (get_pointer_alignment): Factor it out from here. + * tree.h: Declare it. + +2009-07-14 David Edelsohn + + * config/rs6000/predicates.md (offsettable_mem_operand): Test + RTX_AUTOINC class. + +2009-07-14 Dodji Seketeli + + PR debug/40705 + PR c++/403057 + * dwarf2.out.c (gen_type_die_with_usage): Added comment. + +2009-07-14 Richard Guenther + Andrey Belevantsev + + PR middle-end/40745 + * cfgexpand.c (partition_stack_vars): Do not bother to update + alias information when not optimizing. + +2009-07-14 Richard Guenther + Andrey Belevantsev + + * tree-ssa-alias.h (refs_may_alias_p_1): Declare. + (pt_solution_set): Likewise. + * tree-ssa-alias.c (refs_may_alias_p_1): Export. + * tree-ssa-structalias.c (pt_solution_set): New function. + * final.c (rest_of_clean_state): Free SSA data structures. + * print-rtl.c (print_decl_name): Remove. + (print_mem_expr): Implement in terms of print_generic_expr. + * alias.c (ao_ref_from_mem): New function. + (rtx_refs_may_alias_p): Likewise. + (true_dependence): Query alias-export info. + (canon_true_dependence): Likewise. + (write_dependence_p): Likewise. + * tree-dfa.c (get_ref_base_and_extent): For void types leave + size unknown. + * emit-rtl.c (component_ref_for_mem_expr): Remove. + (mem_expr_equal_p): Use operand_equal_p. + (set_mem_attributes_minus_bitpos): Do not use + component_ref_for_mem_expr. + * cfgexpand.c (add_partitioned_vars_to_ptset): New function. + (update_alias_info_with_stack_vars): Likewise. + (partition_stack_vars): Call update_alias_info_with_stack_vars. + * tree-ssa.c (delete_tree_ssa): Do not release SSA names + explicitly nor clear stmt operands. + Free the decl-to-pointer map. + * tree-optimize.c (execute_free_datastructures): Do not free + SSA data structures here. + * tree-flow.h (struct gimple_df): Add decls_to_pointers member. + * Makefile.in (emit-rtl.o): Add pointer-set.h dependency. + (alias.o): Add tree-ssa-alias.h, pointer-set.h and $(TREE_FLOW_H) + dependencies. + (print-rtl.o): Add $(DIAGNOSTIC_H) dependency. + +2009-07-13 DJ Delorie + + * config/mep/mep.h (CC1_SPEC): Tweak parameters to trigger + unrolling at the right iteration count. + + * config/mep/mep.c (mep_expand_prologue): Fix frame pointer + calculations. + +2009-07-13 Ghassan Shobaki + + * haifa-sched.c (rank_for_schedule): Introduced flags to + enable/disable individual scheduling heuristics. + * common.opt: Introduced flags to enable/disable individual + heuristics in the scheduler. + * doc/invoke.texi: Introduced flags to enable/disable individual + heuristics in the scheduler. + +2009-07-13 Kai Tietz + + * config/i386/t-gthr-win32 (LIB2FUNCS_EXTRA): Remove file + config/i386/mingw-tls.c. + * config/i386/mingw-tls.c: Removed. + +2009-07-13 Ira Rosen + + * tree-vect-loop.c (get_initial_def_for_reduction): Ensure that the + checks access only relevant statements. + (vectorizable_reduction): Likewise. + +2009-07-12 Kai Tietz + + * config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Define _X86_ + just for 32-bit case. + +2009-07-12 Jan Hubicka + + PR tree-optimization/40585 + * except.c (expand_resx_expr): When there already is resume + instruction, produce linked list. + (build_post_landing_pads): Assert that resume is empty. + (connect_post_landing_pads): Handle resume lists. + (dump_eh_tree): Dump resume list. + +2009-07-12 Ira Rosen + + * tree-parloops.c (loop_parallel_p): Call vect_is_simple_reduction + with additional argument. + * tree-vectorizer.h (enum vect_def_type): Add + vect_double_reduction_def. + (vect_is_simple_reduction): Add argument. + * tree-vect-loop.c (vect_determine_vectorization_factor): Fix + indentation. + (vect_analyze_scalar_cycles_1): Detect double reduction. Call + vect_is_simple_reduction with additional argument. + (vect_analyze_loop_operations): Handle exit phi nodes in case of + double reduction. + (reduction_code_for_scalar_code): Handle additional codes by + returning ERROR_MARK for them. Fix comment and indentation. + (vect_is_simple_reduction): Fix comment, add argument to specify + double reduction. Detect double reduction. + (get_initial_def_for_induction): Fix indentation. + (get_initial_def_for_reduction): Fix comment and indentation. + Handle double reduction. Create initial definitions that do not + require adjustment if ADJUSTMENT_DEF is NULL. Handle additional cases. + (vect_create_epilog_for_reduction): Fix comment, add argument to + handle double reduction. Use PLUS_EXPR in case of MINUS_EXPR in + epilogue result extraction. Create double reduction phi node and + replace relevant uses. + (vectorizable_reduction): Call vect_is_simple_reduction with + additional argument. Fix indentation. Update epilogue code treatment + according to the changes in reduction_code_for_scalar_code. Check + for double reduction. Call vect_create_epilog_for_reduction with + additional argument. + * tree-vect-stmts.c (process_use): Handle double reduction, update + documentation. + (vect_mark_stmts_to_be_vectorized): Handle double reduction. + (vect_get_vec_def_for_operand): Likewise. + +2009-07-12 Danny Smith + + * config/i386/winnt.c (i386_pe_determine_dllexport_p): Don't + dllexport if !TREE_PUBLIC. + (i386_pe_maybe_record_exported_symbol): Assert TREE_PUBLIC. + +2009-07-11 Anatoly Sokolov + + * config/avr/avr.h (TARGET_CPU_CPP_BUILTINS): Redefine. + (avr_extra_arch_macro) Remove declatation. + * config/avr/avr.c (avr_cpu_cpp_builtins): New function. + (avr_extra_arch_macro) Declare as static. + * config/avr/avr-protos.h (avr_cpu_cpp_builtins): Dclare. + +2009-07-11 Jan Hubicka + + PR middle-end/48388 + * except.c (can_be_reached_by_runtime): Test for NULL aka bitmap. + +2009-07-11 Jakub Jelinek + + PR debug/40713 + * dwarf2out.c (dw_fde_struct): Add in_std_section and + cold_in_std_section bits. + (dwarf2out_begin_prologue): Initialize them. + (dwarf2out_finish): Don't emit FDE range into .debug_ranges + if already covered by text_section or cold_text_section range. + + PR rtl-optimization/40667 + * defaults.h (MINIMUM_ALIGNMENT): Define if not defined. + * doc/tm.texi (MINIMUM_ALIGNMENT): Document it. + * config/i386/i386.h (MINIMUM_ALIGNMENT): Define. + * config/i386/i386.c (ix86_minimum_alignment): New function. + * config/i386/i386-protos.h (ix86_minimum_alignment): New prototype. + * cfgexpand.c (expand_one_var): Use MINIMIM_ALIGNMENT. + * emit-rtl.c (gen_reg_rtx): Likewise. + * function.c (assign_parms): Likewise. If nominal_type needs + bigger alignment than FUNCTION_ARG_BOUNDARY, use its alignment + rather than passed_type's alignment. + + PR target/40668 + * function.c (assign_parm_setup_stack): Adjust + MEM_OFFSET (data->stack_parm) if promoted_mode is different + from nominal_mode on big endian. + +2009-07-11 Paolo Bonzini + + * expmed.c (emit_store_flag_1): Fix choice of zero vs. sign extension. + +2009-07-10 DJ Delorie + + * config/mep/mep.c (mep_can_inline_p): Correct logic, and simplify. + +2009-07-10 Mark Mitchell + + * config/arm/thumb2.md (thumb2_cbz): Correct computation of length + attribute. + (thumb2_cbnz): Likewise. + +2009-07-10 David Daney + + PR target/39079 + * config.gcc (supported_defaults): Add synci. + (with_synci): Add validation. + (all_defaults): Add synci. + * config/mips/mips.md (clear_cache): Use TARGET_SYNCI instead of + ISA_HAS_SYNCI. + (synci): Same. + * config/mips/mips.opt (msynci): New option. + * config/mips/mips.c (mips_override_options): Warn on use of + -msynci for targets that do now support it. + * gcc/config/mips/mips.h (OPTION_DEFAULT_SPECS): Add a default for + msynci. + * gcc/doc/invoke.texi (-msynci): Document the new option. + * doc/install.texi (--with-synci): Document the new option. + +2009-07-10 Richard Guenther + + PR tree-optimization/40496 + * tree-ssa-loop-manip.c (tree_transform_and_unroll_loop): Create + the PHI result with a compatible type. + +2009-07-10 Manuel López-Ibáñez + + PR 25509 + PR 40614 + * c.opt (Wunused-result): New. + * doc/invoke.texi: Document it. + * c-common.c (c_warn_unused_result): Use it. + 2009-07-09 DJ Delorie * targhooks.c (default_target_can_inline_p): Rename from @@ -33,15 +640,15 @@ * dwarf2asm.c: Include dwarf2.h. 2009-07-09 Maxim Kuvyrkov - + * haifa-sched.c (insn_finishes_cycle_p): New static function. - (max_issue): Use it. - * sched-int.h (struct sched_info: insn_finishes_block_p): New - scheduler hook. - * sched-rgn.c (rgn_insn_finishes_block_p): Implement it. - (region_sched_info): Update. - * sched-ebb.c (ebb_sched_info): Update. - * modulo-sched.c (sms_sched_info): Update. + (max_issue): Use it. + * sched-int.h (struct sched_info: insn_finishes_block_p): New + scheduler hook. + * sched-rgn.c (rgn_insn_finishes_block_p): Implement it. + (region_sched_info): Update. + * sched-ebb.c (ebb_sched_info): Update. + * modulo-sched.c (sms_sched_info): Update. * sel-sched-ir.c (sched_sel_haifa_sched_info): Update. 2009-07-09 Maxim Kuvyrkov @@ -60,8 +667,8 @@ 2009-07-08 Adam Nemet - * simplify-rtx.c (simplify_binary_operation_1) : Transform (and - (truncate)) into (truncate (and)). + * simplify-rtx.c (simplify_binary_operation_1) : + Transform (and (truncate)) into (truncate (and)). 2009-07-08 Adam Nemet @@ -176,9 +783,9 @@ 2009-07-07 Duncan Sands - * final.c (pass_clean_state): Give the pass a name. - * passes.c (pass_rest_of_compilation): Likewise. - * tree-optimize.c (pass_all_optimizations): Likewise. + * final.c (pass_clean_state): Give the pass a name. + * passes.c (pass_rest_of_compilation): Likewise. + * tree-optimize.c (pass_all_optimizations): Likewise. 2009-07-07 H.J. Lu @@ -203,8 +810,7 @@ 2009-07-07 Manuel López-Ibáñez - * cgraphunit.c: Replace %J by an explicit location. Update all - calls. + * cgraphunit.c: Replace %J by an explicit location. Update all calls. * c-decl.c: Likewise. * function.c: Likewise. * varasm.c: Likewise. @@ -256,8 +862,7 @@ 2009-07-06 Diego Novillo - * tree-pretty-print.c (dump_generic_node): Protect - against NULL op0. + * tree-pretty-print.c (dump_generic_node): Protect against NULL op0. (debug_tree_chain): Handle cycles. 2009-07-06 Nick Clifton @@ -271,8 +876,7 @@ (TARGET_CPU_CPP_BUILTINS): Define __FMOVD_ENABLED__ if TARGET_FMOVD is true. * config/sh/sh.md (movdf_i4): For alternative 0 use either one or - two fmov instructions depending upon whether TARGET_FMOVD is - enabled. + two fmov instructions depending upon whether TARGET_FMOVD is enabled. (split for DF load from memory into register): Also handle MEMs which consist of REG+DISP addressing. (split for DF store from register to memory): Likewise. @@ -317,8 +921,7 @@ 2009-07-03 Vladimir Makarov PR target/40587 - * ira.c (build_insn_chain): Use DF_LR_OUT instead of - df_get_live_out. + * ira.c (build_insn_chain): Use DF_LR_OUT instead of df_get_live_out. 2009-07-03 Richard Guenther @@ -334,9 +937,9 @@ 2009-07-03 Richard Guenther PR middle-end/34163 - * tree-chrec.c (chrec_convert_1): Fold (T2)(t +- x) to - (T2)t +- (T2)x if t +- x is known to not overflow and - the conversion widens the operation. + * tree-chrec.c (chrec_convert_1): Fold (T2)(t +- x) to (T2)t +- (T2)x + if t +- x is known to not overflow and the conversion widens the + operation. * Makefile.in (tree-chrec.o): Add $(FLAGS_H) dependency. 2009-07-03 Jan Hubicka @@ -2660,7 +3263,7 @@ (vect_finalize_reduction): Handle subtraction, fix comments. (vectorizable_reduction): Handle nested cycles. In case of nested cycle keep track of the reduction variable position. Call - vect_is_simple_reduction with additional parameter. Use original + vect_is_simple_reduction with additional parameter. Use original statement code in reduction epilogue for nested cycle. Call vect_create_epilog_for_reduction with additional parameter. * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Assert @@ -4251,26 +4854,26 @@ 2009-06-01 Ira Rosen PR tree-optimization/39129 - * tree-vect-loop-manip.c (conservative_cost_threshold): Change the + * tree-vect-loop-manip.c (conservative_cost_threshold): Change the printed message. - (vect_do_peeling_for_loop_bound): Use + (vect_do_peeling_for_loop_bound): Use LOOP_REQUIRES_VERSIONING_FOR_ALIGNMENT and LOOP_REQUIRES_VERSIONING_FOR_ALIAS macros. (vect_loop_versioning): Likewise. (vect_create_cond_for_alias_checks): Fix indentation. - * tree-vectorizer.h (struct _loop_vec_info): Fix indentation of the + * tree-vectorizer.h (struct _loop_vec_info): Fix indentation of the macros. (LOOP_REQUIRES_VERSIONING_FOR_ALIGNMENT): Define. (LOOP_REQUIRES_VERSIONING_FOR_ALIAS): Likewise. - * tree-vect-loop.c (vect_analyze_loop_form): Change "too many BBs" to + * tree-vect-loop.c (vect_analyze_loop_form): Change "too many BBs" to "control flow in loop". - (vect_estimate_min_profitable_iters): Use + (vect_estimate_min_profitable_iters): Use LOOP_REQUIRES_VERSIONING_FOR_ALIGNMENT and LOOP_REQUIRES_VERSIONING_FOR_ALIAS macros. * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Likewise. (vect_create_data_ref_ptr): Don't mention array dimension in printing. - * tree-vect-stmts.c (vectorizable_store): Replace the check that the - statement belongs to a group of strided accesses with the exact code + * tree-vect-stmts.c (vectorizable_store): Replace the check that the + statement belongs to a group of strided accesses with the exact code check. (vectorizable_load): Likewise. * tree-vect-slp.c (vect_analyze_slp_instance): Spell out "basic block".