1. 14 Jul, 2016 29 commits
    • re PR fortran/29819 (Error/warning message should ignore comments for "1" in %C output) · 6fa682ad
      2016-07-14  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/29819
      	* parse.c (parse_contained): Use proper locus.
       
      
      2016-07-14  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/29819
      	* gfortran.dg/bind_c_usage_9.f03: Move dg-error.
      	* gfortran.dg/contains.f90: Ditto.
      	* gfortran.dg/contains_empty_1.f03: Ditto.
      	* gfortran.dg/submodule_3.f08: Ditto.
      
      From-SVN: r238354
      Steven G. Kargl committed
    • re PR testsuite/71865 (test case gcc.dg/diagnostic-token-ranges.c fails starting with r237714) · a60a5d31
      	PR testsuite/71865
      	* gcc.dg/diagnostic-token-ranges.c: Add -std=c11 to dg-options.
      	(wide_string_literal_in_asm): Use __asm instead of asm, adjust
      	expected diagnostics.
      
      From-SVN: r238353
      Jakub Jelinek committed
    • re PR c/71858 (Surprising suggestions for misspellings) · dd36b877
      	PR c/71858
      	* c-decl.c (lookup_name_fuzzy): Ignore binding->invisible.
      
      	* gcc.dg/spellcheck-identifiers.c (snprintf): Declare.
      	* gcc.dg/spellcheck-identifiers-2.c: New test.
      	* gcc.dg/diagnostic-token-ranges.c (nanl): Declare.
      	* c-c++-common/attributes-1.c: Adjust dg-prune-output.
      
      From-SVN: r238352
      Jakub Jelinek committed
    • re PR tree-optimization/71872 (ICE in inchash::add_expr, at tree.c:7782 -… · a241f8ca
      re PR tree-optimization/71872 (ICE in inchash::add_expr, at tree.c:7782 - OEP_ADDRESS_OF asserted for ADDR_EXPR applied to constant)
      
      	PR tree-optimization/71872
      	* tree-data-ref.c (get_references_in_stmt): Ignore references
      	with is_gimple_constant get_base_address.
      
      	* gcc.c-torture/compile/pr71872.c: New test.
      
      From-SVN: r238351
      Jakub Jelinek committed
    • arm.h (TARGET_HAVE_LDACQ): Enable for ARMv8-M Mainline. · d62b809c
      2016-07-14  Thomas Preud'homme  <thomas.preudhomme@arm.com>
      
          gcc/
          * config/arm/arm.h (TARGET_HAVE_LDACQ): Enable for ARMv8-M Mainline.
          (TARGET_HAVE_LDACQD): New macro.
          * config/arm/sync.md (atomic_loaddi): Use TARGET_HAVE_LDACQD rather
          than TARGET_HAVE_LDACQ.
          (arm_load_acquire_exclusivedi): Likewise.
          (arm_store_release_exclusivedi): Likewise.
      
          libgcc/
          * gcc.target/arm/atomic-comp-swap-release-acquire.c: Rename into ...
          * gcc.target/arm/atomic-comp-swap-release-acquire-1.c: This.
          * gcc.target/arm/atomic-op-acq_rel.c: Rename into ...
          * gcc.target/arm/atomic-op-acq_rel-1.c: This.
          * gcc.target/arm/atomic-op-acquire.c: Rename into ...
          * gcc.target/arm/atomic-op-acquire-1.c: This.
          * gcc.target/arm/atomic-op-char.c: Rename into ...
          * gcc.target/arm/atomic-op-char-1.c: This.
          * gcc.target/arm/atomic-op-consume.c: Rename into ...
          * gcc.target/arm/atomic-op-consume-1.c: This.
          * gcc.target/arm/atomic-op-int.c: Rename into ...
          * gcc.target/arm/atomic-op-int-1.c: This.
          * gcc.target/arm/atomic-op-relaxed.c: Rename into ...
          * gcc.target/arm/atomic-op-relaxed-1.c: This.
          * gcc.target/arm/atomic-op-release.c: Rename into ...
          * gcc.target/arm/atomic-op-release-1.c: This.
          * gcc.target/arm/atomic-op-seq_cst.c: Rename into ...
          * gcc.target/arm/atomic-op-seq_cst-1.c: This.
          * gcc.target/arm/atomic-op-short.c: Rename into ...
          * gcc.target/arm/atomic-op-short-1.c: This.
          * gcc.target/arm/atomic-comp-swap-release-acquire-2.c: New test.
          * gcc.target/arm/atomic-op-acq_rel-2.c: Likewise.
          * gcc.target/arm/atomic-op-acquire-2.c: Likewise.
          * gcc.target/arm/atomic-op-char-2.c: Likewise.
          * gcc.target/arm/atomic-op-consume-2.c: Likewise.
          * gcc.target/arm/atomic-op-int-2.c: Likewise.
          * gcc.target/arm/atomic-op-relaxed-2.c: Likewise.
          * gcc.target/arm/atomic-op-release-2.c: Likewise.
          * gcc.target/arm/atomic-op-seq_cst-2.c: Likewise.
          * gcc.target/arm/atomic-op-short-2.c: Likewise.
      
      From-SVN: r238348
      Thomas Preud'homme committed
    • re PR fortran/70842 (internal compiler error with character members within a polymorphic pointer) · 1f8dd420
      gcc/testsuite/ChangeLog:
      
      2016-07-14  Andre Vehreschild  <vehre@gcc.gnu.org>
      
      	PR fortran/70842
      	* gfortran.dg/select_type_35.f03: New test.
      
      gcc/fortran/ChangeLog:
      
      2016-07-14  Andre Vehreschild  <vehre@gcc.gnu.org>
      
      	PR fortran/70842
      	* simplify.c (gfc_simplify_len): Only for unlimited polymorphic
      	types replace the expression's _data ref with a _len ref.
      
      From-SVN: r238347
      Andre Vehreschild committed
    • re PR rtl-optimization/71878 (ICE in cselib_record_set) · aefae0f1
      2016-07-14  Thomas Preud'homme  <thomas.preudhomme@arm.com>
      
          gcc/
          PR rtl-optimization/71878
          * lra-constraints.c (match_reload): Pass information about other
          output operands.  Create new unique register value if matching input
          operand shares same register value as output operand being considered.
          (curr_insn_transform): Record output operands already processed.
      
      From-SVN: r238346
      Thomas Preud'homme committed
    • Include header for std::__parallel::search · ea5ec6b7
      	* include/experimental/functional: Include <parallel/algorithm> in
      	Parallel Mode.
      
      From-SVN: r238342
      Jonathan Wakely committed
    • Add header for std::search to testcase · 47d5cb3c
      	* testsuite/experimental/functional/searchers.cc: Include <algorithm>
      	for std::search.
      
      From-SVN: r238341
      Jonathan Wakely committed
    • [vectorizer][2/2] Hook up mult synthesis logic into vectorisation of mult-by-constant · 53109ba8
      	PR target/65951
      	PR tree-optimization/70923
      	* tree-vect-patterns.c: Include mult-synthesis.h.
      	(target_supports_mult_synth_alg): New function.
      	(synth_lshift_by_additions): Likewise.
      	(apply_binop_and_append_stmt): Likewise.
      	(vect_synth_mult_by_constant): Likewise.
      	(target_has_vecop_for_code): Likewise.
      	(vect_recog_mult_pattern): Use above functions to synthesize vector
      	multiplication by integer constants.
      
      	* gcc.dg/vect/vect-mult-const-pattern-1.c: New test.
      	* gcc.dg/vect/vect-mult-const-pattern-2.c: Likewise.
      	* gcc.dg/vect/pr65951.c: Likewise.
      	* gcc.dg/vect/vect-iv-9.c: Remove ! vect_int_mult-specific scan.
      
      From-SVN: r238340
      Kyrylo Tkachov committed
    • [RS6000] Disparage altivec_mov gpr alternatives · 0c15a902
      and fix constraint '*' placement.
      
      	* gcc/config/rs6000/altivec.md (altivec_mov<mode>): Disparage
      	gpr alternatives.  Correct '*' placement on Y,r alternative.
      	Add '*' on operand 1 of r,r alternative.
      
      From-SVN: r238339
      Alan Modra committed
    • [1/2] Move choose_mult_variant declaration and dependent declarations to expmed.h · ec573d17
      	* expmed.c (mult_variant, choose_mult_variant): Move declaration to...
      	* expmed.h: ... Here.
      
      From-SVN: r238337
      Kyrylo Tkachov committed
    • gimple.h (stmt_can_terminate_bb_p): New function. · 21bcd7be
      	* gimple.h (stmt_can_terminate_bb_p): New function.
      	* tree-cfg.c (need_fake_edge_p): Rename to ...
      	(stmt_can_terminate_bb_p): ... this; return true if stmt can
      	throw external; handle const and pure calls.
      	* tree-ssa-loop-niter.c (loop_only_exit_p): Use it.
      
      From-SVN: r238336
      Jan Hubicka committed
    • pr60226.c: Expect maximum object file alignment error on AIX. · 91f35b7f
              * c-c++-common/pr60226.c: Expect maximum object	file alignment
              error on AIX.
      
      From-SVN: r238335
      David Edelsohn committed
    • re PR tree-optimization/71866 (gcc locks up after fix for PR70159) · 351168fe
      2016-07-14  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/71866
      	* tree-ssa-pre.c (get_constant_for_value_id): Remove.
      	(do_hoist_insertion): Avoid endless recursion when we
      	didn't insert anything because we managed to simplify
      	things down to a constant or SSA name.
      	(fully_constant_expression): Re-write in terms of ...
      	* tree-ssa-sccvn.h (vn_nary_simplify): ... this.  Declare.
      	* tree-ssa-sccvn.c (vn_nary_simplify): New wrapper around
      	vn_nary_build_or_lookup_1.
      	(vn_nary_build_or_lookup_1): Added flag and renamed from ...
      	(vn_nary_build_or_lookup): ... this which now wraps it.
      
      	* gcc.dg/torture/pr71866.c: New testcase.
      
      From-SVN: r238334
      Richard Biener committed
    • decl.c (gnat_to_gnu_entity): Also use the void pointer type if the designated… · 8234d02a
      decl.c (gnat_to_gnu_entity): Also use the void pointer type if the designated type is incomplete and has no...
      
      	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Also use
      	the void pointer type if the designated type is incomplete and has no
      	full view in LTO mode.
      	<E_Access_Protected_Subprogram_Type>: Adjust comment.
      	<E_Incomplete_Type>: Likewise.
      	* gcc-interface/trans.c (Call_to_gnu): Do not convert to the type of
      	the actual if it is a dummy type.
      
      From-SVN: r238333
      Eric Botcazou committed
    • Improve doxygen comments for allocators in containers · 0a2bf188
      	PR libstdc++/70716
      	* include/bits/forward_list.h (forward_list): Update doxygen comments
      	to reflect allocator propagation semantics. Remove ambiguous
      	statements about data being lost.
      	* include/bits/stl_deque.h (deque): Likewise.
      	* include/bits/stl_list.h (list): Likewise.
      	* include/bits/stl_map.h (map): Likewise.
      	* include/bits/stl_multimap.h (multimap): Likewise.
      	* include/bits/stl_multiset.h (multiset): Likewise.
      	* include/bits/stl_set.h (set): Likewise.
      	* include/bits/stl_vector.h (vector): Likewise.
      	* include/bits/unordered_map.h (unordered_map, unordered_multimap):
      	Likewise.
      	* include/bits/unordered_set.h (unordered_set, unordered_multiset):
      	Likewise.
      
      From-SVN: r238332
      Jonathan Wakely committed
    • pr42574.c: Add missing target keyword for the dg-do selector and enclose boolean... · 94c32c00
      2016-07-14  Thomas Preud'homme  <thomas.preudhomme@arm.com>
      
          gcc/testsuite/
          * gcc.target/arm/pr42574.c: Add missing target keyword for the dg-do
          selector and enclose boolean expression in curly braces.
      
      From-SVN: r238331
      Thomas Preud'homme committed
    • Added forgotten PR testsuite/71489 reference. · 29f09b38
      From-SVN: r238330
      Rainer Orth committed
    • Implement P0032R3, Homogeneous interface for variant, any and optional, · 25a69162
      	for the parts concerning any and optional.
      	* include/std/any (_Storage()): Make constexpr and have it
      	initialize _M_ptr.
      	(any()): Make constexpr.
      	(any(const any&)): Adjust.
      	(any(any&&)): Likewise.
      	(__any_constructible_t): New.
      	(any(_ValueType&&)): Constrain.
      	(any(in_place_type_t<_Tp>, _Args&&...)): New.
      	(any(in_place_type_t<_Tp>, initializer_list<_Up>, _Args&&...)):
      	Likewise.
      	(~any()): Adjust.
      	(operator=(const any&)): Likewise.
      	(operator=(any&&)): Likewise.
      	(operator=(_ValueType&&)): Constrain.
      	(emplace(_Args&&...)): New.
      	(emplace(initializer_list<_Up>, _Args&&...)): Likewise.
      	(clear()): Remove.
      	(reset()): New.
      	(swap(any&)): Adjust.
      	(empty()): Remove.
      	(has_value()): New.
      	(type()): Adjust.
      	(_Manager_internal::_S_create(_Storage&, _Args&&...)): New.
      	(_Manager_external::_S_create(_Storage&, _Args&&...)): Likewise.
      	(make_any(_Args&&...)): Likewise.
      	(make_any(initializer_list<_Up>, _Args&&...)): Likewise.
      	* include/std/optional (in_place_t, in_place): Remove.
      	(bad_optional_access): Add a comment referring to LEWG 72.
      	(emplace(_Args&&...)): Constrain.
      	(has_value()): New.
      	(reset()): Likewise.
      	(make_optional(_Args&&...)): Likewise.
      	(make_optional(initializer_list<_Up>, _Args&&...)): Likewise.
      	* include/std/utility (in_place_tag): New.
      	(__in_place, __in_place_type, __in_place_index): Likewise.
      	(in_place_t, in_place_type_t, in_place_index_t): Likewise.
      	(in_place(__in_place*)): Likewise.
      	(in_place(__in_place_type<_Tp>*)): Likewise.
      	(in_place(__in_place_index<_Idx>*)): Likewise.
      	* testsuite/20_util/any/assign/1.cc: Adjust.
      	* testsuite/20_util/any/assign/emplace.cc: New.
      	* testsuite/20_util/any/assign/self.cc: Adjust.
      	* testsuite/20_util/any/cons/1.cc: Likewise.
      	* testsuite/20_util/any/cons/in_place.cc: New.
      	* testsuite/20_util/any/make_any.cc: Likewise.
      	* testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
      	* testsuite/20_util/any/misc/swap.cc: Likewise.
      	* testsuite/20_util/any/modifiers/1.cc: Likewise.
      	* testsuite/20_util/any/requirements.cc: New.
      	* testsuite/20_util/in_place/requirements.cc: Likewise.
      	* testsuite/20_util/optional/constexpr/in_place.cc: Adjust.
      	* testsuite/20_util/optional/in_place.cc: Likewise.
      	* testsuite/20_util/optional/make_optional.cc: Add tests for
      	the new overloads of make_optional.
      
      From-SVN: r238329
      Ville Voutilainen committed
    • Fix ChangeLog. · c0d31471
      From-SVN: r238328
      Ville Voutilainen committed
    • [RS6000] -mno-vsx should force -mno-power9-dform · b799a481
      	PR target/71733
      gcc/
      	* config/rs6000/rs6000.c (rs6000_option_override_internal): Deal
      	with p9_vector override before power9-dform override.
      gcc/testsuite/
      	* gcc.target/powerpc/p9-novsx.c: New.
      
      From-SVN: r238326
      Alan Modra committed
    • Some fixes for profile test cases for autofdo · f63ba78c
      This fixes some basic issues with the profile test cases with autofdo.
      
      - Disable checking for value transformations that autofdo does not
        support.
      - Disable checking for fixed hit counts which autofdo does not support
      - Enable dumping of afdo log file and check right log file.
      - Increase run time of test cases to 1M iterations because autofdo needs
        a few samples to make sense of a program. The test case don't run
        noticeable slower with that.
      
      There are still failures unfortunately, especially the indirect call
      transformations do not trigger because autofdo thinks they are not hot.
      This can be addressed later.
      
      gcc/testsuite/:
      
      2016-07-13  Andi Kleen  <ak@linux.intel.com>
      
      	* g++.dg/tree-prof/indir-call-prof.C: Basic fixes for autofdo.
      	* g++.dg/tree-prof/morefunc.C: Dito.
      	* g++.dg/tree-prof/pr35545.C: Dito.
      	* g++.dg/tree-prof/reorder.C: Dito.
      	* gcc.dg/tree-prof/20050826-2.c: Dito.
      	* gcc.dg/tree-prof/cmpsf-1.c: Dito.
      	* gcc.dg/tree-prof/cold_partition_label.c: Dito.
      	* gcc.dg/tree-prof/ic-misattribution-1.c: Dito.
      	* gcc.dg/tree-prof/indir-call-prof.c: Dito.
      	* gcc.dg/tree-prof/inliner-1.c: Dito.
      	* gcc.dg/tree-prof/merge_block.c: Dito.
      	* gcc.dg/tree-prof/stringop-1.c: Dito.
      	* gcc.dg/tree-prof/stringop-2.c: Dito.
      	* gcc.dg/tree-prof/switch-case-1.c: Dito.
      	* gcc.dg/tree-prof/switch-case-2.c: Dito.
      	* gcc.dg/tree-prof/time-profiler-1.c: Dito.
      	* gcc.dg/tree-prof/time-profiler-2.c: Dito.
      	* gcc.dg/tree-prof/update-loopch.c: Dito.
      	* gcc.dg/tree-prof/val-prof-1.c: Dito.
      	* gcc.dg/tree-prof/val-prof-2.c: Dito.
      	* gcc.dg/tree-prof/val-prof-3.c: Dito.
      	* gcc.dg/tree-prof/val-prof-4.c: Dito.
      	* gcc.dg/tree-prof/val-prof-5.c: Dito.
      	* gcc.dg/tree-prof/val-prof-6.c: Dito.
      	* gcc.dg/tree-prof/val-prof-7.c: Dito.
      
      From-SVN: r238325
      Andi Kleen committed
    • Clean up imports files in test suite · f4d5a23d
      autofdo create_gcov creates an extra .imports file. Always remove that
      too when running an autofdo test case.
      
      gcc/testsuite/:
      
      2016-07-13  Andi Kleen  <ak@linux.intel.com>
      
      	* lib/profopt.exp (profopt-execute): Remove .imports files.
      
      From-SVN: r238324
      Andi Kleen committed
    • Always print gcc-auto-profile line in dump file · ae145898
      not just when verbose. This ensures all command lines needed to
      reproduce the test case are always logged
      
      gcc/testsuite/:
      
      2016-07-13  Andi Kleen  <ak@linux.intel.com>
      
      	* lib/profopt.exp (profopt-execute): Always log profiler
      	command line.
      
      From-SVN: r238323
      Andi Kleen committed
    • Add dg-final-scan-autofdo and dg-final-scan-not-autofdo · e97bd4f5
      Autofdo outputs to different dump files and doesn't support some
      transformation that normal profiling. Add dg-final-scan-autofdo
      and dg-final-scan-not-autofdo statements to the test suite
      so that the test cases can hande those cases separately.
      
      gcc/testsuite/:
      
      2016-07-13  Andi Kleen  <ak@linux.intel.com>
      
      	* lib/profopt.exp (dg-final-scan-autofdo,
      	dg-final-scan-not-autofdo): New functions.
      
      From-SVN: r238322
      Andi Kleen committed
    • Don't run instrumented value profiler changes with afdo · 038ec4b7
      The pass to transform gimple based on value profiling runs with autofdo
      on, but currently every transformation fails. For indirect calls autofdo
      does it on its own, and it doesn't suppport other value profiling. So don't
      run this pass when autofdo is active. This also avoids bogus
      dump file entries.
      
      gcc/:
      
      2016-07-13  Andi Kleen  <ak@linux.intel.com>
      
      	* value-prof.c (gimple_value_profile_transformations): Don't run
      	when auto_profile is on.
      
      From-SVN: r238321
      Andi Kleen committed
    • Print indirect call changes in afdo dump file · 0ea221ef
      Print some information about indirect call promotions in the afdo dump
      file. Do it in the same format as the instrumented profiler so that
      the test suite can match on it.
      
      gcc/:
      
      2016-07-13  Andi Kleen  <ak@linux.intel.com>
      
      	* auto-profile.c (update_inlined_ind_target,
      	afdo_indirect_call): Print information to dump file.
      
      From-SVN: r238320
      Andi Kleen committed
    • Daily bump. · 9f01da8e
      From-SVN: r238319
      GCC Administrator committed
  2. 13 Jul, 2016 11 commits
    • genrecog.c (special_predicate_operand_p): New function. · b2a9e897
      	* genrecog.c (special_predicate_operand_p): New function.
      	(predicate_name): Move function.
      	(validate_pattern): Don't warn about missing mode for all
      	define_special_predicate predicates.
      
      From-SVN: r238314
      Andrew Burgess committed
    • re PR c++/70926 (Libiberty Demangler segfaults (5)) · 03ef0c6c
      	PR c++/70926
      	* cplus-dem.c: Handle large values and overflow when demangling
      	length variables.
      	(demangle_template_value_parm): Read only until end of mangled string.
      	(do_hpacc_template_literal): Likewise.
      	(do_type): Handle overflow when demangling array indices.
      
      From-SVN: r238313
      Marcel Böhme committed
    • Fix return type handling for Proxy classes · 0d355cf9
      libjava/
      
      	* java/lang/reflect/natVMProxy.cc (unbox): Use ffi_arg for
      	integer return types smaller than a word.
      	* testsuite/libjava.jar/ReturnInvocationHandler.java: New file.
      	* testsuite/libjava.jar/ReturnProxyTest.jar: Likewise.
      	* testsuite/libjava.jar/ReturnProxyTest.java: Likewise.
      	* testsuite/libjava.jar/ReturnProxyTest.out: Likewise.
      	* testsuite/libjava.jar/ReturnProxyTest.xfail: Likewise.
      	* testsuite/libjava.jar/ReturnTypes.java: Likewise.
      	* testsuite/libjava.jar/ReturnTypesImpl.java: Likewise.
      
      From-SVN: r238312
      Matthew Fortune committed
    • Fix the use of FFI closures in the java interpreter for integer returns · 845a4b72
      libjava/
      
      	* interpret-run.cc: Use ffi_arg for FFI integer return types.
      	* testsuite/libjava.jar/arraysort.java: New file.
      	* testsuite/libjava.jar/arraysort.jar: New file.
      	* testsuite/libjava.jar/arraysort.out: New file.
      	* testsuite/libjava.jar/arraysort.xfail: New file.
      
      From-SVN: r238311
      Matthew Fortune committed
    • libstdc++/71856 Define _GLIBCXX_PARALLEL_ASSERTIONS · e383deac
      	PR libstdc++/71856
      	* include/bits/c++config (_GLIBCXX_ASSERTIONS): Define to 1 not empty.
      	* include/parallel/compiletime_settings.h (_GLIBCXX_ASSERTIONS):
      	Rename to _GLIBCXX_PARALLEL_ASSERTIONS and make default value depend
      	on _GLIBCXX_ASSERTIONS.
      	* include/parallel/balanced_quicksort.h: Rename _GLIBCXX_ASSERTIONS.
      	Include <unistd.h> for sleep.
      	* include/parallel/losertree.h: Rename _GLIBCXX_ASSERTIONS.
      	* include/parallel/merge.h: Likewise.
      	* include/parallel/multiway_merge.h: Likewise.
      	* include/parallel/partition.h: Likewise.
      	* include/parallel/queue.h: Likewise.
      	* include/parallel/sort.h: Likewise.
      	* testsuite/25_algorithms/headers/algorithm/
      	parallel_algorithm_assert.cc: New.
      
      From-SVN: r238307
      Jonathan Wakely committed
    • Make basic_string::replace forward to different overload · 17f8dc93
      	* include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
      	(replace(__const_iterator, __const_iterator, initializer_list<C>)):
      	Forward to different overload.
      
      From-SVN: r238306
      Jonathan Wakely committed
    • Make __allocated_ptr::_S_raw_ptr static · 260d92cd
      	* include/bits/allocated_ptr.h (__allocated_ptr::_S_raw_ptr): Make
      	static.
      
      From-SVN: r238305
      Jonathan Wakely committed
    • Revert "Add non-const overload of std::string::data()" · 2d60da10
      This reverts r238291 aka 4300aa2087d90cd2d55852fa38f082a89bc7e72d.
      
      From-SVN: r238303
      Jonathan Wakely committed
    • tree-vect-data-refs.c (vect_no_alias_p): New function. · 6fa3d4b4
      	* tree-vect-data-refs.c (vect_no_alias_p): New function.
      	(vect_prune_runtime_alias_test_list): Call vect_no_alias_p to
      	resolve alias checks which are known at compilation time.
      	Truncate vector LOOP_VINFO_MAY_ALIAS_DDRS(loop_vinfo) if all
      	alias checks are resolved.  Move dump info for too many runtime
      	alias checks to here...
      	* tree-vect-loop.c (vect_analyze_loop_2): ...From here.
      
      	gcc/testsuite
      	* gcc.dg/vect/vect-35-big-array.c: Refine comment and test.
      	* gcc.dg/vect/vect-35.c: Ditto.
      	* gcc.dg/vect/vect-alias-check-2.c: New test.
      
      From-SVN: r238301
      Bin Cheng committed
    • Fix Fortran DO loop fallback · 65f18bc6
      	* gfortran.dg/ldist-1.f90: Revert change introduces in r238114.
      	* gfortran.dg/vect/pr62283.f: Add -fno-ipa-icf to additional
      	options.
      	* gfortran.dg/pr42108.f90: Update expected dump scan.
      
      From-SVN: r238300
      Martin Liska committed
    • re PR tree-optimization/24574 (a!=0?a/10:0 is not reduced to a/10) · 9737f35b
      2016-07-13  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/24574
      	* tree-ssa-phiopt.c (absorbing_element_p): Pass in argument
      	position and add shift, rotate, divison and modulo support
      	for left zero.
      	(value_replacement): Pass in argument position to absorbing_element_p.
      
      	* gcc.dg/pr24574.c: New testcase.
      
      From-SVN: r238299
      Richard Biener committed