Do not describe -std=c11 etc. as experimental in c.opt help text.
[gcc.git] / gcc / ChangeLog
index f9858f129eab96bac86ffe47155cf6babcff654e..91b417ad6c424bc5383fc3a39e818af69978a490 100644 (file)
@@ -1,5 +1,282 @@
+2015-10-01  Sebastian Pop  <s.pop@samsung.com>
+           Aditya Kumar  <aditya.k7@samsung.com>
+
+       PR tree-optimization/67754
+       * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Call
+       scev analysis on the same loop nest as analyze_drs_in_stmts.
+       * graphite-sese-to-poly.c (outermost_loop_in_sese_1): Moved and renamed...
+       (try_generate_gimple_bb): Call outermost_loop_in_sese.
+       (analyze_drs_in_stmts): Same.
+       * sese.c (outermost_loop_in_sese): ...here.
+
+2015-10-01  Sebastian Pop  <s.pop@samsung.com>
+           Aditya Kumar  <aditya.k7@samsung.com>
+
+       PR tree-optimization/67754
+       * graphite-scop-detection.c (loop_body_is_valid_scop): Add missing
+       recursion on the inner loops.
+
+2015-10-01  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+       * cfganal.c, compare-elim.c, coverage.c, cprop.c, df-scan.c,
+       function.c, read-rtl.c, statistics.c, trans-mem.c, tree-if-conv.c,
+       tree-into-ssa.c, tree-loop-distribution.c, tree-ssa-coalesce.c,
+       tree-ssa-loop-ivopts.c, tree-ssa-reassoc.c, tree-ssa-strlen.c,
+       tree-ssa-tail-merge.c, tree-vrp.c, var-tracking.c: Remove
+
+2015-10-01  Marek Polacek  <polacek@redhat.com>
+
+       PR c/65345
+       * config/i386/i386.c (ix86_atomic_assign_expand_fenv): Adjust to use
+       create_tmp_var_raw rather than create_tmp_var.
+
+2015-10-01  Marek Polacek  <polacek@redhat.com>
+
+       PR tree-optimization/67769
+       * tree-ssa-phiopt.c (conditional_replacement): Call
+       reset_flow_sensitive_info_in_bb.
+       (minmax_replacement): Likewise.
+       (abs_replacement): Likewise.
+
+2015-10-01  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * builtins.c: Don't include gomp-constants.h.
+       (fold_builtin_1): Don't fold acc_on_device here.
+       * gimple-fold.c: Include gomp-constants.h.
+       (gimple_fold_builtin_acc_on_device): New.
+       (gimple_fold_builtin): Call it.
+
+2015-10-01  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/i386/x86-tune.def (X86_TUNE_USE_BT): Enable for
+       Lakemont.
+       (X86_TUNE_ZERO_EXTEND_WITH_AND): Disable for Lakemont.
+
+2015-10-01  James Greenhalgh  <james.greenhalgh@arm.com>
+
+       * config/arm/aarch-common-protos.h
+       (aarch_accumulator_forwarding): New.
+       (aarch_forward_to_shift_is_not_shifted_reg): Likewise.
+       * config/arm/aarch-common.c (aarch_accumulator_forwarding): New.
+       (aarch_forward_to_shift_is_not_shifted_reg): Likewise.
+       * config/arm/cortex-a53.md: Rewrite.
+
+2015-10-01  Richard Biener  <rguenther@suse.de>
+
+       * gimple-match.h (mprts_hook): Declare.
+       * gimple-match.head.c (mprts_hook): Define.
+       (maybe_push_res_to_seq): Use new hook.
+       * gimple-fold.c (gimple_fold_stmt_to_constant_1): Likewise.
+       * tree-ssa-sccvn.h (vn_ssa_aux::expr): Change to a gimple_seq.
+       (vn_ssa_aux::has_constants): Remove.
+       * tree-ssa-sccvn.c: Include gimple-match.h.
+       (VN_INFO_GET): Assert we don't re-use SSA names.
+       (vn_get_expr_for): Remove.
+       (expr_has_constants): Likewise.
+       (stmt_has_constants): Likewise.
+       (simplify_binary_expression): Likewise.
+       (simplify_unary_expression): Likewise.
+       (vn_lookup_simplify_result): New hook.
+       (visit_copy): Adjust.
+       (visit_reference_op_call): Likewise.
+       (visit_phi): Likewise.
+       (visit_use): Likewise.
+       (process_scc): Likewise.
+       (init_scc_vn): Likewise.
+       (visit_reference_op_load): Likewise.  Use match-and-simplify and
+       a gimple seq for inserted expressions.
+       (try_to_simplify): Remove GENERIC stmt combining code.
+       (sccvn_dom_walker::before_dom_children): Use match-and-simplify.
+       * tree-ssa-pre.c (eliminate_insert): Adjust.
+       (eliminate_dom_walker::before_dom_children): Likewise.
+
+2015-10-01  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * doc/invoke.texi (Optimization Options): Add
+       -freorder-blocks-algorithm=.
+       (Optimize Options) <-O>: Add -freorder-blocks.
+       <-O2>: Remove -freorder-blocks.  Add -freorder-blocks-algorithm=stc.
+       <-Os>: Add -freorder-blocks-algorithm=stc as not enabled.
+       <-freorder-blocks>: Also enabled at levels -O and -Os.
+       <-freorder-blocks-algorithm=>: Document new option.
+
+2015-10-01  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * bb-reorder.c (reorder_basic_blocks): Use the algorithm selected
+       with flag_reorder_blocks_algorithm.
+       * common.opt (freorder-blocks-algorithm=): New flag.
+       (reorder_blocks_algorithm): New enum.
+       * flag-types.h (reorder_blocks_algorithm): New enum.
+       * opts.c (default_options_table): Use -freorder-blocks at -O1 and up,
+       and -freorder-blocks-algorithm=stc at -O2 and up (not at -Os).
+
+2015-10-01  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * bb-reorder.c: Add intro comment.
+       (reorder_basic_blocks_software_trace_cache): Print a header to
+       the dump file.
+       (edge_order): New function.
+       (reorder_basic_blocks_simple): New function.
+       (reorder_basic_blocks): Choose between the STC and the simple
+       algorithms (always choose the former).
+
+2015-10-01  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * bb-reorder.c (reorder_basic_blocks_software_trace_cache): New
+       function, factored out from ...
+       (reorder_basic_blocks): ... here.
+
+2015-10-01  Tom de Vries  <tom@codesourcery.com>
+
+       * tree-cfg.c (dump_function_to_file): Dump function attributes using
+       __attribute__(()) string.  Move dumping of function attributes to before
+       function name.
+
+2015-10-01  Lynn Boger  <laboger@linux.vnet.ibm.com>
+
+       PR target/66870
+       * config/rs6000/sysv4.h (TARGET_CAN_SPLIT_STACK_64BIT): Define.
+       * configure.ac: Define HAVE_GOLD_ALTERNATE_SPLIT_STACK on Power
+       based on gold linker version.
+       * gcc.c: Add -fuse-ld=gold to STACK_SPLIT_SPEC if
+       HAVE_GOLD_ALTERNATE_SPLIT_STACK defined.
+       * configure, config.in: Regenerate.
+
+2015-10-01  Alan Modra  <amodra@gmail.com>
+
+       * config/rs6000/rs6000.c (rs6000_emit_prologue): Don't set
+       r2_setup_needed when TARGET_SINGLE_PIC_BASE.
+       (rs6000_output_mi_thunk): Likewise.
+
+2015-09-30  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * config/nvptx/mkoffload.c (process): Change offload data format.
+
+2015-09-30  Jeff Law  <law@redhat.com>
+
+       * tree-ssa-dom.c (optimize_stmt): Collapse control flow statements
+       with constant conditions.
+       * tree-ssa-threadupdate.c (remove_jump_threads_starting_at): New.
+       (remove_ctrl_stmt_and_useless_edges): No longer static.
+       * tree-ssa-threadupdate.h (remove_jump_threads_starting_at): Prototype.
+       (remove_ctrl_stmt_and_useless_edges): Likewise.
+
+2015-09-30  Nathan Sidwell  <nathan@codesourcery.com>
+           Cesar Philippidis  <cesar@codesourcery.com>
+
+       * config/nvptx/nvptx.c (nvptx_goacc_validate_dims): New.
+       (TARGET_GOACC_VALIDATE_DIMS): Override.
+       * target.def (TARGET_GOACC): New target hook prefix.
+       (validate_dims): New hook.
+       * targhooks.h (default_goacc_validate_dims): New.
+       * omp-low.c (oacc_validate_dims): New.
+       (execute_oacc_device_lower): New.
+       (default_goacc_validate_dims): New.
+       (pass_data_oacc_device_lower): New.
+       (pass_oacc_device_lower): New pass.
+       (make_pass_oacc_device_lower): New.
+       * tree-pass.h (make_pass_oacc_device_lower): Declare.
+       * passes.def (pass_oacc_device_lower): Add it.
+       * doc/tm.texi: Rebuilt.
+       * doc/tm.texi.in (TARGET_GOACC_VALIDATE_DIMS): Add hook.
+       * doc/invoke.texi (oaccdevlow): Document tree dump flag.
+
+2015-09-30  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+       PR rtl-optimization/67037
+       * lra-constraints.c (process_addr_reg): Use copy_rtx when necessary.
+
+2015-09-30  Bernd Schmidt  <bernds@redhat.com>
+
+       * gimple-ssa.h (gimple_df): Add free_ssanames_queue field.
+       * passes.c: Include tree-ssanames.h.
+       (execute_function_todo): Flush the pending free SSA_NAMEs after
+       eliminating unreachable basic blocks.
+       * tree-ssanames.c (FREE_SSANAMES_QUEUE): new.
+       (init_ssanames): Initialize FREE_SSANAMES_QUEUE.
+       (fini_ssanames): Finalize FREE_SSANAMES_QUEUE.
+       (flush_ssanames_freelist): New function.
+       (release_ssaname_fn): Put released names on the queue.
+       (pass_release_ssa_names::execute): Call flush_ssanames_freelist.
+       * tree-ssanames.h (flush_ssanames_freelist): Declare.
+
+2015-09-30  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * config/i386/intelmic-mkoffload.c (main): Parse "-v" flag.
+       (generate_target_descr_file, generate_target_offloadend_file)
+       (generate_host_descr_file, prepare_target_image, main): Pass it
+       on.
+       * config/nvptx/mkoffload.c (main): Parse "-v" flag.
+       (compile_native, main): Pass it on.
+       * lto-wrapper.c (compile_offload_image): Likewise.
+
+2015-09-30  Thomas Schwinge  <thomas@codesourcery.com>
+           Ilya Verbin  <ilya.verbin@intel.com>
+           Andrey Turetskiy  <andrey.turetskiy@intel.com>
+
+       * config/i386/intelmic-mkoffload.c (generate_host_descr_file)
+       (prepare_target_image, main): Refactor argv building to use
+       obstacks.
+
+2015-09-30  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
+
+       * config/spu/spu-protos.h (spu_expand_atomic_op): Add prototype.
+       * config/spu/spu.c (spu_expand_atomic_op): New function.
+       * config/spu/spu.md (AINT): New mode iterator.
+       (ATOMIC): New code iterator.
+       (atomic_name, atomic_pred): New code predicates.
+       ("atomic_load<mode>", "atomic_store<mode>"): New expanders.
+       ("atomic_compare_and_swap<mode>", "atomic_exchange<mode>"): Likewise.
+       (""atomic_<atomic_name><mode>", "atomic_fetch_<atomic_name><mode>",
+       "atomic_<atomic_name>_fetch<mode>"): Likewise.
+
+2015-09-30  Ilya Enkovich  <enkovich.gnu@gmail.com>
+
+       * config/i386/i386.c (scalar_chain::analyze_register_chain): Ignore
+       debug insns.
+       (scalar_chain::convert_reg): Likewise.
+
+2015-09-30  Richard Biener  <rguenther@suse.de>
+
+       * builtins.c: Add comment that no new simplifications shouldd
+       be added here.
+
+2015-09-30  Marek Polacek  <polacek@redhat.com>
+
+       PR tree-optimization/67690
+       * tree-ssa-ifcombine.c (pass_tree_ifcombine::execute): Call
+       reset_flow_sensitive_info_in_bb.
+       * tree-ssa-tail-merge.c (replace_block_by): Likewise.
+       * tree-ssanames.c: Include "gimple-iterator.h".
+       (reset_flow_sensitive_info_in_bb): New function.
+       * tree-ssanames.h (reset_flow_sensitive_info_in_bb): Declare.
+
+2015-09-30  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * config/i386/intelmic-mkoffload.c (target_ilp32): Remove
+       variable, replacing it with...
+       (offload_abi): ... this new variable.  Adjust all users.
+       * config/nvptx/mkoffload.c (target_ilp32, offload_abi): Likewise.
+
+2015-09-30  Matthias Klose  <doko@ubuntu.com>
+
+       * configure.ac: Remove extraneous ;;.
+       * configure: Regenerate.
+
+2015-09-29  James Bowman  <james.bowman@ftdichip.com>
+
+       * config/ft32/predicates.md (ft32_imm_operand): New predicate.
+       * config/ft32/ft32.md (movmemsi, setmemsi): Use ft32_imm_operand
+       predicate, disallow register for operand 2.
+
+2015-09-29  Aditya Kumar  <aditya.k7@samsung.com>
+
+       * graphite-dependences.c (scop_get_dependences): Moved in down
+       in order to be visible to its caller.
+       * graphite-poly.h: Removed compute_deps, and extend_schedule.
+
 2015-09-29  Sebastian Pop  <s.pop@samsung.com>
-            Aditya Kumar  <aditya.k7@samsung.com>
+           Aditya Kumar  <aditya.k7@samsung.com>
 
        PR tree-optimization/67754
        * graphite-optimize-isl.c (optimize_isl): Call
        (imm->ext_dest_operand splitter): Likewise.
 
 2015-09-29  Sebastian Pop  <s.pop@samsung.com>
-            Aditya Kumar  <aditya.k7@samsung.com>
-
-            * graphite-sese-to-poly.c (gsi_for_phi_node): Remove.
-            (nb_data_writes_in_bb): Remove.
-            (split_pbb): Remove.
-            (split_reduction_stmt): Remove.
-            (is_reduction_operation_p): Remove.
-            (phi_contains_arg): Remove.
-            (follow_ssa_with_commutative_ops): Remove.
-            (detect_commutative_reduction_arg): Remove.
-            (detect_commutative_reduction_assign): Remove.
-            (follow_inital_value_to_phi): Remove.
-            (edge_initial_value_for_loop_phi): Remove.
-            (initial_value_for_loop_phi): Remove.
-            (used_outside_reduction): Remove.
-            (detect_commutative_reduction): Remove.
-            (translate_scalar_reduction_to_array_for_stmt): Remove.
-            (remove_phi): Remove.
-            (dr_indices_valid_in_loop): Remove.
-            (close_phi_written_to_memory): Remove.
-            (translate_scalar_reduction_to_array): Remove.
-            (rewrite_commutative_reductions_out_of_ssa_close_phi): Remove.
-            (rewrite_commutative_reductions_out_of_ssa_loop): Remove.
-            (rewrite_commutative_reductions_out_of_ssa): Remove.
-            (build_poly_scop): Remove call to rewrite_commutative_reductions_out_of_ssa.
+           Aditya Kumar  <aditya.k7@samsung.com>
+
+       * graphite-sese-to-poly.c (gsi_for_phi_node): Remove.
+       (nb_data_writes_in_bb): Remove.
+       (split_pbb): Remove.
+       (split_reduction_stmt): Remove.
+       (is_reduction_operation_p): Remove.
+       (phi_contains_arg): Remove.
+       (follow_ssa_with_commutative_ops): Remove.
+       (detect_commutative_reduction_arg): Remove.
+       (detect_commutative_reduction_assign): Remove.
+       (follow_inital_value_to_phi): Remove.
+       (edge_initial_value_for_loop_phi): Remove.
+       (initial_value_for_loop_phi): Remove.
+       (used_outside_reduction): Remove.
+       (detect_commutative_reduction): Remove.
+       (translate_scalar_reduction_to_array_for_stmt): Remove.
+       (remove_phi): Remove.
+       (dr_indices_valid_in_loop): Remove.
+       (close_phi_written_to_memory): Remove.
+       (translate_scalar_reduction_to_array): Remove.
+       (rewrite_commutative_reductions_out_of_ssa_close_phi): Remove.
+       (rewrite_commutative_reductions_out_of_ssa_loop): Remove.
+       (rewrite_commutative_reductions_out_of_ssa): Remove.
+       (build_poly_scop): Remove call to
+       rewrite_commutative_reductions_out_of_ssa.
 
 2015-09-29  Evandro Menezes  <e.menezes@samsung.com>
 
        * config/sh/sh.c (sh_override_options_after_change): New.
        (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): Define.
        (sh_option_override): Move align_loops, align_jumps and
-        align_functions handling into sh_override_options_after_change.
+       align_functions handling into sh_override_options_after_change.
 
 2015-09-28  Nathan Sidwell  <nathan@codesourcery.com>
 
        * omp-builtins.def (BUILT_IN_GOACC_PARALLEL): Change target fn name.
 
 2015-09-28  Aditya Kumar  <aditya.k7@samsung.com>
-            Sebastian Pop  <s.pop@samsung.com>
+           Sebastian Pop  <s.pop@samsung.com>
 
        * sese.c (invariant_in_sese_p_rec): Remove unused variable.
 
 2015-09-28  Aditya Kumar  <aditya.k7@samsung.com>
-            Sebastian Pop  <s.pop@samsung.com>
+           Sebastian Pop  <s.pop@samsung.com>
 
        * graphite-optimize-isl.c (optimize_isl): Use ISL_SCHEDULE_FUSE_MAX.
        * graphite-scop-detection.c (struct sese_l): New type.
        (mark_exit_edges): Deleted.
        (create_sese_edges): Deleted.
        (build_graphite_scops): Deleted.
-       (canonicalize_loop_closed_ssa): Recompute all dominators at the
-       end.
+       (canonicalize_loop_closed_ssa): Recompute all dominators at the end.
        (build_scops): Use the new scop_builder to build scops.
        (dot_all_scops_1): Use the new pretty printer.  Print loop father
        as well.
        constitute a valid SCoP.
        (region_has_one_loop): Returns true of a region has only one loop.
        (add_scop): Add SCoP to the list of valid scops.  Removes an
-       already existing scop if it intersects with or subsumed by this
-       one.
+       already existing scop if it intersects with or subsumed by this one.
        (harmful_stmt_in_region): Returns true if SCoP has any statment
        which cannot be represented by Graphite.
        (subsumes): Returns true of SCoP S1 subsumes SCoP S2.
        SCoPs, if subsumed by S1.
        (intersects): Return true if region bounded by SCoPs S1 and S2
        intersect.
-       (remove_intersecting_scops): Remove any SCoP which intersects with
-       S1.
+       (remove_intersecting_scops): Remove any SCoP which intersects with S1.
        * graphite.c (print_graphite_scop_statistics):
        (print_graphite_statistics): Print SCoP info while debugging.
        (graphite_initialize): Early exit in case number of loops in a
        loops.
 
 2015-09-28  Aditya Kumar  <aditya.k7@samsung.com>
-            Sebastian Pop  <s.pop@samsung.com>
+           Sebastian Pop  <s.pop@samsung.com>
 
        PR tree-optimization/67700
        * graphite-sese-to-poly.c (parameter_index_in_region): Call
 
 2015-09-28  David Wohlferd  <dw@LimeGreenSocks.com>
 
-        * doc/extend.texi (Asm Labels): Break out text for data vs
-       functions.
+       * doc/extend.texi (Asm Labels): Break out text for data vs functions.
 
 2015-09-28  Jiong Wang  <jiong.wang@arm.com>
 
        without FPU.
        (untyped_return): Do not load %f0 for a target without FPU.
 
-2015-09-28  Andrew Pinski  <apinski@cavium.com>    
+2015-09-28  Andrew Pinski  <apinski@cavium.com>
 
        * config/aarch64/aarch64.md (prefetch):
        Change the predicate of operand 0 to register_operand.