156769 Commits

Author SHA1 Message Date
Jakub Jelinek
8a8e744eb2 re PR tree-optimization/82381 (internal compiler error: qsort checking failed)
PR tree-optimization/82381
	* tree-ssa-reassoc.c (sort_by_operand_rank): Check for different
	oeN->rank first.  Return 1 or -1 if one op is SSA_NAME and the other
	is not.

From-SVN: r253396
2017-10-04 09:52:26 +02:00
Jakub Jelinek
5c38262d95 re PR tree-optimization/82374 (#pragma GCC optimize is not applied to openmp-generated functions)
PR tree-optimization/82374
	* omp-low.c (create_omp_child_function): Copy DECL_ATTRIBUTES,
	DECL_FUNCTION_SPECIFIC_OPTIMIZATION,
	DECL_FUNCTION_SPECIFIC_TARGET and DECL_FUNCTION_VERSIONED from
	current_function_decl to the new decl.

	* gcc.dg/gomp/pr82374.c: New test.

From-SVN: r253395
2017-10-04 09:50:38 +02:00
Richard Biener
21375f0ded id-17.f: For ilp32 allow graphite codegen errors and scan for one.
2017-10-04  Richard Biener  <rguenther@suse.de>

	* gfortran.dg/graphite/id-17.f: For ilp32 allow graphite codegen
	errors and scan for one.
	* gfortran.dg/graphite/id-19.f: Likewise.
	* gfortran.dg/graphite/pr29832.f90: Likewise.
	* gfortran.dg/graphite/pr42326-1.f90: Likewise.
	* gfortran.dg/graphite/pr42326.f90: Likewise.
	* gfortran.dg/graphite/pr68550-2.f90: Likewise.
	* gfortran.dg/graphite/run-id-2.f90: Likewise.
	* gfortran.dg/graphite/run-id-3.f90: Likewise.
	* gfortran.dg/graphite/pr42393-1.f90: Dump graphite.

From-SVN: r253394
2017-10-04 07:43:54 +00:00
GCC Administrator
86a865a0a1 Daily bump.
From-SVN: r253393
2017-10-04 00:16:21 +00:00
Michael Meissner
944e08418b rs6000-builtin.def (BU_FLOAT128_2_HW): Define new helper macro for IEEE float128 hardware built-in functions.
[gcc]
2017-10-03  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* config/rs6000/rs6000-builtin.def (BU_FLOAT128_2_HW): Define new
	helper macro for IEEE float128 hardware built-in functions.
	(SQRTF128_ODD): Add built-in functions with the round-to-odd
	semantics.
	(TRUNCF128_ODD): Likewise.
	(ADDF128_ODD): Likewise.
	(SUBF128_ODD): Likewise.
	(MULF128_ODD): Likewise.
	(DIVF128_ODD): Likewise.
	(FMAF128_ODD): Likewise.
	* config/rs6000/rs6000.md (UNSPEC_ROUND_TO_ODD): Rename to
	UNSPEC_TRUNC_ROUND_TO_ODD.
	(UNSPEC_TRUNC_ROUND_TO_ODD): Likewise.
	(UNSPEC_ADD_ROUND_TO_ODD): New unspec codes for the IEEE 128-bit
	floating point round to odd instructions.
	(UNSPEC_SUB_ROUND_TO_ODD): Likewise.
	(UNSPEC_MUL_ROUND_TO_ODD): Likewise.
	(UNSPEC_DIV_ROUND_TO_ODD): Likewise.
	(UNSPEC_FMA_ROUND_TO_ODD): Likewise.
	(UNSPEC_SQRT_ROUND_TO_ODD): Likewise.
	(trunc<mode>sf2_hw): Change the truncate with round to odd
	expansion to use UNSPEC_TRUNC_ROUND_TO_ODD.
	(add<mode>3_odd): Add insns for IEEE 128-bit floating point round
	to odd hardware instructions.
	(sub<mode>3_odd): Likewise.
	(mul<mode>3_odd): Likewise.
	(div<mode>3_odd): Likewise.
	(sqrt<mode>2_odd): Likewise.
	(fma<mode>4_odd): Likewise.
	(fms<mode>4_odd): Likewise.
	(nfma<mode>4_odd): Likewise.
	(nfms<mode>4_odd): Likewise.
	(trunc<mode>df2_odd): Change the truncate with round to odd
	expansion to use UNSPEC_TRUNC_ROUND_TO_ODD.  Add a generator
	function.
	* doc/extend.texi (PowerPC built-in functions): Update documentation
	for existing IEEE float128-bit built-in functions.  Add built-in
	functions that generate the IEEE 128-bit floating point round to
	odd instructions.

[gcc/testsuite]
2017-10-03  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* gcc.target/powerpc/float128-odd.c: New test.

From-SVN: r253389
2017-10-03 23:08:16 +00:00
Paolo Carlini
5bd8ff41eb re PR c++/70343 (internal compiler error: in tsubst_copy, wrong code with lambda in template fn)
2017-10-03  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/70343
	* g++.dg/cpp0x/lambda/lambda-70343.C: New.

From-SVN: r253388
2017-10-03 21:15:56 +00:00
Tony Reix
fbdc37805a Import from libffi master repository.
2017-08-31  Tony Reix  <tony.reix@atos.net>

        * src/powerpc/aix.S (ffi_call_AIX): Add debugging pseudo-op and
        labels for EH.
        (ffi_call_go_AIX): New function.
        (_GLOBAL__F_libffi_src_powerpc_aix): New EH frame.
        * src/powerpc/aix_closure.S (ffi_closure_ASM): Add debugging
        pseudo-op and labels for EH.
        (ffi_go_closure_ASM): New function.
        (_GLOBAL__F_libffi_src_powerpc_aix_closure): New EH frame.
        * src/powrpc/ffi_darwin.c (ffi_call_go): New function.
        (ffi_prep_go_closure): New function.
        (ffi_closure_helper_common): Rename from ffi_closure_helper_DARWIN.
        (ffi_closure_helper_DARWIN): Call ffi_closure_helper_common.
        (ffi_go_closure_helper_DARWIN): Call ffi_closure_helper_common.
        * src/powerpc/ffitarget.h (FFI_GO_CLOSURES): Define.

From-SVN: r253386
2017-10-03 14:26:31 -04:00
Jeff Law
11e3d45c7e re PR target/82358 (i386/stack-check-11.c fail)
PR target/82358
	* gcc.target/i386/stack-check-11.c: Use -mtune=generic.

From-SVN: r253385
2017-10-03 11:09:54 -06:00
Segher Boessenkool
a8ccdfa8ea simplify-rtx: Remove non-simplifying simplification (PR77729)
If we have (X&C1)|C2 simplify_binary_operation_1 makes C1 as small as
possible.  This makes worse code in common cases like when the AND with
C1 is from a zero-extension.  This patch fixes it by removing this
transformation (twice).


	PR rtl-optimization/77729
	* simplify-rtx.c (simplify_binary_operation_1): Delete the (X&C1)|C2
	to (X&(C1&~C2))|C2 transformations.

From-SVN: r253384
2017-10-03 18:02:38 +02:00
Henry Linjamäki
9c53f040cb [BRIGFE] Fix (more) crash with calls with more than 4 args.
It missed a reference which is required because vector expansion
can move the object to another location.

From-SVN: r253382
2017-10-03 15:16:34 +00:00
Thomas Koenig
4f8d1d3268 io.c (match_wait_element): Correctly match END and EOR tags.
2017-10-03  Thomas Koenig  <tkoenig@gcc.gnu.org>

	* io.c (match_wait_element): Correctly match END and EOR tags.
	* dump-parse-tree.c (show_code_node): Handle EXEC_WAIT.

From-SVN: r253381
2017-10-03 13:49:39 +00:00
Martin Jambor
3b7511f921 [PR 82363] Fix thinko in SRA subaccess propagation
2017-10-03  Martin Jambor  <mjambor@suse.cz>

	PR tree-optimization/82363
	* tree-sra.c (propagate_subaccesses_across_link): In unrecoverable
	mismatch, mark lacc written regardless of racc.

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

From-SVN: r253380
2017-10-03 13:43:45 +02:00
Jakub Jelinek
33ff5dda9f re PR tree-optimization/82381 (internal compiler error: qsort checking failed)
PR tree-optimization/82381
	* tree-ssa-reassoc.c (sort_by_operand_rank): Don't check
	stmt_to_insert nor wheather SSA_NAMEs are default defs.
	Return 1 or -1 if one of bba and bbb is NULL. If bb_rank is equal,
	fallthrough into reassoc_stmt_dominates_stmt_p.

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

From-SVN: r253379
2017-10-03 13:24:39 +02:00
Jakub Jelinek
bb81a576f2 re PR target/82386 (internal compiler error: Segmentation fault on 32-bit powerpc BE targets)
PR target/82386
	* combine.c (combine_instructions): Don't combine in unreachable
	basic blocks.

	* gcc.dg/pr82386.c: New test.

From-SVN: r253378
2017-10-03 11:49:37 +02:00
Ian Lance Taylor
8398c1dfe2 ztest.c: #include <errno.h>.
* ztest.c: #include <errno.h>.
	(TEST_TIMING): Don't define, don't test.
	(xclock_gettime, xclockid_t): Define if !HAVE_CLOCK_GETTIME.
	(clockid_t, clock_gettime, CLOCK_REALTIME): Likewise.
	(ZLIB_CLOCK_GETTIME_ARG): Define.
	* configure.ac: Change clock_gettime_link to CLOCK_GETTIME_LINK.
	* Makefile.am: Likewise.
	* configure, Makefile.in: Rebuild.

From-SVN: r253377
2017-10-03 02:27:33 +00:00
GCC Administrator
0adaaf009b Daily bump.
From-SVN: r253376
2017-10-03 00:16:16 +00:00
Martin Sebor
bc437a5699 Clean up more fallout from r252976.
libatomic/ChangeLog:
2017-10-02  Martin Sebor  <msebor@redhat.com>

	PR c/81854
	* acinclude.m4 (LIBAT_CHECK_IFUNC): Have ifunc resolver return
	a function pointer rather than void* to avoid GCC 8 warnings.
	* configure: Regenerate.
	* libatomic_i.h: Declare ifunc resolvers to return function
	pointers rather than void*.

From-SVN: r253372
2017-10-02 17:57:19 -06:00
Jakub Jelinek
9a741aee62 charconv (__unsigned_least_t): Fix number of closing >s for !_GLIBCXX_USE_INT128.
* include/std/charconv (__unsigned_least_t): Fix number of closing >s for
	!_GLIBCXX_USE_INT128.

From-SVN: r253371
2017-10-03 01:28:54 +02:00
Paolo Carlini
5aab83d53f re PR c++/70570 (Assembler error "symbol already defined" from nested lambdas and function-static variable)
2017-10-02  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/70570
	* g++.dg/cpp1y/lambda-generic-70570.C: New.

From-SVN: r253370
2017-10-02 22:21:16 +00:00
Paolo Carlini
70c894ea64 re PR c++/79590 (ICE (internal compiler error) in nothrow_spec_p with generic lambda and noexcept(noexcept(...)) expression)
2017-10-02  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/79590
	* g++.dg/cpp1y/lambda-generic-noexcept1.C: New.

From-SVN: r253369
2017-10-02 22:02:03 +00:00
Paolo Carlini
603841eb29 re PR c++/79005 (Use of a captured variable within nested generic lambdas provokes internal compiler error.)
2017-10-02  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/79005
	* g++.dg/cpp1y/lambda-generic-79005.C: New.

From-SVN: r253368
2017-10-02 21:44:55 +00:00
Eric Botcazou
de87f2d04a re PR ada/82384 (s-taprop.adb failed to compile for x32)
PR ada/82384
	* libgnarl/s-linux__x32.ads (suseconds_t): New subtype.
	(time_t): Change from derived type to subtype.
	(timeval): Use suseconds_t for tv_usec.
	* libgnarl/s-osinte__x32.adb (To_Timespec): Remove use type clause.

From-SVN: r253366
2017-10-02 19:38:06 +00:00
Paul Thomas
da3723a8d5 re PR fortran/82312 ([OOP] Pointer assignment to component of class variable results wrong vptr for the variable.)
2017-10-02  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/82312
	* resolve.c (gfc_resolve_code): Simplify condition for class
	pointer assignments becoming regular assignments by asserting
	that only class valued targets are permitted.
	* trans-expr.c (trans_class_pointer_fcn): New function using a
	block of code from gfc_trans_pointer_assignment.
	(gfc_trans_pointer_assignment): Call the new function. Tidy up
	a minor whitespace issue.

2017-10-02  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/82312
	* gfortran.dg/typebound_proc_36.f90 : New test.

From-SVN: r253362
2017-10-02 18:17:39 +00:00
Peter Bergner
20a7e14aad re PR target/80210 (ICE in in extract_insn, at recog.c:2311 on ppc64 for with __builtin_pow)
gcc/
	PR target/80210
	* config/rs6000/rs6000.c (rs6000_option_override_internal): Rewrite
	function to not use the have_cpu variable.  Do not set cpu_index,
	rs6000_cpu_index or rs6000_tune_index if we end up using TARGET_DEFAULT
	or the default cpu.
	(rs6000_valid_attribute_p): Remove duplicate initializations of
	old_optimize and func_optimize.
	(rs6000_pragma_target_parse): Call rs6000_activate_target_options ().
	(rs6000_activate_target_options): Make global.
	* config/rs6000/rs6000-protos.h (rs6000_activate_target_options): Add
	prototype.

gcc/testsuite/
	PR target/80210
	* gcc.target/powerpc/pr80210-2.c: New test.

From-SVN: r253358
2017-10-02 11:56:58 -05:00
Jakub Jelinek
476dec785d tree-dfa.c (get_ref_base_and_extent): Set *pmax_size to -1 if *poffset + *pmax_size overflows in HOST_WIDE_INT.
* tree-dfa.c (get_ref_base_and_extent): Set *pmax_size to -1
	if *poffset + *pmax_size overflows in HOST_WIDE_INT.
	Set *poffset to 0 and *psize and *pmax_size to -1 if
	*poffset + *psize overflows in HOST_WIDE_INT.

	* gcc.dg/pr82389.c: New test.

From-SVN: r253357
2017-10-02 17:48:55 +02:00
Jakub Jelinek
f240a23075 re PR tree-optimization/82387 (wrong code at -O1 and -Os on x86_64-linux-gnu in 64-bit mode)
PR tree-optimization/82387
	PR tree-optimization/82388
	PR tree-optimization/82389
	* tree-ssa-dse.c (dse_classify_store): Test byte_tracking_enabled
	instead of live_bytes non-NULL.

	* gcc.c-torture/compile/pr82389.c: New test.
	* gcc.c-torture/execute/pr82387.c: New test.
	* gcc.c-torture/execute/pr82388.c: New test.

From-SVN: r253356
2017-10-02 17:44:10 +02:00
Jonathan Wakely
804b7cc438 C++17 P0067R5 std::to_chars and std::from_chars (partial)
This adds the integral overloads of std::to_chars and std::from_chars,
including the changes made by P0682R0. Support for floating point types
is absent.

	* include/Makefile.am: Add new <charconv> header.
	* include/Makefile.in: Regenerate.
	* include/precompiled/stdc++.h: Include <charconv>.
	* include/std/charconv: New file.
	(to_chars_result, to_chars, from_chars_result, from_chars): Define.
	* testsuite/20_util/from_chars/1.cc: New test.
	* testsuite/20_util/from_chars/1_neg.cc: New test.
	* testsuite/20_util/from_chars/2.cc: New test.
	* testsuite/20_util/from_chars/requirements.cc: New test.
	* testsuite/20_util/to_chars/1.cc: New test.
	* testsuite/20_util/to_chars/1_neg.cc: New test.
	* testsuite/20_util/to_chars/2.cc: New test.
	* testsuite/20_util/to_chars/requirements.cc: New test.

From-SVN: r253353
2017-10-02 15:06:40 +01:00
Jakub Jelinek
d1453bec27 backtrace-rename.h (backtrace_uncompress_zdebug): Define.
* libbacktrace/backtrace-rename.h (backtrace_uncompress_zdebug):
	Define.

From-SVN: r253351
2017-10-02 16:00:53 +02:00
Paolo Carlini
bac1187dad re PR c++/79180 (Nested lambda-capture causes segfault for parameter pack)
2017-10-02  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/79180
	* g++.dg/cpp0x/lambda/lambda-nested8.C: New.
	* g++.dg/torture/pr79180.C: Likewise.

	PR c++/71386
	* g++.dg/cpp1y/lambda-generic-nested1.C: New.

From-SVN: r253350
2017-10-02 12:40:26 +00:00
Thomas Schwinge
22381c22b4 Handle libbacktrace in contrib/gcc_update
contrib/
	* gcc_update (files_and_dependencies): Handle libbacktrace.

From-SVN: r253346
2017-10-02 13:56:50 +02:00
Thomas Schwinge
dd954c67ab libbacktrace: Support the case that clock_gettime is in librt
libbacktrace/
	PR other/67165
	* Makefile.am: Append the content of clock_gettime_link to
	ztest_LDADD.
	* configure.ac: Test for the case that clock_gettime is in librt.
	* Makefile.in: Regenerate.
	* configure: Likewise.

From-SVN: r253345
2017-10-02 13:56:39 +02:00
Thomas Schwinge
dbc31f20d3 libbacktrace: Conditionalize test timing on clock_gettime availability
libbacktrace/
	PR other/67165
	* configure.ac: Check for clock_gettime.
	* config.h.in: Regenerate.
	* configure: Likewise.
	* ztest.c (average_time, test_large): Conditionalize test timing
	on clock_gettime availability.

From-SVN: r253344
2017-10-02 13:56:25 +02:00
Georg-Johann Lay
6146ee7373 re PR target/41076 ([avr] pessimal code for logical OR of 8-bit fields)
PR target/41076
	* confg/avr/avr.md (*iorhi3.ashift8-ext.zerox): Add "r,r,0"
	alternative.

From-SVN: r253343
2017-10-02 11:31:03 +00:00
Richard Biener
96e2d1d1ae graphite-isl-ast-to-gimple.c (set_codegen_error): With -fchecking and --param graphite-allow-codegen-errors=0 ICE.
2017-10-02  Richard Biener  <rguenther@suse.de>

	* graphite-isl-ast-to-gimple.c (set_codegen_error): With
	-fchecking and --param graphite-allow-codegen-errors=0 ICE.
	* params.def (PARAM_GRAPHITE_ALLOW_CODEGEN_ERRORS): New param.

	* gcc.dg/graphite/graphite.exp: Add -fdump-tree-graphite-details.
	* gcc.dg/graphite/id-15.c: Adjust for existing codegen errors.
	* gcc.dg/graphite/id-16.c: Likewise.
	* gcc.dg/graphite/pr46168.c: Likewise.
	* gcc.dg/graphite/pr68756.c: Likewise.
	* gcc.dg/graphite/pr69728.c: Likewise.
	* gcc.dg/graphite/pr71575-2.c: Likewise.
	* gcc.dg/graphite/pr77362.c: Likewise.
	* gcc.dg/graphite/pr81373.c: Likewise.
	* gcc.dg/graphite/run-id-pr67700-1.c: Likewise.
	* gfortran.dg/graphite/interchange-1.f: Likewise.
	* gfortran.dg/graphite/pr29581.f90: Likewise.
	* gfortran.dg/graphite/pr42334-1.f: Likewise.
	* gfortran.dg/graphite/pr42393-1.f90: Likewise.
	* gfortran.dg/graphite/pr42393.f90: Likewise.
	* gfortran.dg/graphite/pr47019.f: Likewise.

From-SVN: r253342
2017-10-02 10:04:00 +00:00
Richard Sandiford
a1488398d4 Fix mismatched precisions in tree arithmetic
The tree wi:: decompose routine wasn't asserting that the requested
precision matched the tree's precision.  This could make a difference
for unsigned trees that are exactly N HWIs wide and that have the upper
bit set, since we then need an extra zero HWI when extending it to wider
precisions (as for wi::to_widest).

This patch adds the assert and fixes the fallout shown by the testsuite.
Go seems to be unaffected.

2017-10-02  Richard Sandiford  <richard.sandiford@linaro.org>

gcc/
	* tree.h (wi::int_traits <const_tree>::decompose): Assert that the
	requested precision matches the type's.
	* calls.c (alloc_max_size): Calculate the new candidate size as
	a widest_int and use wi::to_widest when comparing it with the
	current candidate size.
	* gimple-ssa-warn-alloca.c (pass_walloca::execute): Compare with
	zero rather than integer_zero_node.
	* match.pd: Check for a no-op conversion before using wi::add
	rather than after.  Use tree_to_uhwi when summing small shift
	counts into an unsigned int.

gcc/c-family/
	* c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_widest
	when combining the original unconverted comparison operands.

gcc/cp/
	* constexpr.c (cxx_eval_store_expression): Use wi::to_widest
	when comparing the array bounds with an ARRAY_REF index.

gcc/ada/
	* gcc-interface/decl.c (annotate_value): Use wi::to_widest when
	handling the form (plus/mult (convert @0) @1).

From-SVN: r253341
2017-10-02 09:45:40 +00:00
Paolo Carlini
1a6da556c4 re PR c++/69977 (internal compiler error: Segmentation fault when using generic lambdas)
2017-10-02  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/69977
	* g++.dg/cpp1y/lambda-generic-69977.C: New.

From-SVN: r253340
2017-10-02 09:41:36 +00:00
Paolo Carlini
144d302eeb re PR c++/59991 (Recursive lambda capture in C++1y constexpr function template causes internal compiler error)
2017-10-02  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/59991
	* g++.dg/cpp0x/lambda/lambda-ice23.C: New.

From-SVN: r253339
2017-10-02 09:03:32 +00:00
Tom de Vries
7838c9a8db Require nonlocal_goto for gcc.c-torture/compile/pr82337.c
2017-10-02  Tom de Vries  <tom@codesourcery.com>

	* gcc.c-torture/compile/pr82337.c: Add
	dg-require-effective-target nonlocal_goto.

From-SVN: r253338
2017-10-02 09:02:05 +00:00
Richard Sandiford
f25a140b6a [AArch64] PR71307: Define union class of POINTER+FP
ALL_REGS doesn't function as a union class of POINTER_REGS and FP_REGS
since it includes the CC register as well.  REGNO_REG_CLASS (CC_REGNUM)
is NO_REGS, but of course NO_REGS rightly doesn't include CC_REGNUM.

Adding a union class for POINTER+FP allows the RA to use it as the
preferred or alternative class of a pseudo.  It also works as a
union class of GENERAL+FP for modes that aren't allowed in SP.

This is also needed for the SVE port, which adds predicate registers
to the mix.

2017-09-15  Richard Sandiford  <richard.sandiford@linaro.org>
	    Alan Hayward  <alan.hayward@arm.com>
	    David Sherwood  <david.sherwood@arm.com>

gcc/
	PR target/71307
	* config/aarch64/aarch64.h (POINTER_AND_FP_REGS): New reg class.
	(REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update accordingly.
	* config/aarch64/aarch64.c (aarch64_class_max_nregs): Handle
	POINTER_AND_FP_REGS.

gcc/testsuite/
	PR target/71307
	* gcc.target/aarch64/vect_copy_lane_1.c: Remove XFAIL.

Co-Authored-By: Alan Hayward <alan.hayward@arm.com>
Co-Authored-By: David Sherwood <david.sherwood@arm.com>

From-SVN: r253337
2017-10-02 08:11:07 +00:00
Richard Biener
0389d86c4e re PR tree-optimization/82355 (ICE in outermost_loop_in_sese, at sese.c:301)
2017-10-02  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/82355
	* graphite-isl-ast-to-gimple.c (build_iv_mapping): Also build
	a mapping for the enclosing loop but avoid generating one for
	the loop tree root.
	(copy_bb_and_scalar_dependences): Remove premature codegen
	error on PHIs in blocks duplicated into multiple places.
	* graphite-scop-detection.c
	(scop_detection::stmt_has_simple_data_refs_p): For a loop not
	in the region use it as loop and nest to analyze the DR in.
	(try_generate_gimple_bb): Likewise.
	* graphite-sese-to-poly.c (extract_affine_chrec): Adjust.
	(add_loop_constraints): For blocks in a loop not in the region
	create a dimension with a single iteration.
	* sese.h (gbb_loop_at_index): Remove assert.

	* gcc.dg/graphite/fuse-1.c: Adjust.
	* gcc.dg/graphite/fuse-2.c: Likewise.
	* gcc.dg/graphite/pr82355.c: New testcase.

From-SVN: r253336
2017-10-02 07:32:52 +00:00
Kevin Buettner
623c6df543 omp-expand.c (adjust_context_scope): New function.
* omp-expand.c (adjust_context_scope): New function.
	(expand_parallel_call): Call adjust_context_scope.

From-SVN: r253335
2017-10-02 00:27:21 +00:00
GCC Administrator
25ce0f6cd8 Daily bump.
From-SVN: r253334
2017-10-02 00:16:19 +00:00
Gerald Pfeifer
7b5f5267b9 MAINTAINERS: Add a note that maintainership also includes web pages...
* MAINTAINERS: Add a note that maintainership also includes web
	pages, docs, and testsuite related to that area.

From-SVN: r253330
2017-10-01 18:36:37 +00:00
Jeff Law
aa2a59fc60 tree-ssa-dom.c (optimize_stmt): Make this a method within the dom_opt_dom_walker class with direct access to...
* tree-ssa-dom.c (optimize_stmt): Make this a method within the
	dom_opt_dom_walker class with direct access to private members.
	Add comments.  Call test_for_singularity.
	(dom_opt_dom_walker::before_dom_children): Corresponding changes.
	(dom_opt_dom_walker::after_dom_children): Do not lazily initialize
	m_dummy_cond anymore.
	(class dom_opt_dom_walker): Initialize m_dummy_cond member in the
	class ctor.
	(pass_dominator:execute): Build the dummy_cond here and pass it
	to the dom_opt_dom_walker ctor.
	(test_for_singularity): New function.

	* gcc.dg/tree-ssa/ssa-dom-simplify-1.c: New test.

2017-09-30  Paolo Carlini  <paolo.carlini@oracle.com>

From-SVN: r253329
2017-10-01 09:22:39 -06:00
Dominique d'Humieres
efa1d7a216 re PR fortran/61450 (ICE in gfc_global_used())
2017-10-01  Dominique d'Humieres  <dominiq@lps.ens.fr>

	PR fortran/61450
	* parse.c (gfc_global_used): Replace the gfc_internal_error
	with an error.

2017-10-01  Dominique d'Humieres  <dominiq@lps.ens.fr>

	PR fortran/61450
	* gfortran.dg/binding_label_tests_28.f90: New test.

From-SVN: r253328
2017-10-01 11:49:48 +02:00
GCC Administrator
ce22a7f915 Daily bump.
From-SVN: r253327
2017-10-01 00:16:19 +00:00
Krister Walfridsson
dfe2677b27 config.gcc (*-*-netbsd*): New variable nbsd_tm_file containing netbsd.h, netbsd-stdint.h, and netbsd-elf.h.
2017-09-30  Krister Walfridsson  <krister.walfridsson@gmail.com>
	    Maya Rashish  <coypu@sdf.org>

	* config.gcc (*-*-netbsd*): New variable nbsd_tm_file containing
	netbsd.h, netbsd-stdint.h, and netbsd-elf.h.
	(alpha*-*-netbsd*) Use nbsd_tm_file.
	(arm*-*-netbsdelf*) Likewise.
	(i[34567]86-*-netbsdelf*) Likewise.
	(x86_64-*-netbsd*) Likewise.
	(mips*-*-netbsd*) Likewise.
	(powerpc-*-netbsd*) Likewise.
	(sh*-*-netbsd*) Likewise.
	(sparc-*-netbsdelf*) Likewise.
	(sparc64-*-netbsd*) Likewise.
	(m68k*-*-netbsdelf*) Use nbsd_tm_file and add CHAR_FAST8/SHORT_FAST16
	to tm_defines.
	(vax-*-netbsdelf*) Likewise.
	* config/netbsd-stdint.h (INT_FAST8_TYPE): Check CHAR_FAST8.
	(UINT_FAST8_TYPE) Likewise.
	(INT_FAST16_TYPE) Check CHAR_FAST16.
	(UINT_FAST16_TYPE) Likewise.

Co-Authored-By: Maya Rashish <coypu@sdf.org>

From-SVN: r253323
2017-09-30 20:45:59 +00:00
Paolo Carlini
ae3f9c32ae re PR c++/65949 (Compiler can not deduce auto type in lambda)
2017-09-30  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/65949
	* g++.dg/cpp1y/lambda-generic-variadic5.C: New.

From-SVN: r253322
2017-09-30 20:42:05 +00:00
Paolo Carlini
333cb61200 re PR c++/68754 (Explicitly defaulted constexpr assignment operator fails to compile)
/cp
2017-09-30  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/68754
	* method.c (defaulted_late_check): Early return if the defaulted
	declaration does not match the expected signature.

/testsuite
2017-09-30  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/68754
	* g++.dg/cpp1y/constexpr-68754.C: Move...
	* g++.dg/cpp0x/constexpr-68754.C: ... here, adjust.

From-SVN: r253321
2017-09-30 17:00:32 +00:00
Jakub Jelinek
15c7731500 re PR target/82361 (Useless "mov eax, eax" in generated code)
PR target/82361
	* config/i386/i386.md
	(TARGET_USE_8BIT_IDIV zext divmodsi4 splitter): New define_split.
	(divmodsi4_zext_1, divmodsi4_zext_2, *divmodsi4_zext_1,
	*divmodsi4_zext_2): New define_insn_and_split.
	(*divmodsi4_noext_zext_1, *divmodsi4_noext_zext_2): New define_insn.
	(TARGET_USE_8BIT_IDIV zext udivmodsi4 splitter): New define_split.
	(udivmodsi4_zext_1, udivmodsi4_zext_2, *udivmodsi4_zext_1,
	*udivmodsi4_zext_2, *udivmodsi4_pow2_zext_1, *udivmodsi4_pow2_zext_2):
	New define_insn_and_split.
	(*udivmodsi4_noext_zext_1, *udivmodsi4_noext_zext_2): New define_insn.
	* config/i386/i386.c (ix86_split_idivmod): Handle operands[0] or
	operands[1] having DImode when mode is SImode.

	* gcc.target/i386/pr82361-1.c: New test.
	* gcc.target/i386/pr82361-2.c: New test.

From-SVN: r253317
2017-09-30 10:10:15 +02:00