Commit Graph

146447 Commits

Author SHA1 Message Date
Jakub Jelinek 1f91747b1d re PR middle-end/71387 (ICE in emit_move_insn, at expr.c:3418 with -Og)
PR middle-end/71387
	* cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): If redirecting
	to noreturn e->callee->decl that has void return type and void
	arguments, adjust gimple_call_fntype and remove lhs even if it had
	previously addressable type.

	* g++.dg/opt/pr71387.C: New test.

From-SVN: r237053
2016-06-03 10:03:11 +02:00
Jeff Law 47b8392308 re PR tree-optimization/71328 (ice in verify_jump_thread)
PR tree-optimization/71328
	* tree-ssa-threadupdate.c (duplicate_thread_path): Fix off-by-one
	error when checking for a jump back onto the copied path.  */

	PR tree-optimization/71328
	* gcc.c-torture/compile/pr71328.c: New test.

From-SVN: r237052
2016-06-02 23:20:16 -06:00
Jerry DeLisle e96e5f4611 re PR fortran/52393 (I/O: "READ format" statement with parenthesed default-char-expr)
2016-06-02  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/52393
	* gfortran.dg/fmt_read_3.f90: Fix typo.
	* gfortran.dg/fmt_read_4.f90: New test.

From-SVN: r237051
2016-06-03 01:25:31 +00:00
GCC Administrator 80ea6aed5b Daily bump.
From-SVN: r237050
2016-06-03 00:16:16 +00:00
Paolo Carlini b872d7297d decl.c (xref_tag_1): Change pairs of errors to error + inform.
/cp
2016-06-02  Paolo Carlini  <paolo.carlini@oracle.com>

	* decl.c (xref_tag_1): Change pairs of errors to error + inform.
	(start_enum): Likewise.
	* parser.c (cp_parser_class_head): Likewise.

/testsuite
2016-06-02  Paolo Carlini  <paolo.carlini@oracle.com>

	* g++.dg/cpp0x/forw_enum10.C: Adjust for dg-message vs dg-error.
	* g++.dg/cpp0x/forw_enum6.C: Likewise.
	* g++.dg/cpp0x/forw_enum8.C: Likewise.
	* g++.dg/cpp0x/override2.C: Likewise.
	* g++.dg/parse/crash5.C: Likewise.
	* g++.dg/parse/error16.C: Likewise.
	* g++.dg/parse/error27.C: Likewise.
	* g++.dg/template/qualttp15.C: Likewise.
	* g++.dg/template/redecl4.C: Likewise.
	* g++.old-deja/g++.other/crash39.C: Likewise.
	* g++.old-deja/g++.other/struct1.C: Likewise.
	* g++.old-deja/g++.pt/m9a.C: Likewise.
	* g++.old-deja/g++.pt/memclass10.C: Likewise.

From-SVN: r237046
2016-06-02 23:10:33 +00:00
David Malcolm e29525d3df microblaze.c: fix warnings
gcc/ChangeLog:
	* config/microblaze/microblaze.c (get_branch_target): Add return
	NULL_RTX for the non-CALL_P case.
	(insert_wic_for_ilb_runout): Remove unused local "wic_addr1".
	(insert_wic): Remove unused local "j".

From-SVN: r237044
2016-06-02 19:27:10 +00:00
Jakub Jelinek 0633ee10ed re PR c++/71372 (C++ FE drops TREE_THIS_VOLATILE in cp_fold on all tcc_reference trees)
PR c++/71372
	* cp-gimplify.c (cp_fold): For INDIRECT_REF, if the folded expression
	is INDIRECT_REF or MEM_REF, copy over TREE_READONLY, TREE_SIDE_EFFECTS
	and TREE_THIS_VOLATILE flags.  For ARRAY_REF and ARRAY_RANGE_REF, copy
	over TREE_READONLY, TREE_SIDE_EFFECTS and TREE_THIS_VOLATILE flags
	to the newly built tree.

	* c-c++-common/pr71372.c: New test.

From-SVN: r237041
2016-06-02 18:36:04 +02:00
Martin Liska 4ae1c663d4 Fix display name of PRED_FORTRAN_FAIL_IO
* predict.def: Fix typo in PRED_FORTRAN_FAIL_IO display name.

From-SVN: r237040
2016-06-02 16:18:05 +00:00
Jakub Jelinek 0e535442f4 source_date_epoch-1.c (main): Test __DATE__ and __TIME__ strings with __builtin_strcmp instead of printf and...
* gcc.dg/cpp/source_date_epoch-1.c (main): Test __DATE__ and
	__TIME__ strings with __builtin_strcmp instead of printf and
	dg-output.

From-SVN: r237039
2016-06-02 18:17:15 +02:00
H.J. Lu 4a2353126e Update TARGET_FUNCTION_INCOMING_ARG documentation
On x86, interrupt handlers are only called by processors which push
interrupt data onto stack at the address where the normal return address
is.  Since interrupt handlers must access interrupt data via pointers so
that they can update interrupt data, the pointer argument is passed as
"argument pointer - word".

TARGET_FUNCTION_INCOMING_ARG defines how callee sees its argument.
Normally it returns REG, NULL, or CONST_INT.  This patch adds arbitrary
address computation based on hard register, which can be forced into a
register, to the list.

When copying an incoming argument onto stack, assign_parm_setup_stack
has:

if (argument in memory)
  copy argument in memory to stack
else
  move argument to stack

Since an arbitrary address computation may be passed as an argument, we
change it to:

if (argument in memory)
  copy argument in memory to stack
else
  {
    if (argument isn't in register)
      force argument into a register
    move argument to stack
  }

	* function.c (assign_parm_setup_stack): Force source into a
	register if needed.
	* target.def (function_incoming_arg): Update documentation to
	allow arbitrary address computation based on hard register.
	* doc/tm.texi: Regenerated.

Co-Authored-By: Julia Koval <julia.koval@intel.com>

From-SVN: r237037
2016-06-02 06:46:20 -07:00
Martin Liska f3c5ecc2b9 Fix first match heuristics
* predict.c (combine_predictions_for_bb): Fix first match in
	cases where a first predictor contains more than one occurence
	in list of predictors.  Take the best value in such case.
	* gcc.dg/predict-9.c: New test.

From-SVN: r237036
2016-06-02 12:51:57 +00:00
Jakub Jelinek a91807c5fc gcc-dg.exp (cleanup-after-saved-dg-test): Add missing global set_compiler_env_var and global saved_compiler_env_var.
* lib/gcc-dg.exp (cleanup-after-saved-dg-test): Add missing
	global set_compiler_env_var and global saved_compiler_env_var.

From-SVN: r237035
2016-06-02 14:34:42 +02:00
Kyrylo Tkachov b5bd197890 [rtlanal] Fix rtl-optimization/71295
PR rtl-optimization/71295
	* rtlanal.c (subreg_get_info): If taking a subreg at the requested
	offset would go over the size of the inner mode reject it.

	* gcc.c-torture/compile/pr71295.c: New test.

From-SVN: r237034
2016-06-02 12:26:42 +00:00
Aaron Conole 8aa5bdd61e On behalf of Aaron Conole <aconole@redhat.com>
On behalf of  Aaron Conole  <aconole@redhat.com>
	* libgcov-driver-system.c (__gcov_error_file): New.
	(get_gcov_error_file): New.
	(gcov_error): Use and set __gcov_error_file.
	(gcov_error_exit): New.
	* libgcov-driver.c (gcov_exit): Call gcov_error_exit.

From-SVN: r237033
2016-06-02 12:22:01 +00:00
Jakub Jelinek 930ebd0e2a sse.md (*vec_concatv4si): Use v=v,v instead of x=x,x and v=v,m instead of x=x,m.
* config/i386/sse.md (*vec_concatv4si): Use v=v,v instead of
	x=x,x and v=v,m instead of x=x,m.

	* gcc.target/i386/avx512vl-concatv4si-1.c: New test.

From-SVN: r237031
2016-06-02 13:02:26 +02:00
Jakub Jelinek 1e021dc33a sse.md (*vec_concatv2si_sse4_1): Add avx512dq v=Yv,rm alternative.
* config/i386/sse.md (*vec_concatv2si_sse4_1): Add avx512dq v=Yv,rm
	alternative.  Change x=x,x alternative to v=Yv,Yv and x=rm,C
	alternative to v=rm,C.

	* gcc.target/i386/avx512dq-concatv2si-1.c: New test.
	* gcc.target/i386/avx512vl-concatv2si-1.c: New test.

From-SVN: r237030
2016-06-02 13:01:31 +02:00
Jakub Jelinek b93b1475cd sse.md (*vec_concatv2di): Add x86_avx512dq v=Yv,rm alternative.
* config/i386/sse.md (*vec_concatv2di): Add x86_avx512dq v=Yv,rm
	alternative.  Change x=xm,C alternative to v=vm,C, x=x,x alternative
	to v=Yv,Yv and x=x,m to v=v,m.  Use maybe_evex prefix attribute
	instead of vex for the last two above mentioned alternatives.

	* gcc.target/i386/avx512dq-concatv2di-1.c: New test.
	* gcc.target/i386/avx512vl-concatv2di-1.c: New test.
	* gcc.target/i386/sse2-init-v2di-2.c: Adjust expected vec_concatv2di
	alternative number.

From-SVN: r237028
2016-06-02 11:43:52 +02:00
Kyrylo Tkachov 114e816e3f Fix fallout from: [ARM] PR target/70830: Avoid POP-{reglist}^ when returning from interrupt handlers
PR target/70830
	* config/arm/arm.c (arm_output_multireg_pop): Guard "pop" on update.

From-SVN: r237027
2016-06-02 08:54:15 +00:00
Segher Boessenkool 521466e5cc rs6000: Correct the "length" attribute for trunctddd2
* config/rs6000/dfp.md (trunctddd2): Correct the "length" attribute.

From-SVN: r237026
2016-06-02 09:19:07 +02:00
GCC Administrator 60fa9d0a3d Daily bump.
From-SVN: r237025
2016-06-02 00:16:17 +00:00
Michael Meissner b3b4f57d1a Fix ChangeLog entry:
2016-05-24  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* config/rs6000/altivec.md (VNEG iterator): New iterator for
	VNEGW/VNEGD instructions.
	(p9_neg<mode>2): New insns for ISA 3.0 VNEGW/VNEGD.
	(neg<mode>2): Add expander for V2DImode added in ISA 2.07, and
	support for ISA 3.0 VNEGW/VNEGD instructions.

From-SVN: r237020
2016-06-01 22:24:29 +00:00
David Malcolm c38151e46e rl78.c: fix warning
gcc/ChangeLog:
	* config/rl78/rl78.c (rl78_expand_prologue): Convert local
	from int to unsigned.

From-SVN: r237017
2016-06-01 21:38:46 +00:00
Cesar Philippidis 3616a8c52e re PR c/70688 (bogus OpenACC data clause errors involving reductions)
PR c/70688
	* pr70688.c: New file.

From-SVN: r237011
2016-06-01 13:37:44 -07:00
Matthias Klose 880ce6a8a4 libtool-version: Bump soversion.
2016-06-01  Matthias Klose  <doko@ubuntu.com>

        * libtool-version: Bump soversion.

From-SVN: r237007
2016-06-01 20:10:48 +00:00
Michael Meissner 58f2fb5ca1 re PR target/71186 (PowerPC64: Autovectorised code hits ICE with -O3 -mpower9 -mlra)
[gcc]
2016-05-31  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/71186
	* config/rs6000/vsx.md (xxspltib_<mode>_nosplit): Add alternatives
	for loading up all 0's or all 1's.

[gcc/testsuite]
2016-05-31  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/71186
	* gcc.target/powerpc/pr71186.c: New test.

Index: gcc/config/rs6000/vsx.md
===================================================================
--- gcc/config/rs6000/vsx.md	(.../svn+ssh://meissner@gcc.gnu.org/svn/gcc/trunk/gcc/config/rs6000)	(revision 236935)
+++ gcc/config/rs6000/vsx.md	(.../gcc/config/rs6000)	(working copy)
@@ -776,8 +776,8 @@ (define_insn "xxspltib_v16qi"
   [(set_attr "type" "vecperm")])
 
 (define_insn "xxspltib_<mode>_nosplit"
-  [(set (match_operand:VSINT_842 0 "vsx_register_operand" "=wa")
-	(match_operand:VSINT_842 1 "xxspltib_constant_nosplit" "wE"))]
+  [(set (match_operand:VSINT_842 0 "vsx_register_operand" "=wa,wa")
+	(match_operand:VSINT_842 1 "xxspltib_constant_nosplit" "jwM,wE"))]
   "TARGET_P9_VECTOR"
 {
   rtx op1 = operands[1];

[gcc]
2016-05-31  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* config/rs6000/vsx.md (vsx_splat_<mode>, V2DI/V2DF): Simplify
	alternatives, eliminating preferred register class.  Add support
	for the MTVSRDD instruction in ISA 3.0.
	(vsx_splat_v4si_internal): Use splat_input_operand instead of
	reg_or_indexed_operand.
	(vsx_splat_v4sf_internal): Likewise.

[gcc/testsuite]
2016-05-31  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* gcc.target/powerpc/p9-splat-4.c: New test.

From-SVN: r237006
2016-06-01 20:09:35 +00:00
Jerry DeLisle 4731c9f025 re PR fortran/52393 (I/O: "READ format" statement with parenthesed default-char-expr)
2016-06-01  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/52393
	* io.c (match_io): For READ, try to match a default character
	expression. If found, set the dt format expression to this,
	otherwise go back and try control list.

	PR fortran/52393
	* gfortran.dg/fmt_read_3.f90: New test.

From-SVN: r237003
2016-06-01 17:06:50 +00:00
Thomas Preud'homme 042dee3e3b sourcebuild.texi (arm_acq_rel): Document new effective target.
2016-06-01  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    * doc/sourcebuild.texi (arm_acq_rel): Document new effective target.

    gcc/testsuite/
    * lib/target-supports.exp (check_effective_target_arm_acq_rel): New
    procedure.

From-SVN: r237002
2016-06-01 16:54:18 +00:00
Eduard Sanou 15c98b2e0d c-common.c (get_source_date_epoch): Rename to cb_get_source_date_epoch.
gcc/c-family/ChangeLog:

2016-05-13  Eduard Sanou  <dhole@openmailbox.org>

	* c-common.c (get_source_date_epoch): Rename to
	cb_get_source_date_epoch.
	* c-common.c (cb_get_source_date_epoch): Use a single generic erorr
	message when the parsing fails.  Use error_at instead of fatal_error.
	* c-common.h (get_source_date_epoch): Rename to
	cb_get_source_date_epoch.
	* c-common.h (cb_get_source_date_epoch): Prototype.
	* c-common.h (MAX_SOURCE_DATE_EPOCH): Define.
	* c-common.h (c_omp_region_type): Remove trailing comma.
	* c-lex.c (init_c_lex): Set cb->get_source_date_epoch callback.
	* c-lex.c (c_lex_with_flags): Remove initialization of
	pfile->source_date_epoch.

gcc/ChangeLog:

2016-05-13  Eduard Sanou  <dhole@openmailbox.org>

	* doc/cppenv.texi: Note that the `%s` in `date` is a non-standard
	extension.
	* gcc.c (driver_handle_option): Call set_source_date_epoch_envvar.
	* gcc.c (set_source_date_epoch_envvar): New function, sets
	the SOURCE_DATE_EPOCH environment variable to the current time.

gcc/testsuite/ChangeLog:

2016-05-13  Eduard Sanou  <dhole@openmailbox.org>

	* gcc.dg/cpp/source_date_epoch-1.c: New file, test the proper
	behaviour of the macros __DATE__ and __TIME__ when SOURCE_DATE_EPOCH
	env var is set.
	* gcc.dg/cpp/source_date_epoch-2.c: New file, test the error output
	when parsing the SOURCE_DATE_EPOCH env var, and make sure it is only
	shown once.
	* lib/gcc-dg.exp (dg-set-compiler-env-var): New function, set env vars
	during compilation.
	* lib/gcc-dg.exp (restore-compiler-env-var): New function, restore env
	vars set by dg-set-compiler-env-var.

libcpp/ChangeLog:

2016-05-13  Eduard Sanou  <dhole@openmailbox.org>

	* include/cpplib.h (cpp_callbacks): Add get_source_date_epoch
	callback.
	* include/cpplib.h (cpp_init_source_date_epoch): Remove prototype.
	* init.c (cpp_init_source_date_epoch): Remove function.
	* init.c (cpp_create_reader): Initialize pfile->source_date_epoch.
	* internal.h (cpp_reader): Extend comment about source_date_epoch.
	* macro.c (_cpp_builtin_macro_text): Use get_source_date_epoch
	callback only once, read pfile->source_date_epoch on future passes.
	Check that get_source_date_epoch callback is not NULL.

From-SVN: r237001
2016-06-01 16:42:41 +00:00
Eric Botcazou de482e91f1 tree-vect-loop.c (vect_determine_vectorization_factor): Also compute the factor for live Phi nodes.
* tree-vect-loop.c (vect_determine_vectorization_factor): Also compute
	the factor for live Phi nodes.

From-SVN: r236999
2016-06-01 16:06:10 +00:00
Jan Hubicka ae7a747271 loop-dolop.c (doloop_optimize): Us likely max iteration bound.
* loop-dolop.c (doloop_optimize): Us likely max iteration bound.
	* tree-parloops.c (parallelize_loops): likewise.
	* tree-ssa-loop-unswitch.c (tree_unswitch_single_loop,
	tree_unswitch_outer_loop): likewise.

From-SVN: r236998
2016-06-01 15:26:46 +00:00
Paul Thomas 6442a6f43b re PR fortran/71156 (PURE interface/definition inconsistency: accepts invalid, rejects valid)
2016-06-01  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/71156
	* decl.c (copy_prefix): Add checks that the module procedure
	declaration prefixes are compliant with the interface. Invert
	order of existing elemental and pure checks.
	* resolve.c (resolve_fl_procedure): Invert order of elemental
	and pure errors.

2016-06-01  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/71156
	* gfortran.dg/submodule_14.f08: Add missing recursive prefix
	to the module procedure declaration.
	* gfortran.dg/submodule_16.f08: New test.

From-SVN: r236996
2016-06-01 14:30:00 +00:00
Jakub Jelinek ab62397a1b re PR middle-end/71371 (ICE with OpenMP taskloop and addressable iterator)
PR middle-end/71371
	* gimplify.c (gimplify_omp_for): Temporarily clear gimplify_omp_ctxp
	around creation of the temporary.

	* c-c++-common/gomp/pr71371.c: New test.

From-SVN: r236994
2016-06-01 16:24:02 +02:00
Richard Biener b66af6ed30 re PR tree-optimization/71366 (ICE on valid code at -O3 on x86_64-linux-gnu: Segmentation fault)
2016-06-01  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/71366
	* tree-ssa-loop-ivcanon.c (edges_to_remove): New global.
	(unloop_loops): Move removing edges here ...
	(try_unroll_loop_completely): ... from here.
	(try_peel_loop): ... and here.
	(tree_unroll_loops_completely_1): Track parent loops via
	bitmap of header BBs.
	(tree_unroll_loops_completely): Adjust for that.

	* gcc.dg/torture/pr71366-1.c: New testcase.
	* gcc.dg/torture/pr71366-2.c: Likewise.

From-SVN: r236993
2016-06-01 14:05:22 +00:00
Kelvin Nilsen e342b9d826 altivec.h (vec_slv): New macro.
gcc/ChangeLog:

2016-06-01  Kelvin Nilsen  <kelvin@gcc.gnu.org>

	* config/rs6000/altivec.h (vec_slv): New macro.
	(vec_srv): New macro.
	* config/rs6000/altivec.md (UNSPEC_VSLV): New value.
	(UNSPEC_VSRV): New value.
	(vslv): New insn.
	(vsrv): New insn.
	* config/rs6000/rs6000-builtin.def (vslv): New builtin definition.
	(vsrv): New builtin definition.
	* config/rs6000/rs6000-c.c (P9V_BUILTIN_VSLV): Macro expansion to
	define argument types for new builtin.
	(P9V_BUILTIN_VSRV): Macro expansion to define argument types for
	new builtin.
	* doc/extend.texi: Document the new vec_vslv and vec_srv built-in
	functions. 

gcc/testsuite/ChangeLog:

2016-06-01  Kelvin Nilsen  <kelvin@gcc.gnu.org>

	* gcc.target/powerpc/vslv-0.c: New test.
	* gcc.target/powerpc/vslv-1.c: New test.
	* gcc.target/powerpc/vsrv-0.c: New test.
	* gcc.target/powerpc/vsrv-1.c: New test.

From-SVN: r236992
2016-06-01 14:01:10 +00:00
Uros Bizjak 4bdf739d71 re PR target/67310 ([PATCH] gcc 4.8.4 fails to compile with -march=native on VIA nano CPU)
PR target/67310
	* config/i386/driver-i386.c (host_detect_local_cpu): Correctly
	detect processor family for signature_CENTAUR_ebx.
	<case PROCESSOR_I486>: Pass c3, winchip2 or winchip-c6 for
	signature_CENTAUR_ebx.
	<case PROCESSOR _PENTIUMPRO>: Pass c3-2 for signature_CENTAUR_ebx.
	<default>: Pass x86-64 for has_longmode.


Co-Authored-By: Jocelyn Mayer <l_indien@magic.fr>

From-SVN: r236991
2016-06-01 15:44:37 +02:00
Nathan Sidwell 721547cd0d nvptx.c (nvptx_assemble_undefined_decl): Reject undefined weak.
* config/nvptx/nvptx.c (nvptx_assemble_undefined_decl): Reject
	undefined weak.

	testsuite/
	* c-c++-common/torture/pr57945.c: Add expected PTX error.
	* gcc.target/nvptx/weak.c: New.

From-SVN: r236990
2016-06-01 13:41:19 +00:00
Richard Biener fa2c903458 re PR tree-optimization/71261 (Trunk GCC hangs on knl and broadwell targets)
2016-06-01  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/71261
	* tree-vect-patterns.c (check_bool_pattern): Gather a hash-set
	of stmts successfully put in the bool pattern.  Remove
	single-use restriction.
	(adjust_bool_pattern_cast): Add cast at the use site via the
	pattern def sequence.
	(adjust_bool_pattern): Remove recursion, maintain a hash-map
	of patterned defs.  Use the pattern def seqence instead of
	multiple independent patterns.
	(sort_after_uid): New qsort compare function.
	(adjust_bool_stmts): New function to process stmts in the bool
	pattern in IL order.
	(vect_recog_bool_pattern): Adjust.
	* tree-if-conv.c (ifcvt_split_def_stmt): Remove.
	(ifcvt_walk_pattern_tree): Likewise.
	(stmt_is_root_of_bool_pattern): Likewise.
	(ifcvt_repair_bool_pattern): Likewise.
	(tree_if_conversion): Do not call ifcvt_repair_bool_pattern.

	* gcc.dg/torture/vect-bool-1.c: New testcase.

From-SVN: r236989
2016-06-01 13:08:24 +00:00
Jakub Jelinek 3e32893c0b parse.c (case_decl): Move ST_OMP_* to ...
* parse.c (case_decl): Move ST_OMP_* to ...
	(case_omp_decl): ... here, new macro.
	(verify_st_order): For case_omp_decl, complain about
	p->state >= ORDER_EXEC, but don't change p->state otherwise.

	* gfortran.dg/gomp/order-1.f90: New test.
	* gfortran.dg/gomp/order-2.f90: New test.

From-SVN: r236987
2016-06-01 14:21:38 +02:00
Jan Hubicka 8c38360082 loop-unroll.c (decide_unroll_constant_iterations, [...]): Use likely upper bounds.
* loop-unroll.c (decide_unroll_constant_iterations,
	decide_unroll_runtime_iterations, decide_unroll_stupid): Use
	likely upper bounds.
	* loop-iv.c (find_simple_exit): Dump likely upper bounds.

	* gcc.dg/unroll-6.c: Update template.
	* gcc.dg/unroll-7.c: New testcase.
	* gcc.dg/unroll-8.c: New testcase.

From-SVN: r236986
2016-06-01 12:01:17 +00:00
Thomas Schwinge 268143a480 Remove the unused OMP_CLAUSE_DEVICE_RESIDENT
gcc/
	* tree-core.h (enum omp_clause_code): Remove
	OMP_CLAUSE_DEVICE_RESIDENT.  Adjust all users.

From-SVN: r236985
2016-06-01 13:55:35 +02:00
Kyrylo Tkachov 4272cd33e1 [ARM] Use proper output modifier for DImode register in store exclusive patterns
* config/arm/sync.md (arm_store_exclusive<mode>):
	Use 'H' output modifier on operands[2] rather than creating a new
	entry in out-of-bounds memory of the operands array.
	(arm_store_release_exclusivedi): Likewise.

From-SVN: r236984
2016-06-01 10:44:07 +00:00
Kyrylo Tkachov 39fa4aec86 [ARM] Tie operand 1 to operand 0 in AESMC pattern when fusing AES/AESMC
* config/arm/arm.c (arm_fusion_enabled_p): New function.
	* config/arm/arm-protos.h (arm_fusion_enabled_p): Declare prototype.
	* config/arm/crypto.md (crypto_<crypto_pattern>, CRYPTO_UNARY):
	Add "=w,0" alternative.  Enable it when AES/AESMC fusion is enabled.

From-SVN: r236982
2016-06-01 10:37:27 +00:00
Eric Botcazou a0dfeef505 tree-vect-loop.c (vect_determine_vectorization_factor): Also take into account live statements for mask producers.
* tree-vect-loop.c (vect_determine_vectorization_factor): Also take
	into account live statements for mask producers.

From-SVN: r236981
2016-06-01 10:35:30 +00:00
Richard Biener 4618c45320 re PR tree-optimization/71311 (spec2006 test case 416.gamess fails since r235817)
2016-06-01  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/71311
	* match.pd (@0 < @1 && @0 < @2 -> @0 < min(@1,@2)): Add :c and
	restrict to non-INTEGER_CST @0.

From-SVN: r236980
2016-06-01 10:33:35 +00:00
Richard Biener a8e9f9a310 match.pd ((A & B) - (A & ~B) -> B - (A ^ B)): Add missing :c.
2016-06-01  Richard Biener  <rguenther@suse.de>

	* match.pd ((A & B) - (A & ~B) -> B - (A ^ B)): Add missing :c.
	(relational patterns): Use :c to avoid pattern duplications.

From-SVN: r236979
2016-06-01 10:31:30 +00:00
Paolo Carlini 48de570121 re PR c++/66635 (g++ ICE when compiling constexpr code with comma operator)
2016-06-01  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/66635
	* g++.dg/cpp0x/constexpr-ice16.C: New.

From-SVN: r236978
2016-06-01 09:48:05 +00:00
Richard Biener e04d2a35c8 genmatch.c (comparison_code_p): New predicate.
2016-06-01  Richard Biener  <rguenther@suse.de>

	* genmatch.c (comparison_code_p): New predicate.
	(swap_tree_comparison): New function.
	(commutate): Add for_vec parameter to append new for entries.
	Support commutating relational operators by swapping it alongside
	operands.
	(lower_commutative): Adjust.
	(dt_simplify::gen): Do not pass artificial operators to gen
	functions.
	(decision_tree::gen): Do not add artificial operators as parameters.
	(parser::parse_expr): Verify operator commutativity when :c is
	applied.  Allow :C to override this.
	* match.pd: Adjust patterns to use :C instead of :c where required.

From-SVN: r236977
2016-06-01 09:00:57 +00:00
Simon Wright e4b631a5a8 re PR ada/71358 (GNAT.Command_Line.Getopt fails if there are no switches)
PR ada/71358
	* g-comlin.adb (Display_Section_Help): Do not dereference
	Config.Switches if it's null.
	(Getopt): Likewise.

From-SVN: r236975
2016-06-01 07:43:57 +00:00
Patrick Palka 827cf695d9 re PR tree-optimization/71314 (test case gcc.dg/tree-ssa/ssa-thread-14.c fails starting with its introduction in r235653)
Fix PR tree-optimization/71314

gcc/testsuite/ChangeLog:

	PR tree-optimization/71314
	* gcc.dg/tree-ssa/ssa-thread-14.c: Adjust target selector.  Pass
	-mbranch-cost=2.

From-SVN: r236974
2016-06-01 02:37:50 +00:00
Patrick Palka ff66f6e835 re PR tree-optimization/71077 (gcc -lto raises ICE)
Fix PR tree-optimization/71077

gcc/ChangeLog:

	PR tree-optimization/71077
	* tree-ssa-threadedge.c (simplify_control_stmt_condition_1): In
	the combining step, use boolean_false_node and boolean_true_node
	as the designated false/true return values.

gcc/testsuite/ChangeLog:

	PR tree-optimization/71077
	* gcc.dg/tree-ssa/pr71077.c: New test.

From-SVN: r236973
2016-06-01 02:36:27 +00:00