Commit Graph

147301 Commits

Author SHA1 Message Date
Virendra Pathak ad611a4c84 [PATCH/AARCH64] Add rtx_costs routine for vulcan.
gcc/ChangeLog:

2016-07-15  Virendra Pathak  <virendra.pathak@broadcom.com>
	    Julian Brown  <julian@codesourcery.com>

	* config/aarch64/aarch64-cores.def: Update vulcan COSTS.
	* config/aarch64/aarch64-cost-tables.h
	(vulcan_extra_costs): New variable.
	* config/aarch64/aarch64.c
	(vulcan_addrcost_table): Likewise.
	(vulcan_regmove_cost): Likewise.
	(vulcan_vector_cost): Likewise.
	(vulcan_branch_cost): Likewise.
	(vulcan_tunings): Likewise.


Co-Authored-By: Julian Brown <julian@codesourcery.com>

From-SVN: r238372
2016-07-15 11:17:53 +00:00
Alexander Monakov 3ef4678208 handle undefined extern vars in output_in_order
* cgraphunit.c (cgraph_order_sort_kind): New entry ORDER_VAR_UNDEF.
(output_in_order): Loop over undefined variables too.  Output them
via assemble_undefined_decl.  Skip variables that correspond to hard
registers or have value-exprs.
* varpool.c (symbol_table::output_variables): Handle undefined
variables together with defined ones.

From-SVN: r238371
2016-07-15 14:01:23 +03:00
Richard Biener a8e15f9074 tree-ssa-pre.c (get_representative_for): Make sure to return the value number of SSA names.
2016-07-15  Richard Biener  <rguenther@suse.de>

	* tree-ssa-pre.c (get_representative_for): Make sure to return
	the value number of SSA names.
	(phi_translate_1): get_representative_for cannot return NULL.
	(do_pre_regular_insertion): Remove redundant call to
	fully_constant_expression.
	(do_pre_partial_partial_insertion): Likewise.

From-SVN: r238370
2016-07-15 10:53:29 +00:00
Jakub Jelinek ddbbcb1981 re PR c/71858 (Surprising suggestions for misspellings)
PR c/71858
	* c-common.h (enum lookup_name_fuzzy_kind): Add
	FUZZY_LOOKUP_FUNCTION_NAME.

	* c-decl.c (implicit_decl_warning): Use FUZZY_LOOKUP_FUNCTION_NAME
	instead of FUZZY_LOOKUP_NAME.
	(lookup_name_fuzzy): For FUZZY_LOOKUP_FUNCTION_NAME consider
	FUNCTION_DECLs, {VAR,PARM}_DECLs function pointers and macros.

	* gcc.dg/spellcheck-identifiers-3.c: New test.

From-SVN: r238369
2016-07-15 12:40:39 +02:00
Andre Vehreschild 29eb509ccb re PR fortran/71807 (Internal compiler error with NULL() reference in structure constructor)
gcc/fortran/ChangeLog:

2016-07-15  Andre Vehreschild  <vehre@gcc.gnu.org>

	PR fortran/71807
	* trans-expr.c (gfc_trans_subcomponent_assign): Special casing
	when allocatable component is set to null() in initializer.

gcc/testsuite/ChangeLog:

2016-07-15  Andre Vehreschild  <vehre@gcc.gnu.org>

	PR fortran/71807
	* gfortran.dg/null_9.f90: New test.

From-SVN: r238368
2016-07-15 11:28:47 +02:00
Bin Cheng 43aabfcfd4 tree-scalar-evolution.c (simple_iv_with_niters): New funcion.
* tree-scalar-evolution.c (simple_iv_with_niters): New funcion.
	(derive_simple_iv_with_niters): New function.
	(simple_iv): Rewrite using simple_iv_with_niters.
	* tree-scalar-evolution.h (simple_iv_with_niters): New decl.
	* tree-ssa-loop-niter.c (number_of_iterations_exit_assumptions): New
	function.
	(number_of_iterations_exit): Rewrite using above function.
	* tree-ssa-loop-niter.h (number_of_iterations_exit_assumptions): New
	Decl.

	gcc/testsuite
	* gcc.dg/tree-ssa/loop-41.c: New test.

From-SVN: r238367
2016-07-15 09:04:57 +00:00
Bin Cheng afc89e5849 re PR tree-optimization/71347 (Performance drop after r235513 on x86-64 in 32-bit mode.)
gcc/testsuite
	PR tree-optimization/71347
	* gcc.dg/tree-ssa/pr71347.c: XFAIL on ia64, arm, m68k and sparc.

From-SVN: r238366
2016-07-15 08:53:48 +00:00
Ville Voutilainen 1ec0f76305 Fix the constraints for any's assignment operator template to properly
reject assignment from a non-copyable lvalue.

From-SVN: r238365
2016-07-15 10:44:22 +03:00
Richard Biener 8d4fc2d3d0 i386.c (ix86_builtin_vectorization_cost): Adjust vec_construct cost.
2016-07-15  Richard Biener  <rguenther@suse.de>

	* config/i386/i386.c (ix86_builtin_vectorization_cost): Adjust
	vec_construct cost.

From-SVN: r238364
2016-07-15 07:38:01 +00:00
GCC Administrator ea142e833d Daily bump.
From-SVN: r238362
2016-07-15 00:16:19 +00:00
Steven G. Kargl 6fa682ad31 re PR fortran/29819 (Error/warning message should ignore comments for "1" in %C output)
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
2016-07-14 20:54:40 +00:00
Jakub Jelinek a60a5d31dd re PR testsuite/71865 (test case gcc.dg/diagnostic-token-ranges.c fails starting with r237714)
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
2016-07-14 20:42:53 +02:00
Jakub Jelinek dd36b8775f re PR c/71858 (Surprising suggestions for misspellings)
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
2016-07-14 20:34:00 +02:00
Jakub Jelinek a241f8ca21 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
2016-07-14 20:30:38 +02:00
Thomas Preud'homme d62b809c11 arm.h (TARGET_HAVE_LDACQ): Enable for ARMv8-M Mainline.
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
2016-07-14 17:21:21 +00:00
Andre Vehreschild 1f8dd420eb re PR fortran/70842 (internal compiler error with character members within a polymorphic pointer)
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
2016-07-14 19:07:47 +02:00
Thomas Preud'homme aefae0f13c re PR rtl-optimization/71878 (ICE in cselib_record_set)
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
2016-07-14 16:41:06 +00:00
Jonathan Wakely ea5ec6b7e0 Include header for std::__parallel::search
* include/experimental/functional: Include <parallel/algorithm> in
	Parallel Mode.

From-SVN: r238342
2016-07-14 16:43:17 +01:00
Jonathan Wakely 47d5cb3c3b Add header for std::search to testcase
* testsuite/experimental/functional/searchers.cc: Include <algorithm>
	for std::search.

From-SVN: r238341
2016-07-14 16:27:09 +01:00
Kyrylo Tkachov 53109ba8a7 [vectorizer][2/2] Hook up mult synthesis logic into vectorisation of mult-by-constant
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
2016-07-14 14:32:39 +00:00
Alan Modra 0c15a902d1 [RS6000] Disparage altivec_mov gpr alternatives
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
2016-07-14 23:55:47 +09:30
Kyrylo Tkachov ec573d17b8 [1/2] Move choose_mult_variant declaration and dependent declarations to expmed.h
* expmed.c (mult_variant, choose_mult_variant): Move declaration to...
	* expmed.h: ... Here.

From-SVN: r238337
2016-07-14 13:57:05 +00:00
Jan Hubicka 21bcd7bedd gimple.h (stmt_can_terminate_bb_p): New function.
* 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
2016-07-14 13:52:21 +00:00
David Edelsohn 91f35b7f97 pr60226.c: Expect maximum object file alignment error on AIX.
* c-c++-common/pr60226.c: Expect maximum object	file alignment
        error on AIX.

From-SVN: r238335
2016-07-14 09:07:23 -04:00
Richard Biener 351168fe55 re PR tree-optimization/71866 (gcc locks up after fix for PR70159)
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
2016-07-14 12:15:38 +00:00
Eric Botcazou 8234d02aa4 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
2016-07-14 11:12:22 +00:00
Jonathan Wakely 0a2bf18874 Improve doxygen comments for allocators in containers
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
2016-07-14 11:02:10 +01:00
Thomas Preud'homme 94c32c00f1 pr42574.c: Add missing target keyword for the dg-do selector and enclose boolean...
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
2016-07-14 09:20:48 +00:00
Rainer Orth 29f09b388d Added forgotten PR testsuite/71489 reference.
From-SVN: r238330
2016-07-14 09:10:24 +00:00
Ville Voutilainen 25a69162c9 Implement P0032R3, Homogeneous interface for variant, any and optional,
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
2016-07-14 12:10:05 +03:00
Ville Voutilainen c0d31471ba Fix ChangeLog.
From-SVN: r238328
2016-07-14 12:09:50 +03:00
Alan Modra b799a4819a [RS6000] -mno-vsx should force -mno-power9-dform
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
2016-07-14 13:56:36 +09:30
Andi Kleen f63ba78ce6 Some fixes for profile test cases for autofdo
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
2016-07-14 02:14:56 +00:00
Andi Kleen f4d5a23df8 Clean up imports files in test suite
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
2016-07-14 02:14:43 +00:00
Andi Kleen ae145898a7 Always print gcc-auto-profile line in dump file
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
2016-07-14 02:14:29 +00:00
Andi Kleen e97bd4f540 Add dg-final-scan-autofdo and dg-final-scan-not-autofdo
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
2016-07-14 02:14:13 +00:00
Andi Kleen 038ec4b7b9 Don't run instrumented value profiler changes with afdo
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
2016-07-14 02:14:02 +00:00
Andi Kleen 0ea221ef24 Print indirect call changes in afdo dump file
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
2016-07-14 02:13:48 +00:00
GCC Administrator 9f01da8e20 Daily bump.
From-SVN: r238319
2016-07-14 00:16:18 +00:00
Andrew Burgess b2a9e89771 genrecog.c (special_predicate_operand_p): New function.
* 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
2016-07-13 16:18:40 -06:00
Marcel Böhme 03ef0c6c55 re PR c++/70926 (Libiberty Demangler segfaults (5))
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
2016-07-13 16:06:09 -06:00
Matthew Fortune 0d355cf973 Fix return type handling for Proxy classes
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
2016-07-13 21:34:52 +00:00
Matthew Fortune 845a4b727a Fix the use of FFI closures in the java interpreter for integer returns
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
2016-07-13 21:34:35 +00:00
Jonathan Wakely e383deac8b libstdc++/71856 Define _GLIBCXX_PARALLEL_ASSERTIONS
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
2016-07-13 18:22:57 +01:00
Jonathan Wakely 17f8dc9367 Make basic_string::replace forward to different overload
* include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
	(replace(__const_iterator, __const_iterator, initializer_list<C>)):
	Forward to different overload.

From-SVN: r238306
2016-07-13 18:22:51 +01:00
Jonathan Wakely 260d92cd0d Make __allocated_ptr::_S_raw_ptr static
* include/bits/allocated_ptr.h (__allocated_ptr::_S_raw_ptr): Make
	static.

From-SVN: r238305
2016-07-13 18:22:47 +01:00
Jonathan Wakely 2d60da1031 Revert "Add non-const overload of std::string::data()"
This reverts r238291 aka 4300aa2087d90cd2d55852fa38f082a89bc7e72d.

From-SVN: r238303
2016-07-13 16:56:46 +01:00
Bin Cheng 6fa3d4b4a7 tree-vect-data-refs.c (vect_no_alias_p): New function.
* 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
2016-07-13 15:06:40 +00:00
Martin Liska 65f18bc635 Fix Fortran DO loop fallback
* 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
2016-07-13 14:03:29 +00:00
Richard Biener 9737f35bba re PR tree-optimization/24574 (a!=0?a/10:0 is not reduced to a/10)
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
2016-07-13 13:57:05 +00:00