Commit Graph

146635 Commits

Author SHA1 Message Date
Oleg Endo
0e07cb7f7d Fix wrong-code issues of RX atomic operations.
gcc/
	* config/rx/rx.md (FETCHOP_NO_MINUS): New code iterator.
	(atomic_<fetchop_name>_fetchsi): Extract minus operator into ...
	(atomic_sub_fetchsi): ... this new pattern.
	(mvtc): Add CC_REG clobber.

From-SVN: r236926
2016-05-31 15:06:25 +00:00
H.J. Lu
d6439e0854 Scan %\[re\]di instead of %rdi
Since x32 may use 32-bit register in address, we should scan %\[re\]di
instead of %rdi.

	* gcc.target/i386/avx512vl-vbroadcast-3.c: Scan %\[re\]di
	instead of %rdi.
	* gcc.target/i386/avx512vl-vcvtps2ph-3.c: Likewise.

From-SVN: r236925
2016-05-31 08:00:25 -07:00
Marek Polacek
780b9dd440 gimplify.c (gimplify_switch_expr): Also handle GIMPLE_TRY.
* gimplify.c (gimplify_switch_expr): Also handle GIMPLE_TRY.

	* c-c++-common/Wswitch-unreachable-3.c: New test.
	* g++.dg/warn/Wswitch-unreachable-1.C: New test.

From-SVN: r236924
2016-05-31 14:55:05 +00:00
Kyrylo Tkachov
d7b03373d6 [AArch64] Use aarch64_fusion_enabled_p to check for insn fusion capabilities
* config/aarch64/aarch64.c (aarch_macro_fusion_pair_p): Use
	aarch64_fusion_enabled_p to check for fusion capabilities.

From-SVN: r236921
2016-05-31 12:35:42 +00:00
Richard Biener
0d99f8a070 re PR tree-optimization/71352 (ICE at -O1 and above on x86_64-linux-gnu: in zero_one_operation, at tree-ssa-reassoc.c:1251)
2016-05-31  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/71352
	* tree-ssa-reassoc.c (zero_one_operation): Handle op equal to
	minus one and a negate.

	* gcc.dg/tree-ssa/reassoc-45.c: New testcase.

From-SVN: r236920
2016-05-31 12:18:15 +00:00
Roger Sayle
a1293f402a builtins.c (java_builtins): Use popcount* and bswap* builtins to implement bitCount() and reverseBytes()...
2016-05-31  Roger Sayle  <roger@nextmovesoftware.com>

gcc/java:
	* builtins.c (java_builtins): Use popcount* and bswap* builtins to
	implement bitCount() and reverseBytes() methods in java.lang.Integer
	and friends.
	(initialize_builtins): Annotate math builtins with ECF_LEAF.  Call
	define_builtin for the new popcount* and bswap* builtins.

libjava:
	* testsuite/libjava.lang/BuiltinBitCount.java: New test case.
	* testsuite/libjava.lang/BuiltinReverseBytes.java: Likewise.

From-SVN: r236919
2016-05-31 11:30:56 +00:00
Alan Modra
051154a1f6 Don't needlessly clear xmemdup allocated memory.
* xmemdup.c (xmemdup): Use xmalloc rather than xcalloc.

From-SVN: r236917
2016-05-31 20:38:54 +09:30
Kyrylo Tkachov
cd78b3dd18 [AArch64] Remove aarch64_simd_attr_length_move
* config/aarch64/aarch64.c (aarch64_simd_attr_length_move): Delete.
	* config/aarch64/aarch64-protos.h (aarch64_simd_attr_length_move):
	Delete prototype.
	* config/aarch64/iterators.md (insn_count): Add descriptive comment.
	* config/aarch64/aarch64-simd.md (*aarch64_mov<mode>, VSTRUCT modes):
	Remove use of aarch64_simd_attr_length_move, set length attribute
	directly.
	(*aarch64_be_movoi): Likewise.
	(*aarch64_be_movci): Likewise.
	(*aarch64_be_movxi): Likewise.

From-SVN: r236916
2016-05-31 11:04:41 +00:00
Jan Hubicka
29d1d5ec6b loop-init.c (gate): Do not enale RTL loop unroller with -fpeel-loops.
* loop-init.c (gate): Do not enale RTL loop unroller with -fpeel-loops.
	It no longer does that.
	* toplev.c (process_options): Do not enable flag_web with -fpeel-loops.

From-SVN: r236915
2016-05-31 10:42:59 +00:00
Wladimir J. van der Laan
9014162d18 [PATCH] AARCH64: Remove spurious attribute __unused__ from NEON intrinsic
gcc/

	* config/aarch64/arm_neon.h (vdupb_laneq_s8): Remove spurious
	attribute __unused__.

From-SVN: r236914
2016-05-31 10:30:03 +00:00
Thomas Preud'homme
5254564176 arm-protos.h (arm_arch_thumb1): Declare.
2016-05-31  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    * config/arm/arm-protos.h (arm_arch_thumb1): Declare.
    * config/arm/arm.c (arm_arch_thumb1): Define.
    (arm_option_override): Initialize arm_arch_thumb1.
    * config/arm/arm.h (arm_arch_thumb1): Declare.
    (TARGET_ARM_ARCH_ISA_THUMB): Use arm_arch_thumb to determine if target
    support Thumb-1 ISA.

    gcc/testsuite/
    * gcc.target/arm/armv5_thumb_isa.c: New test.

From-SVN: r236913
2016-05-31 10:10:18 +00:00
Martin Liska
4efae2d63f Make analyze_brprob.py executable.
From-SVN: r236911
2016-05-31 08:52:31 +00:00
Kirill Yukhin
5b8c120584 AVX-512. Limit constraint for scalar operand in split to AVX-512VL.
PR target/71346
gcc/
	* config/i386/sse.md (define_insn_and_split "*vec_extractv4sf_0"): Use
	`Yv' for scalar operand.
testsuite/
	* gcc.target/i386/pr71346.c: New test.

From-SVN: r236909
2016-05-31 08:05:24 +00:00
Tom de Vries
7a88cc8467 Handle 3-arg phi in copy_bb_and_scalar_dependences
2016-05-31  Tom de Vries  <tom@codesourcery.com>

	PR tree-optimization/69068
	* graphite-isl-ast-to-gimple.c (copy_bb_and_scalar_dependences): Handle
	phis with more than two args.

	* gcc.dg/graphite/pr69068.c: New test.

From-SVN: r236907
2016-05-31 07:07:26 +00:00
GCC Administrator
cc10916fe1 Daily bump.
From-SVN: r236906
2016-05-31 00:16:26 +00:00
Martin Sebor
265149a6ae PR c++/71306 - bogus -Wplacement-new with an array element
gcc/cp/ChangeLog:
2016-05-27  Martin Sebor  <msebor@redhat.com>

	PR c++/71306
	* init.c (warn_placement_new_too_small): Handle placement new arguments
	that are elements of arrays more carefully.  Remove a pointless loop.

gcc/testsuite/ChangeLog:
2016-05-27  Martin Sebor  <msebor@redhat.com>

	PR c++/71306
	* g++.dg/warn/Wplacement-new-size-3.C: New test.

From-SVN: r236902
2016-05-30 16:56:43 -06:00
Jakub Jelinek
00631022d8 re PR c++/71349 (Combined async target clause parsing issues)
PR c++/71349
	* c-parser.c (c_parser_omp_for): Don't disallow nowait clause
	when combined with target construct.

	* parser.c (cp_parser_omp_for): Don't disallow nowait clause
	when combined with target construct.
	(cp_parser_omp_parallel): Pass cclauses == NULL as last argument
	to cp_parser_omp_all_clauses.

	* c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_DEPEND to
	C_OMP_CLAUSE_SPLIT_TARGET.  Put OMP_CLAUSE_NOWAIT to
	C_OMP_CLAUSE_SPLIT_TARGET if combined with target construct,
	instead of C_OMP_CLAUSE_SPLIT_FOR.

	* c-c++-common/gomp/clauses-1.c (bar): Add dd argument.  Add
	nowait depend(inout: dd[0]) clauses where permitted.

From-SVN: r236900
2016-05-30 23:36:24 +02:00
Andreas Tobler
c8743fc5e5 config.gcc: Move hard float support for arm*hf*-*-freebsd* into armv6*-*-freebsd* for...
2016-05-30  Andreas Tobler  <andreast@gcc.gnu.org>

    * config.gcc: Move hard float support for arm*hf*-*-freebsd* into
    armv6*-*-freebsd* for FreeBSD 11. Eliminate the arm*hf*-*-freebsd*
    target.

From-SVN: r236898
2016-05-30 22:03:57 +02:00
Jose E. Marchesi
31177ef252 config.gcc (sparc*-*-*): Support cpu_32, cpu_64, tune_32 and tune_64.
2016-05-30  Jose E. Marchesi  <jose.marchesi@oracle.com>

	* config.gcc (sparc*-*-*): Support cpu_32, cpu_64, tune_32 and
	tune_64.
	* doc/install.texi (--with-cpu-32, --with-cpu-64): Document
	support on SPARC.
	* config/sparc/linux64.h (OPTION_DEFAULT_SPECS): Add entries for
	cpu_32, cpu_64, tune_32 and tune_64.
	* config/sparc/sol2.h (OPTION_DEFAULT_SPECS): Likewise.

From-SVN: r236897
2016-05-30 19:33:34 +00:00
Paolo Carlini
b2f6675b74 re PR c++/71238 (Undeclared function message imprecisely points to error column)
/cp
2016-05-30  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/71238
	* lex.c (unqualified_name_lookup_error): Take a location too.
	(unqualified_fn_lookup_error): Take a cp_expr.
	* cp-tree.h (unqualified_name_lookup_error,
	unqualified_fn_lookup_error): Adjust declarations.
	* semantics.c (perform_koenig_lookup): Adjust
	unqualified_fn_lookup_error call, pass the location of
	the identifier too as part of a cp_expr.

/testsuite
2016-05-30  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/71238
	* g++.dg/parse/pr71238.C: New.
	* g++.dg/concepts/friend1.C: Test column numbers too.
	* g++.dg/cpp0x/initlist31.C: Likewise.
	* g++.dg/cpp0x/pr51420.C: Likewise.
	* g++.dg/cpp0x/udlit-declare-neg.C: Likewise.
	* g++.dg/cpp0x/udlit-member-neg.C: Likewise.
	* g++.dg/ext/builtin3.C: Likewise.
	* g++.dg/lookup/friend12.C: Likewise.
	* g++.dg/lookup/friend7.C: Likewise.
	* g++.dg/lookup/koenig1.C: Likewise.
	* g++.dg/lookup/koenig5.C: Likewise.
	* g++.dg/lookup/used-before-declaration.C: Likewise.
	* g++.dg/overload/koenig1.C: Likewise.
	* g++.dg/template/crash65.C: Likewise.
	* g++.dg/template/friend57.C: Likewise.
	* g++.dg/warn/Wshadow-5.C: Likewise.
	* g++.dg/warn/Wunused-8.C: Likewise.
	* g++.old-deja/g++.bugs/900211_01.C: Likewise.
	* g++.old-deja/g++.jason/lineno5.C: Likewise.
	* g++.old-deja/g++.jason/member.C: Likewise.
	* g++.old-deja/g++.jason/report.C: Likewise.
	* g++.old-deja/g++.jason/scoping12.C: Likewise.
	* g++.old-deja/g++.law/visibility20.C: Likewise.
	* g++.old-deja/g++.ns/koenig5.C: Likewise.
	* g++.old-deja/g++.other/static5.C: Likewise.
	* g++.old-deja/g++.pt/overload2.C: Likewise.

From-SVN: r236896
2016-05-30 19:18:13 +00:00
Uros Bizjak
9ce542ba4a sync.md (mfence_nosse): Use "lock orl $0, -4(%esp)".
* config/i386/sync.md (mfence_nosse): Use "lock orl $0, -4(%esp)".

From-SVN: r236895
2016-05-30 21:06:38 +02:00
Andi Kleen
1bba63a77e Don't cause ICEs when auto profile file is not found with checking
Currently, on a checking enabled compiler when -fauto-profile does
not find the profile feedback file it errors out with assertation
failures. Add proper errors for this case.

gcc/:

2016-05-30  Andi Kleen  <ak@linux.intel.com>

	* auto-profile.c (read_profile): Replace asserts with errors
	when file does not exist.
	* gcov-io.c (gcov_read_words): Dito.

From-SVN: r236894
2016-05-30 18:13:12 +00:00
Jan Hubicka
53803093d0 tree-cfg.c (print_loop): Print likely upper bounds.
* tree-cfg.c (print_loop): Print likely upper bounds.

From-SVN: r236893
2016-05-30 17:59:24 +00:00
Jan Hubicka
a448ff403b invoke.texi (-fpeel-loops,-O3): Update documentation.
* doc/invoke.texi (-fpeel-loops,-O3): Update documentation.
	* opts.c (default_options): Enable peel loops at -O3.
	* tree-ssa-loop-ivcanon.c (peeled_loops): New static var.
	(try_peel_loop): Do not re-peel already peeled loops;
	use likely upper bounds; fix profile updating.
	(pass_complete_unroll::execute): Initialize peeled_loops.

	* gcc.dg/tree-ssa/peel1.c: New testcase.
	* gcc.dg/tree-ssa/pr61743-1.c: Disable loop peeling.
	* gcc.dg/tree-ssa/pr61743-2.c: Disable loop peeling.

From-SVN: r236892
2016-05-30 17:58:19 +00:00
Martin Liska
83e0b73912 Add profiling support for IVOPTS
* tree-ssa-loop-ivopts.c (get_computation_cost_at): Scale
	computed costs by frequency of BB they belong to.
	(get_scaled_computation_cost_at): New function.

From-SVN: r236888
2016-05-30 16:04:50 +00:00
Tom de Vries
69be8c9124 Fix pr69067.c testcase
2016-05-30  Tom de Vries  <tom@codesourcery.com>

	* gcc.dg/graphite/pr69067.c (main): Remove superfluous argument in call
	to ce.

From-SVN: r236886
2016-05-30 15:50:55 +00:00
Paolo Carlini
a59775a17c re PR c++/71099 (Misleading diagnostic message with 'virtual' used in out-of-line definitions of class template member functions)
/cp
2016-05-30  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/71099
	* parser.c (cp_parser_function_specifier_opt): Use current_class_type
	to improve the diagnostic about wrong uses of 'virtual'.

/testsuite
2016-05-30  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/71099
	* g++.dg/parse/virtual1.C: New.

From-SVN: r236885
2016-05-30 15:10:51 +00:00
Uros Bizjak
53d6d95560 args.h (clear_non_sret_int_hardware_registers): Use correct register when clearing %edx.
* gcc.target/i386/iamcu/args.h (clear_non_sret_int_hardware_registers):
	Use correct register when clearing %edx.

From-SVN: r236883
2016-05-30 16:50:44 +02:00
Alexander Monakov
0557293fc2 match.pd: optimize unsigned mul overflow check
gcc/
2016-05-28  Alexander Monakov  <amonakov@ispras.ru>
            Marc Glisse  <marc.glisse@inria.fr>

	PR tree-optimization/71289
	* match.pd (-1 / B < A, A > -1 / B): New transformations.

gcc/testsuite/
2016-05-28  Alexander Monakov  <amonakov@ispras.ru>

	PR tree-optimization/71289
	* gcc.dg/pr71289.c: New test.


Co-Authored-By: Marc Glisse <marc.glisse@inria.fr>

From-SVN: r236882
2016-05-30 17:37:02 +03:00
Jan Hubicka
e5b1fae41b * tree-vect-loop.c (vect_transform_loop): Update likely bounds.
From-SVN: r236880
2016-05-30 14:12:46 +00:00
Jan Hubicka
eb897cfcf5 tree-ssa-loop-ivcanon.c (try_peel_loop): Correctly set wont_exit for peeled copies...
* tree-ssa-loop-ivcanon.c (try_peel_loop): Correctly set wont_exit
	for peeled copies; avoid underflow when updating estimates; correctly
	scale loop profile.

From-SVN: r236878
2016-05-30 13:25:02 +00:00
Kugan Vivekanandarajah
5750980942 tree-ssa-reassoc.c (swap_ops_for_binary_stmt): Fix typo from commit r236875.
gcc/ChangeLog:

2016-05-30  Kugan Vivekanandarajah  <kuganv@linaro.org>

	* tree-ssa-reassoc.c (swap_ops_for_binary_stmt): Fix typo from commit
	r236875. Corrected oe3 to oe2 as obvious.

From-SVN: r236877
2016-05-30 11:01:06 +00:00
Kugan Vivekanandarajah
5d476e35f0 re PR middle-end/71269 (segfault while compiling sqlite)
gcc/testsuite/ChangeLog:

2016-05-30  Kugan Vivekanandarajah  <kuganv@linaro.org>

	PR middle-end/71269
	PR middle-end/71292
	* gcc.dg/tree-ssa/pr71269.c: New test.
	* gcc.dg/tree-ssa/pr71292.c: New test.

gcc/ChangeLog:

2016-05-30  Kugan Vivekanandarajah  <kuganv@linaro.org>

	PR middle-end/71269
	PR middle-end/71252
	* tree-ssa-reassoc.c (insert_stmt_before_use): Use find_insert_point so
	that inserted stmt will not dominate stmts that defines its operand.
	(rewrite_expr_tree): Add stmt_to_insert before adding the use stmt.
	(rewrite_expr_tree_parallel): Likewise.

From-SVN: r236876
2016-05-30 10:47:57 +00:00
Kugan Vivekanandarajah
db5447cad8 re PR tree-optimization/71252 (ICE: verify_ssa failed : definition in block 7 does not dominate use in block 6)
gcc/ChangeLog:

2016-05-30  Kugan Vivekanandarajah  <kuganv@linaro.org>

	PR middle-end/71252
	* tree-ssa-reassoc.c (swap_ops_for_binary_stmt): Fix swap such that
	all fields including stmt_to_insert are swapped.


gcc/testsuite/ChangeLog:

2016-05-30  Kugan Vivekanandarajah  <kuganv@linaro.org>

	PR middle-end/71252
	* gcc.dg/tree-ssa/pr71252-2.c: New test.

From-SVN: r236875
2016-05-30 10:45:19 +00:00
Jan Hubicka
98bdbb39a6 predict.h (force_edge_cold): Declare.
* predict.h (force_edge_cold): Declare.
	* predict.c (force_edge_cold): New function.
	* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Fix profile
	updating.
	(canonicalize_loop_induction_variables): Fix formating.

	* gcc.dg/tree-ssa/cunroll-12.c: New testcase.
	* gcc.dg/tree-ssa/cunroll-13.c: New testcase.
	* gcc.dg/tree-ssa/cunroll-14.c: New testcase.

From-SVN: r236874
2016-05-30 10:40:33 +00:00
Eric Botcazou
d5cf3d8da6 visium.c (visium_split_double_add): Minor tweaks.
* config/visium/visium.c (visium_split_double_add): Minor tweaks.
	(visium_expand_copysign): Use gen_int_mode directly.
	(visium_compute_frame_size): Minor tweaks.

From-SVN: r236871
2016-05-30 08:48:17 +00:00
Jan Hubicka
6f2c0820ae tree-vect-loop.c (vect_analyze_loop_2): Use likely_max_stmt_executions_int.
* tree-vect-loop.c (vect_analyze_loop_2): Use
	likely_max_stmt_executions_int.

From-SVN: r236870
2016-05-30 08:19:24 +00:00
Tom de Vries
7e01285587 Remove assert in get_def_bb_for_const
2016-05-30  Tom de Vries  <tom@codesourcery.com>

	PR tree-optimization/69067
	* graphite-isl-ast-to-gimple.c (get_def_bb_for_const): Remove assert.

	* gcc.dg/graphite/pr69067.c: New test.

From-SVN: r236868
2016-05-30 07:49:42 +00:00
GCC Administrator
89bd6e5d19 Daily bump.
From-SVN: r236867
2016-05-30 00:16:26 +00:00
Uros Bizjak
beed3701c7 re PR target/71245 (std::atomic<double> load/store bounces the data to the stack using fild/fistp)
PR target/71245
	* config/i386/sync.md (define_peephole2 atomic_storedi_fpu):
	New peepholes to remove unneeded fild/fistp pairs.
	(define_peephole2 atomic_loaddi_fpu): Ditto.

testsuite/ChangeLog:

	PR target/71245
	* gcc.target/i386/pr71245-1.c: New test.
	* gcc.target/i386/pr71245-2.c: Ditto.

From-SVN: r236863
2016-05-29 22:50:32 +02:00
Jan Hubicka
f0b03e9423 * predict.c (maybe_hot_frequency_p): Avoid division.
From-SVN: r236862
2016-05-29 17:29:42 +00:00
Paolo Carlini
036dc0a057 re PR c++/71105 (lambdas with default captures improperly have function pointer conversions)
/cp
2016-05-29  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/71105
	* lambda.c (maybe_add_lambda_conv_op): Early return also when
	LAMBDA_EXPR_DEFAULT_CAPTURE_MODE != CPLD_NONE.

/testsuite
2016-05-29  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/71105
	* g++.dg/cpp0x/lambda/lambda-conv11.C: New.
	* g++.dg/cpp1y/lambda-conv1.C: Likewise.
	* g++.dg/cpp1y/lambda-conv2.C: Likewise.

From-SVN: r236861
2016-05-29 08:29:46 +00:00
Paolo Carlini
b6d4f8e854 re PR c++/71105 (lambdas with default captures improperly have function pointer conversions)
/cp
2016-05-29  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/71105
	* lambda.c (maybe_add_lambda_conv_op): Early return also when
	LAMBDA_EXPR_DEFAULT_CAPTURE_MODE != CPLD_NONE.

/testsuite
2016-05-29  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/71105
	* g++.dg/cpp0x/lambda/lambda-conv11.C: New.
	* g++.dg/cpp1y/lambda-conv1.C: Likewise.
	* g++.dg/cpp1y/lambda-conv2.C: Likewise.

From-SVN: r236859
2016-05-29 08:05:30 +00:00
Gerald Pfeifer
4acc363412 backwards_compatibility.xml: Adjust lists.debian.org link to https.
* doc/xml/manual/backwards_compatibility.xml: Adjust
	lists.debian.org link to https.
	* doc/html/manual/backwards.html: Regenerate.

From-SVN: r236858
2016-05-29 08:03:35 +00:00
GCC Administrator
6766aac22a Daily bump.
From-SVN: r236857
2016-05-29 00:16:19 +00:00
Gerald Pfeifer
545808ee66 * doc/install.texi: Use https for shop.fsf.org.
From-SVN: r236853
2016-05-28 19:44:13 +00:00
Jan Hubicka
c8cf746afb tree-ssa-loop-ivopts.c (estimated_stmt_executions_int): Use likely_max_stmt_executions_int.
* tree-ssa-loop-ivopts.c (estimated_stmt_executions_int): Use
	likely_max_stmt_executions_int.

From-SVN: r236852
2016-05-28 16:36:29 +00:00
Jan Hubicka
000220585d prefetch-5.c: Remove xfail.
* gcc.dg/tree-ssa/prefetch-5.c: Remove xfail.
	* tree-ssa-loop-prefetch.c (loop_prefetch_arrays): Use
	likely_max_stmt_executions_int.

From-SVN: r236851
2016-05-28 16:23:33 +00:00
Ville Voutilainen
c8419aca08 Update changelogs for revert of c++/69855.
From-SVN: r236850
2016-05-28 19:21:05 +03:00
Jan Hubicka
1428d9e013 profile.c (compute_branch_probabilities): Do not report hitrates here.
* profile.c (compute_branch_probabilities): Do not report hitrates
	here.
	(branch_prob): Report hitrates here.
	* predict.c (gimple_predict_edge): Do not assert profile status;
	fix formatting issues.

From-SVN: r236849
2016-05-28 16:20:06 +00:00