Commit Graph

143703 Commits

Author SHA1 Message Date
Tom de Vries
5d7804a940 Add oacc kernels test in libgomp
2016-01-18  Tom de Vries  <tom@codesourcery.com>

	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
	Same.
	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
	Same.
	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
	* testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
	* testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
	Same.
	* testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.

From-SVN: r232515
2016-01-18 12:53:03 +00:00
Tom de Vries
40e26f946c Add oacc kernels tests in goacc
2016-01-18  Tom de Vries  <tom@codesourcery.com>

	* c-c++-common/goacc/kernels-counter-vars-function-scope.c: New test.
	* c-c++-common/goacc/kernels-double-reduction.c: New test.
	* c-c++-common/goacc/kernels-empty.c: New test.
	* c-c++-common/goacc/kernels-eternal.c: New test.
	* c-c++-common/goacc/kernels-loop-2.c: New test.
	* c-c++-common/goacc/kernels-loop-3.c: New test.
	* c-c++-common/goacc/kernels-loop-data-2.c: New test.
	* c-c++-common/goacc/kernels-loop-data-enter-exit-2.c: New test.
	* c-c++-common/goacc/kernels-loop-data-enter-exit.c: New test.
	* c-c++-common/goacc/kernels-loop-data-update.c: New test.
	* c-c++-common/goacc/kernels-loop-data.c: New test.
	* c-c++-common/goacc/kernels-loop-g.c: New test.
	* c-c++-common/goacc/kernels-loop-mod-not-zero.c: New test.
	* c-c++-common/goacc/kernels-loop-n.c: New test.
	* c-c++-common/goacc/kernels-loop-nest.c: New test.
	* c-c++-common/goacc/kernels-loop.c: New test.
	* c-c++-common/goacc/kernels-noreturn.c: New test.
	* c-c++-common/goacc/kernels-one-counter-var.c: New test.
	* c-c++-common/goacc/kernels-parallel-loop-data-enter-exit.c: New test.
	* c-c++-common/goacc/kernels-reduction.c: New test.

From-SVN: r232514
2016-01-18 12:52:53 +00:00
Tom de Vries
a98d464768 Add pass_parallelize_loops to pass_oacc_kernels
2016-01-18  Tom de Vries  <tom@codesourcery.com>

	* passes.def: Add pass_parallelize_loops to pass_oacc_kernels.

	* gcc.dg/autopar/outer-1.c: Update for new parloops instantiation.
	* gcc.dg/autopar/outer-2.c: Same.
	* gcc.dg/autopar/outer-3.c: Same.
	* gcc.dg/autopar/outer-4.c: Same.
	* gcc.dg/autopar/outer-5.c: Same.
	* gcc.dg/autopar/outer-6.c: Same.
	* gcc.dg/autopar/parallelization-1.c: Same.
	* gcc.dg/autopar/parloops-exit-first-loop-alt-2.c: Same.
	* gcc.dg/autopar/parloops-exit-first-loop-alt-3.c: Same.
	* gcc.dg/autopar/parloops-exit-first-loop-alt-4.c: Same.
	* gcc.dg/autopar/parloops-exit-first-loop-alt-5.c: Same.
	* gcc.dg/autopar/parloops-exit-first-loop-alt-6.c: Same.
	* gcc.dg/autopar/parloops-exit-first-loop-alt-7.c: Same.
	* gcc.dg/autopar/parloops-exit-first-loop-alt-pr66652.c: Same.
	* gcc.dg/autopar/parloops-exit-first-loop-alt.c: Same.
	* gcc.dg/autopar/pr39500-1.c: Same.
	* gcc.dg/autopar/pr39500-2.c: Same.
	* gcc.dg/autopar/pr46193.c: Same.
	* gcc.dg/autopar/pr46194.c: Same.
	* gcc.dg/autopar/pr49580.c: Same.
	* gcc.dg/autopar/pr49960-1.c: Same.
	* gcc.dg/autopar/pr49960.c: Same.
	* gcc.dg/autopar/pr68373.c: Same.
	* gcc.dg/autopar/reduc-1.c: Same.
	* gcc.dg/autopar/reduc-1char.c: Same.
	* gcc.dg/autopar/reduc-1short.c: Same.
	* gcc.dg/autopar/reduc-2.c: Same.
	* gcc.dg/autopar/reduc-2char.c: Same.
	* gcc.dg/autopar/reduc-2short.c: Same.
	* gcc.dg/autopar/reduc-3.c: Same.
	* gcc.dg/autopar/reduc-4.c: Same.
	* gcc.dg/autopar/reduc-6.c: Same.
	* gcc.dg/autopar/reduc-7.c: Same.
	* gcc.dg/autopar/reduc-8.c: Same.
	* gcc.dg/autopar/reduc-9.c: Same.
	* gcc.dg/autopar/uns-outer-4.c: Same.
	* gcc.dg/autopar/uns-outer-5.c: Same.
	* gcc.dg/autopar/uns-outer-6.c: Same.
	* gfortran.dg/parloops-exit-first-loop-alt-2.f95: Same.
	* gfortran.dg/parloops-exit-first-loop-alt.f95: Same.

From-SVN: r232513
2016-01-18 12:52:42 +00:00
Tom de Vries
61d9c5274e Add oacc_kernels_p argument to pass_parallelize_loops
2016-01-18  Tom de Vries  <tom@codesourcery.com>

	* omp-low.c (set_oacc_fn_attrib): Make extern.
	* omp-low.h (set_oacc_fn_attrib): Declare.
	* tree-parloops.c (struct reduction_info): Add reduc_addr field.
	(create_call_for_reduction_1): Handle case that reduc_addr is non-NULL.
	(create_parallel_loop, gen_parallel_loop, try_create_reduction_list):
	Add and handle function parameter oacc_kernels_p.
	(find_reduc_addr, get_omp_data_i_param): New function.
	(ref_conflicts_with_region, oacc_entry_exit_ok_1)
	(oacc_entry_exit_single_gang, oacc_entry_exit_ok): New function.
	(parallelize_loops): Add and handle function parameter oacc_kernels_p.
	Calculate dominance info.  Skip loops that are not in a kernels region
	in oacc_kernels_p mode.  Skip inner loops of parallelized loops.
	(pass_parallelize_loops::execute): Call parallelize_loops with
	oacc_kernels_p argument.
	(pass_parallelize_loops::clone, pass_parallelize_loops::set_pass_param):
	New member function.
	(pass_parallelize_loops::bool oacc_kernels_p): New member var.
	* passes.def: Add argument to pass_parallelize_loops instantation.

From-SVN: r232512
2016-01-18 12:52:32 +00:00
Tom de Vries
12db081402 Allow pass_parallelize_loops to be run outside the loop pipeline
2016-01-18  Tom de Vries  <tom@codesourcery.com>

	* tree-parloops.c (pass_parallelize_loops::execute): Allow
	pass_parallelize_loops to be run outside the loop pipeline.

From-SVN: r232511
2016-01-18 12:52:23 +00:00
Alan Lawrence
da976fa899 Un-XFAIL ssa-dom-cse-2.c for most platforms
* gcc.dg/tree-ssa/ssa-dom-cse-2.c: Remove XFAIL for powerpc(32), hppa,
	aarch64, sparc, s390. Add --param sra-max-scalarization-size-Ospeed.

From-SVN: r232510
2016-01-18 12:51:36 +00:00
Alan Lawrence
806f2c1b28 Enhance SCEV to follow copies of SSA_NAMEs.
(Fixes missed vectorization of gcc.dg/vect/pr65947-2.c.)

        * tree-scalar-evolution.c (follow_copies_to_constant): New.
        (analyze_initial_condition, analyze_scalar_evolution_1): Call previous.

From-SVN: r232509
2016-01-18 12:46:54 +00:00
Alan Lawrence
70c1e88677 Equate MEM_REFs and ARRAY_REFs in tree-ssa-scopedtables.c
PR target/63679

gcc/:

	* tree-ssa-scopedtables.c (avail_expr_hash): Hash MEM_REF and ARRAY_REF
	using get_ref_base_and_extent.
	(equal_mem_array_ref_p): New.
	(hashable_expr_equal_p): Add call to previous.

gcc/testsuite/:

        * gcc.dg/tree-ssa/ssa-dom-cse-5.c: New.
        * gcc.dg/tree-ssa/ssa-dom-cse-6.c: New.
        * gcc.dg/tree-ssa/ssa-dom-cse-7.c: New.

From-SVN: r232508
2016-01-18 12:40:43 +00:00
Jonathan Wakely
d75d9f91e3 Fix PR number in changelog for commit r232504
From-SVN: r232507
2016-01-18 12:34:22 +00:00
Alan Lawrence
88bed19634 Make SRA scalarize constant-pool loads
PR target/63679

gcc/ChangeLog:
    
	* tree-sra.c (disqualified_constants, constant_decl_p): New.
	(sra_initialize): Allocate disqualified_constants.
	(sra_deinitialize): Free disqualified_constants.
	(disqualify_candidate): Update disqualified_constants when appropriate.
	(create_access): Scan for constant-pool entries as we go along.
	(scalarizable_type_p): Add check against type_contains_placeholder_p.
	(maybe_add_sra_candidate): Allow constant-pool entries.
	(load_assign_lhs_subreplacements): Bind debug for constant pool vars.
	(initialize_constant_pool_replacements): New.
	(sra_modify_assign): Avoid mangling assignments created by previous,
	and don't generate writes into constant pool.
	(sra_modify_function_body): Call initialize_constant_pool_replacements.
    
gcc/testsuite/:

	* gcc.dg/tree-ssa/sra-17.c: New.
	* gcc.dg/tree-ssa/sra-18.c: New.

From-SVN: r232506
2016-01-18 12:29:02 +00:00
Richard Biener
13092f6198 re PR lto/69337 (Internal compiler error fortran c lto)
2016-01-18  Richard Biener  <rguenther@suse.de>

	PR lto/69337
	* lto-symtab.c (lto_symtab_merge): Return early for mismatched
	function vs. variable.

From-SVN: r232505
2016-01-18 12:19:31 +00:00
Jonathan Wakely
9c5ad80efd Fix construction of std::function from null pointer-to-member
PR libstdc++/69293
	* include/std/functional (_Function_base::_M_not_empty_function):
	Change overloads for pointers to take arguments by value.
	* testsuite/20_util/function/cons/57465.cc: Add tests for
	pointer-to-member cases.

From-SVN: r232504
2016-01-18 11:43:37 +00:00
Eric Botcazou
9a1bdc314b gigi.h (build_call_raise_column): Adjust prototype.
* gcc-interface/gigi.h (build_call_raise_column): Adjust prototype.
	(build_call_raise_range): Likewise.
	(gnat_unsigned_type): Delete.
	(gnat_signed_type): Likewise.
	(gnat_signed_or_unsigned_type_for): New prototype.
	(gnat_unsigned_type_for): New inline function.
	(gnat_signed_type_for): Likewise.
	* gcc-interface/cuintp.c (build_cst_from_int): Call build_int_cst.
	* gcc-interface/decl.c (gnat_to_gnu_entity): Likewise.
	(gnat_to_gnu_entity) <E_Array_Type>: Always translate the index types
	and compute their base type from that.
	<E_Array_Subtype>: Remove duplicate declaration.
	* gcc-interface/misc.c (get_array_bit_stride): Call build_int_cst.
	* gcc-interface/trans.c (get_type_length): Likewise.
	(Attribute_to_gnu): Likewise.
	(Loop_Statement_to_gnu): Likewise.
	(Call_to_gnu): Likewise.
	(gnat_to_gnu): Call build_real, build_int_cst, gnat_unsigned_type_for
	and gnat_signed_type_for.  Minor tweaks.
	(build_binary_op_trapv): Likewise.
	(emit_check): Likewise.
	(convert_with_check): Likewise.
	(Raise_Error_to_gnu): Adjust calls to the build_call_raise family of
	functions.  Minor tweaks.
	(Case_Statement_to_gnu): Remove dead code.
	(gnat_to_gnu): Call gnat_unsigned_type_for and gnat_signed_type_for.
	(init_code_table): Minor reordering.
	* gcc-interface/utils.c (gnat_unsigned_type): Delete.
	(gnat_signed_type): Likewise.
	(gnat_signed_or_unsigned_type_for): New function.
	(unchecked_convert): Use directly the size in the test for precision
	vs size adjustments.
	(install_builtin_elementary_types): Call gnat_signed_type_for.
	* gcc-interface/utils2.c (nonbinary_modular_operation): Call
	build_int_cst.
	(build_goto_raise): New function taken from...
	(build_call_raise): ...here.  Call it.
	(build_call_raise_column): Add KIND parameter and call it.
	(build_call_raise_range): Likewise.

From-SVN: r232503
2016-01-18 11:29:00 +00:00
Jonathan Wakely
f5460595a4 Fix libstdc++ build with -fno-exceptions
PR libstdc++/69340
	* src/c++11/cow-stdexcept.cc (_txnal_cow_string_C1_for_exceptions):
	Use macros for exception handling and fix unused parameter warning.

From-SVN: r232502
2016-01-18 11:24:20 +00:00
Eric Botcazou
7c775aca29 ada-tree.h (TYPE_IMPLEMENTS_PACKED_ARRAY_P): Rename to
* gcc-interface/ada-tree.h (TYPE_IMPLEMENTS_PACKED_ARRAY_P): Rename to
	(TYPE_IMPL_PACKED_ARRAY_P): ...this.
	(TYPE_CAN_HAVE_DEBUG_TYPE_P): Do not test TYPE_DEBUG_TYPE.
	* gcc-interface/decl.c (gnat_to_gnu_entity): Simplify NULL_TREE tests
	and tweak gnat_encodings tests throughout.
	(initial_value_needs_conversion): Likewise.
	(intrin_arglists_compatible_p): Likewise.
	* gcc-interface/misc.c (gnat_print_type): Likewise.
	(gnat_get_debug_type): Likewise.
	(gnat_get_fixed_point_type_info): Likewise.
	(gnat_get_array_descr_info): Likewise.
	(get_array_bit_stride): Likewise.
	(gnat_get_type_bias): Fix formatting.
	(enumerate_modes): Likewise.
	* gcc-interface/trans.c (gnat_to_gnu): Likewise.
	(add_decl_expr): Simplify NULL_TREE test.
	(end_stmt_group): Likewise.
	(build_binary_op_trapv): Fix formatting.
	(get_exception_label): Use switch statement.
	(init_code_table): Move around.
	* gcc-interface/utils.c (global_bindings_p): Simplify NULL_TREE test.
	(gnat_poplevel): Likewise.
	(gnat_set_type_context): Likewise.
	(defer_or_set_type_context): Fix formatting.
	(gnat_pushdecl): Simplify NULL_TREE test.
	(maybe_pad_type): Likewise.
	(add_parallel_type): Likewise.
	(create_range_type): Likewise.
	(process_deferred_decl_context): Likewise.
	(convert): Likewise.
	(def_builtin_1): Likewise.
	* gcc-interface/utils2.c (find_common_type): Likewise.
	(build_binary_op): Likewise.
	(gnat_rewrite_reference): Likewise.
	(get_inner_constant_reference): Likewise.

From-SVN: r232501
2016-01-18 11:10:42 +00:00
Ilya Enkovich
3dd5f42e90 i386.c (scalar_to_vector_candidate_p): Support andnot instruction.
gcc/

	* config/i386/i386.c (scalar_to_vector_candidate_p): Support
	andnot instruction.
	(scalar_chain::convert_op): Likewise.
	* config/i386/i386.md (*andndi3_doubleword): New.

gcc/testsuite/

	* gcc.target/i386/pr65105-5.c: Adjust to andn generation.

From-SVN: r232500
2016-01-18 10:35:56 +00:00
Eric Botcazou
ae5a77fa96 re PR ada/69219 (error on nested subprograms with Inline_Always and Intrinsic)
PR ada/69219
	* gcc-interface/trans.c (check_inlining_for_nested_subprog): Consider
	the parent function instead of the current function in order to issue
	the warning or the error.  Add guard for ignored functions.

From-SVN: r232498
2016-01-18 10:27:10 +00:00
Bin Cheng
11e57fc6e5 re PR tree-optimization/66797 (FAIL: gcc.dg/tree-ssa/pr65447.c scan-tree-dump-not ivopts "\\nuse 5\\n")
PR tree-optimization/66797
	* gcc.c-torture/execute/pr65447.c: Relax check condition.

From-SVN: r232497
2016-01-18 09:30:10 +00:00
Richard Biener
995b6fe0f4 re PR tree-optimization/69170 (ICE (segfault) in find_uses_to_rename_use)
2016-01-18  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/69170
	* tree-vect-slp.c (vect_build_slp_tree): Verify we are not
	building a vector from scalar results of a pattern stmt.

	* gcc.dg/torture/pr69170.c: New testcase.

From-SVN: r232496
2016-01-18 09:14:14 +00:00
Jakub Jelinek
99e18f02b6 haifa-sched.c (autopref_multipass_init): Work around -Wmaybe-uninitialized warning.
* haifa-sched.c (autopref_multipass_init): Work around
	-Wmaybe-uninitialized warning.

From-SVN: r232495
2016-01-18 10:02:42 +01:00
Thomas Preud'homme
39d44c531f arm.c (thumb1_reorg): Check that the comparison is against the constant 0.
2016-01-18  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    * config/arm/arm.c (thumb1_reorg): Check that the comparison is
    against the constant 0.

From-SVN: r232493
2016-01-18 03:22:35 +00:00
Bill Schmidt
5b3d5f769b re PR tree-optimization/68799 (lto ICE on powerpc64le-linux-gnu builing python 2.7.x)
2016-01-17  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	PR tree-optimization/68799
	* gimple-ssa-strength-reduction.c (create_phi_basis): Directly
	look up phi candidates in the statement-candidate map.
	(phi_add_costs): Likewise.
	(record_phi_increments): Likewise.
	(phi_incr_cost): Likewise.
	(ncd_with_phi): Likewise.
	(all_phi_incrs_profitable): Likewise.

From-SVN: r232491
2016-01-18 02:43:06 +00:00
GCC Administrator
43d57b29d1 Daily bump.
From-SVN: r232490
2016-01-18 00:16:11 +00:00
John David Anglin
d656d82e58 builtin-integral-1.c: Require c99_runtime.
* gcc.dg/torture/builtin-integral-1.c: Require c99_runtime.

From-SVN: r232487
2016-01-17 22:49:24 +00:00
John David Anglin
271366f679 re PR libstdc++/68734 (FAIL: libstdc++-abi/abi_check)
PR libstdc++/68734
	* config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.

From-SVN: r232486
2016-01-17 18:16:42 +00:00
Jakub Jelinek
e9dcf0a447 * adaint.c (__gnat_killprocesstree): Avoid -Wparentheses warning.
From-SVN: r232485
2016-01-17 19:07:39 +01:00
Jakub Jelinek
3f217497ca omp-low.c (mark_loops_in_oacc_kernels_region): Work around -Wmaybe-uninitialized warning.
* omp-low.c (mark_loops_in_oacc_kernels_region): Work around
	-Wmaybe-uninitialized warning.

From-SVN: r232484
2016-01-17 19:04:47 +01:00
Torvald Riegel
7a5d1d34ee libstdc++: Fix static_assert.
* src/c++11/cow-stdexcept.cc (txnal_read_ptr): Fix static_assert.

From-SVN: r232483
2016-01-17 17:43:37 +00:00
GCC Administrator
c2fff93c85 Daily bump.
From-SVN: r232480
2016-01-17 00:16:16 +00:00
H.J. Lu
7573116b0a Revert the accidental checkin
From-SVN: r232476
2016-01-16 15:07:34 -08:00
Sandra Loosemore
b81946e524 invoke.texi (Invoking GCC): Add new section to menu.
2016-01-16  Sandra Loosemore <sandra@codesourcery.com>

	gcc/
	* doc/invoke.texi (Invoking GCC): Add new section to menu.
	(Option Summary): Update to reflect new section and moved options.
	(C++ Dialect Options): Move -fvtable-verify and related options.
	(Debugging Options): Move Sanitizer, Pointer Bounds Checker,
	and profiling-related options.
	(Optimization Options): Move profile generation options and
	-fstack-protector and related options.
	(Instrumentation Options): New section incorporating moved options.
	(Code Generation Options): Move -finstrument-functions and
	related options, -fstack-check, -fstack-limit*, and -fbounds-check.

From-SVN: r232475
2016-01-16 18:06:43 -05:00
H.J. Lu
5445d5bff0 Add __int128 symbols to x32 aseline_symbols.txt
* config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Add
	__int128 symbols.

From-SVN: r232474
2016-01-16 14:52:21 -08:00
Tom de Vries
2d73a9d279 Move pass_expand_omp_ssa out of pass_parallelize_loops
2016-01-16  Tom de Vries  <tom@codesourcery.com>

	* passes.def: Move pass_expand_omp_ssa out of pass_parallelize_loops.

From-SVN: r232473
2016-01-16 22:19:05 +00:00
Tom de Vries
0b0521ba46 Release_defs in expand_omp_atomic_fetch_op
2016-01-16  Tom de Vries  <tom@codesourcery.com>

	* omp-low.c (expand_omp_atomic_fetch_op):  Release defs of update stmt.

From-SVN: r232472
2016-01-16 22:18:56 +00:00
Tom de Vries
d69da357f7 Add goacc/kernels-alias-ipa-pta-4.c
2016-01-16  Tom de Vries  <tom@codesourcery.com>

	* c-c++-common/goacc/kernels-alias-ipa-pta-4.c: New test.

From-SVN: r232471
2016-01-16 22:18:47 +00:00
Tom de Vries
a38452837f Move gcc.dg/parloops-exit-first-loop-alt-*.c to gcc.dg/autopar
2016-01-16  Tom de Vries  <tom@codesourcery.com>

	* gcc.dg/parloops-exit-first-loop-alt.c: Move ...
	* gcc.dg/autopar/parloops-exit-first-loop-alt.c: ... here.  Remove
	redundant dg-require-effective-target pthread.
	* gcc.dg/parloops-exit-first-loop-alt-2.c: Same.
	* gcc.dg/parloops-exit-first-loop-alt-3.c: Same.
	* gcc.dg/parloops-exit-first-loop-alt-4.c: Same.
	* gcc.dg/parloops-exit-first-loop-alt-5.c: Same.
	* gcc.dg/parloops-exit-first-loop-alt-6.c: Same.
	* gcc.dg/parloops-exit-first-loop-alt-7.c: Same.
	* gcc.dg/parloops-exit-first-loop-alt-pr66652.c: Same.

From-SVN: r232470
2016-01-16 22:18:37 +00:00
Torvald Riegel
d2653984bf libitm: Ensure proxy privatization safety.
* method-gl.cc (gl_wt_dispatch::trycommit): Ensure proxy privatization
	safety.
	* method-ml.cc (ml_wt_dispatch::trycommit): Likewise.
	* libitm/testsuite/libitm.c/priv-1.c: New.

From-SVN: r232469
2016-01-16 22:08:41 +00:00
David Edelsohn
197a6aa6f9 re PR target/68609 (PowerPC reciprocal estimate missed opportunities)
PR target/68609
        * gcc.target/powerpc/recip-6.c: Enable on AIX.
        * gcc.target/powerpc/recip-7.c: Same.

From-SVN: r232468
2016-01-16 15:04:33 -05:00
Richard Sandiford
677cb11df0 Optimise hash_table::empty
Calling redirect_edge_var_map_empty after each pass was slowing things
down because hash_table::empty () cleared all slots even if the hash
table was already empty.

Tested on x86_64-linux-gnu, where it gives a 1% compile time improvement
for fold-const.ii at -O and -O2.

gcc/
	* hash-table.h (hash_table::empty): Turn into an inline wrapper
	that checks whether the table is already empty.  Rename the
	original implementation to...
	(hash_table::empty_slot): ...this new private function.

From-SVN: r232467
2016-01-16 11:03:18 +00:00
Paul Thomas
b62df3bfc5 Clean up some minor white space issues in trans-decl.c and trans-expr.c
From-SVN: r232466
2016-01-16 09:44:23 +00:00
David Malcolm
83eb5a0358 PR diagnostic/68899: fix read-beyond-buffer when printing very wide source lines
gcc/ChangeLog:
	PR diagnostic/68899
	* diagnostic-show-locus.c (layout::print_source_line): Move x
	offset of line until after call to
	get_line_width_without_trailing_whitespace.

From-SVN: r232465
2016-01-16 04:38:19 +00:00
Patrick Palka
ec7886c19b Fix PR c++/69091 (ICE with operator overload having 'auto' return type)
gcc/cp/ChangeLog:

	PR c++/69091
	* pt.c (type_dependent_expression_p): For a function template
	specialization, a type is dependent iff any of its template
	arguments are.

gcc/testsuite/ChangeLog:

	PR c++/69091
	* g++.dg/template/pr69091.C: New test.

From-SVN: r232463
2016-01-16 02:37:09 +00:00
Patrick Palka
203484bb27 Fix logic bug in Cilk Plus array expansion
gcc/cp/ChangeLog:

	* cp-array-notation.c (cp_expand_cond_array_notations): Return
	error_mark_node only if find_rank failed, not if it was
	successful.

gcc/testsuite/ChangeLog:

	* c-c++-common/cilk-plus/AN/an-if.c: Check that the original
	dump does not contain an error_mark_node.
	* c-c++-common/cilk-plus/CK/pr60469.c: Likewise.
	* c-c++-common/cilk-plus/AN/fn_ptr-2.c: New xfail'd test.

From-SVN: r232462
2016-01-16 02:30:14 +00:00
Patrick Palka
aa2500e9bc re PR c++/68936 (ICE: tree check: expected call_expr, have target_expr in build_min_non_dep_call_vec, at cp/tree.c:2744)
Fix PR c++/68936

gcc/cp/ChangeLog:

	PR c++/68936
	* tree.c (build_min_non_dep_call_vec): Don't retain the
	KOENIG_LOOKUP_P flag of the non-dependent expression that's
	been built.
	(build_min_non_dep_op_overload): Instead, do it here.

gcc/testsuite/ChangeLog:

	PR c++/68936
	* g++.dg/template/pr68936.C: New test.

From-SVN: r232461
2016-01-16 02:27:36 +00:00
GCC Administrator
22c8388fc6 Daily bump.
From-SVN: r232460
2016-01-16 00:16:13 +00:00
Jonathan Wakely
d7c1581c04 Use static assertion for uses-allocator construction
PR libstdc++/69293
	* include/bits/uses_allocator.h (__uses_alloc<true, ...>): Add
	static assertion that type is constructible from the arguments.
	* testsuite/20_util/scoped_allocator/69293_neg.cc: New.
	* testsuite/20_util/uses_allocator/69293_neg.cc: New.
	* testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.

From-SVN: r232457
2016-01-15 23:12:13 +00:00
David Edelsohn
28621a5c02 re PR target/68609 (PowerPC reciprocal estimate missed opportunities)
PR target/68609
        * gcc.target/powerpc/recip-1.c: Adjust for Goldschmidt's Algorithm.
        * gcc.target/powerpc/recip-2.c: Same.
        * gcc.target/powerpc/recip-3.c: Same.
        * gcc.target/powerpc/recip-4.c: Same.
        * gcc.target/powerpc/recip-sqrtf.c: Same.

From-SVN: r232456
2016-01-15 18:04:23 -05:00
Jonathan Wakely
3d076231c6 PR libstdc++/69294 Check for isinf and isnan on AIX
PR libstdc++/69294
	* acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
	and isnan on AIX. Quote variables.
	* configure: Regenerate.

From-SVN: r232455
2016-01-15 23:00:30 +00:00
Torvald Riegel
a04d5fc95d libstdc++: Make certain exceptions transaction_safe.
From-SVN: r232454
2016-01-15 22:42:41 +00:00
Jeff Law
40c43acacc re PR tree-optimization/69270 (DOM should exploit range information to create more equivalences)
PR tree-optimization/69270
	* tree-ssanames.c (ssa_name_has_boolean_range): Moved here from
	tree-ssa-dom.c.  Improve test for [0..1] ranve from VRP.
	* tree-ssa-dom.c (ssa_name_has_boolean_range): Remove.
	* tree-ssanames.h (ssa_name_has_boolean_range): Prototype.
	* tree-ssa-uncprop.c (associate_equivalences_with_edges): Use
	ssa_name_has_boolean_range and constant_boolean_node.

	PR tree-optimization/69270
	* gcc.dg/tree-ssa/pr69270-2.c: New test.
	* gcc.dg/tree-ssa/pr69270-3.c: New test.

From-SVN: r232453
2016-01-15 15:32:05 -07:00