156769 Commits

Author SHA1 Message Date
GCC Administrator
86a6f91eec Daily bump.
From-SVN: r253536
2017-10-09 00:16:23 +00:00
Segher Boessenkool
0a22eb91b3 rs6000: Cleanup of various jump patterns
This cleans up formatting of many jump patterns.  Mostly it is writing
output statements as brace blocks, and deleting default arguments.  It
also makes indentation a little bit more consistent, and uses b%T0
(instead of bctr/blr alternatives) in two more places.


	* config/rs6000/rs6000.md (conditional branch): Clean up formatting.
	Remove empty default arguments.  Use a brace block as output
	statement.
	(conditional return): Ditto.
	(jump): Ditto.
	(indirect_jump): Ditto.  Use b%T0 instead of bctr/blr.
	(tablejump, tablejumpsi, tablejumpdi, *tablejump<mode>_internal1):
	Ditto.
	(group_ending_nop): Ditto.
	(doloop_end): Ditto.
	(ctr<mode>, ctr<mode>_internal1, ctr<mode>_internal2): Ditto.
	(splitters for those): Ditto.

From-SVN: r253532
2017-10-09 00:38:25 +02:00
Segher Boessenkool
0c791c5938 rs6000: Update conditional jump patterns, no more (pc) (label_ref)
Currently we have two patterns for every conditional jump: one jumping
if some condition is met, and the other jumping if it is not met.  We
don't need that second form because all our conditions have an opposite
already, and the generic code can deal with that just fine.

This patch deletes that second form.  We generated it directly in one
case; adjusted here.


	* config/rs6000/rs6000-string.c (expand_strncmp_align_check): Invert
	a conditional jump (and the compare for it) so that pc_rtx is the
	last operand.
	* config/rs6000/rs6000.c (rs6000_legitimate_combined_insn): Adjust
	for the deleted and renamed ctr<mode>_internal[234] patterns.
	* config/rs6000/rs6000.md: Delete second conditional branch pattern.
	Delete second conditional return pattern.
	(ctr<mode>_internal2): Delete this second bdnz pattern.
	(ctr<mode>_internal3): Rename to ctr<mode>_internal2.
	(ctr<mode>_internal4): Delete this second bdz pattern.

From-SVN: r253531
2017-10-09 00:36:36 +02:00
Eric Botcazou
561593c104 tree-outof-ssa.h (ssaexpand): Add partitions_for_undefined_values.
* tree-outof-ssa.h (ssaexpand): Add partitions_for_undefined_values.
	(always_initialized_rtx_for_ssa_name_p): New predicate.
	* tree-outof-ssa.c (remove_ssa_form): Initialize new field of SA.
	(finish_out_of_ssa): Free new field of SA.
	* tree-ssa-coalesce.h (get_undefined_value_partitions): Declare.
	* tree-ssa-coalesce.c: Include tree-ssa.h.
	(get_parm_default_def_partitions): Remove extern keyword.
	(get_undefined_value_partitions): New function.
	* expr.c (expand_expr_real_1) <expand_decl_rtl>: For a SSA_NAME, do
	not set SUBREG_PROMOTED_VAR_P on the sub-register if it may contain
	uninitialized bits.
	* loop-iv.c (iv_get_reaching_def): Disqualify all subregs.

From-SVN: r253530
2017-10-08 21:13:52 +00:00
Eric Botcazou
caeaa0b3c6 * builtins.def (BUILT_IN_SETJMP): Revert latest change.
From-SVN: r253529
2017-10-08 20:44:14 +00:00
Steven G. Kargl
1b314f1474 check.c (gfc_check_x): Remove function.
2017-10-08  Steven G. Kargl  <kargl@gcc.gnu.org>

	* check.c (gfc_check_x): Remove function.
	* intrinsic.c (add_functions): Use gfc_check_fn_r.

From-SVN: r253528
2017-10-08 18:02:31 +00:00
Jeff Law
5759add460 stack-check-5.c: Skip with -fstack-protector.
* gcc.dg/stack-check-5.c: Skip with -fstack-protector.
	* gcc.dg/stack-check-6.c: Likewise.
	* gcc.dg/stack-check-6a.c: Likewise.

From-SVN: r253527
2017-10-08 09:44:39 -06:00
Paul Thomas
1741160c2f re PR fortran/82375 (PDT components in PDT declarations fail to compile)
2017-10-08  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/82375
	* module.c : Bump up MOD_VERSION to 15.
	(mio_component): Edit comment about PDT specification list.
	(mio_expr, mio_symbol): Include the expression and symbol PDT
	specification lists in the same way as in mio_component.

From-SVN: r253526
2017-10-08 15:23:24 +00:00
Thomas Koenig
cebb191903 dump_prase_tree (show_symbol): Output list of variables in NAMELIST.
2017-10-08  Thomas Koenig  <tkoenig@gcc.gnu.org>

	* dump_prase_tree (show_symbol): Output list of variables in
	NAMELIST.
	(show_code_node): Add new line for ELSE and END DO for DO
	CONCURRENT.
	* invoke.texi: Document that the output of
	-fdump-fortran-original, -fdump-fortran-optimized and
	-fdump-parse-tree is unsable and may lead to ICEs.

From-SVN: r253525
2017-10-08 12:54:40 +00:00
Jan Hubicka
08a9e4e734 i386.c (ix86_expand_set_or_movmem): Disable 512bit loops for targets that preffer 128bit.
* i386.c (ix86_expand_set_or_movmem): Disable 512bit loops for targets
	that preffer 128bit.

From-SVN: r253524
2017-10-08 10:42:54 +00:00
Jan Hubicka
eb79a6b1cb * i386.c (has_dispatch): Disable for Ryzen.
From-SVN: r253523
2017-10-08 10:41:44 +00:00
Olivier Hainque
a9f3126aad arm.c (arm_set_return_address): Use MEM_VOLATILE_P on the target mem instead of RTX_FRAME_RELATED_P on the insn...
2017-10-08  Olivier Hainque  <hainque@adacore.com>

        * config/arm/arm.c (arm_set_return_address): Use MEM_VOLATILE_P
        on the target mem instead of RTX_FRAME_RELATED_P on the insn to
        prevent DSE.
        (thumb_set_return_address): Likewise.

From-SVN: r253522
2017-10-08 08:20:25 +00:00
Olivier Hainque
221ebb39af arm-common.c (arm_except_unwind_info): Handle DWARF2_UNWIND_INFO.
2017-10-08  Olivier Hainque  <hainque@adacore.com>

        * common/config/arm/arm-common.c (arm_except_unwind_info):
        Handle DWARF2_UNWIND_INFO.

From-SVN: r253521
2017-10-08 08:10:41 +00:00
Michael Collison
59abe90398 aarch64.md (*aarch64_reg_<optab>_minus<mode>3): New pattern.
2017-10-07  Michael Collison <michael.collison@arm.com>

	* config/aarch64/aarch64.md (*aarch64_reg_<optab>_minus<mode>3):
	New pattern.

2017-10-07  Michael Collison <michael.collison@arm.com>

	* gcc.target/aarch64/var_shift_mask_2.c: New test.

From-SVN: r253520
2017-10-08 03:57:36 +00:00
GCC Administrator
ecd8dec2ca Daily bump.
From-SVN: r253519
2017-10-08 00:16:17 +00:00
Eric Botcazou
06fc54dd64 builtins.def (BUILT_IN_SETJMP): Declare as library builtin instead of GCC builtin if...
* builtins.def (BUILT_IN_SETJMP): Declare as library builtin instead
	of GCC builtin if DONT_USE_BUILTIN_SETJMP is defined.
	* except.c (sjlj_emit_function_enter): If DONT_USE_BUILTIN_SETJMP is
	defined, force the creation of a new block for a dispatch label.

From-SVN: r253515
2017-10-07 22:17:16 +00:00
Paul Thomas
2fcd588417 re PR fortran/82375 (PDT components in PDT declarations fail to compile)
2017-10-07  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/82375
	* class.c (gfc_find_derived_vtab): Return NULL for a passed
	pdt template to prevent bad procedures from being written.
	* decl.c (gfc_get_pdt_instance): Do not use the default
	initializer for pointer and allocatable pdt type components. If
	the component is allocatbale, set the 'alloc_comp' attribute of
	'instance'.
	* module.c : Add a prototype for 'mio_actual_arglist'. Add a
	boolean argument 'pdt'.
	(mio_component): Call it for the parameter list of pdt type
	components with 'pdt' set to true.
	(mio_actual_arg): Add the boolean 'pdt' and, if it is set, call
	mio_integer for the 'spec_type'.
	(mio_actual_arglist): Add the boolean 'pdt' and use it in the
	call to mio_actual_arg.
	(mio_expr, mio_omp_udr_expr): Call mio_actual_arglist with
	'pdt' set false.
	* resolve.c (get_pdt_spec_expr): Add the parameter name to the
	KIND parameter error.
	(get_pdt_constructor): Check that cons->expr is non-null.
	* trans-array.c (structure_alloc_comps): For deallocation of
	allocatable components, ensure that parameterized components
	are deallocated first. Likewise, when parameterized components
	are allocated, nullify allocatable components first. Do not
	recurse into pointer or allocatable pdt components while
	allocating or deallocating parameterized components. Test that
	parameterized arrays or strings are allocated before freeing
	them.
	(gfc_trans_pointer_assignment): Call the new function. Tidy up
	a minor whitespace issue.
	trans-decl.c (gfc_trans_deferred_vars): Set 'tmp' to NULL_TREE
	to prevent the expression from being used a second time.

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

	PR fortran/82375
	* gfortran.dg/pdt_13.f03 : New test.
	* gfortran.dg/pdt_14.f03 : New test.
	* gfortran.dg/pdt_15.f03 : New test.

From-SVN: r253514
2017-10-07 21:14:06 +00:00
Jan Hubicka
12b9f3ac92 invoke.texi (Wsuggest-attribute=cold): Document.
* invoke.texi (Wsuggest-attribute=cold): Document.
	* common.opt (Wsuggest-attribute=cold): New
	* ipa-pure-const.c (warn_function_cold): New function.
	* predict.c (compute_function_frequency): Use it.
	* predict.h (warn_function_cold): Declare.

	* gcc.dg/cold-1.c: New testcase.

From-SVN: r253513
2017-10-07 16:48:34 +00:00
Jan Hubicka
59e2f25ee7 tree-switch-conversion.c (do_jump_if_equal, [...]): Update profile.
* tree-switch-conversion.c (do_jump_if_equal, emit_cmp_and_jump_insns):
	Update profile.

From-SVN: r253512
2017-10-07 16:33:26 +00:00
Paolo Carlini
b8f49e4a98 re PR c++/80805 (ICE in sufficiently complex code with -g (dump_aggr_type))
2017-10-07  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/80805
	* g++.dg/cpp0x/pr80805.C: New.

From-SVN: r253511
2017-10-07 16:10:21 +00:00
Paolo Carlini
53214bd157 re PR c++/80805 (ICE in sufficiently complex code with -g (dump_aggr_type))
2017-10-07  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/80805
	* g++.dg/cpp0x/pr80805.C: New.

From-SVN: r253510
2017-10-07 16:10:02 +00:00
Thomas Koenig
5abde510b7 re PR fortran/49232 (Pointer assignment of stride to CONTIGUOUS pointer not diagnosed as invalid)
2017-10-07  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/49232
	* expr.c (gfc_check_pointer_assign): Error
	for non-contiguous rhs.

2017-10-07  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/49232
	* gfortran.dg/contiguous_4.f90: New test.

From-SVN: r253509
2017-10-07 11:48:28 +00:00
Thomas Koenig
a4792d4431 gfortran.h (async_io_dt): Add external reference.
2017-10-07  Thomas Koenig  <tkoenig@gcc.gnu.org>

	* gfortran.h (async_io_dt): Add external reference.
	* io.c (async_io_dt): Add variable.
	(compare_to_allowed_values): Add prototyte. Add optional argument
	num. If present, set it to the number of the entry that was
	matched.
	(check_io_constraints): If this is for an asynchronous I/O
	statement, set async_io_dt and set the asynchronous flag for
	a SIZE tag.
	* resolve.c (resolve_transfer): If async_io_dt is set, set
	the asynchronous flag on the variable.
	(resolve_fl_namelist): If async_io_dt is set, set the asynchronous
	flag on all elements of the namelist.

From-SVN: r253508
2017-10-07 11:43:58 +00:00
Tom de Vries
e923330e1b Fix libgomp.oacc-fortran/{firstprivate-1,parallel-reduction}.f90 for non-nvidia devices
2017-10-07  Tom de Vries  <tom@codesourcery.com>

	* testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
	Remove acc_device_nvidia references.
	* testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
	Same.

From-SVN: r253507
2017-10-07 08:46:00 +00:00
GCC Administrator
068333113e Daily bump.
From-SVN: r253506
2017-10-07 00:16:21 +00:00
Paolo Carlini
58ebb59bef re PR c++/66690 (error: use of ‘X’ before deduction of ‘auto’)
2017-10-06  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/66690
	* g++.dg/cpp1y/pr66690.C: New.

From-SVN: r253502
2017-10-06 19:04:25 +00:00
Paolo Carlini
df780484fe 2017-10-06 Paolo Carlini <paolo.carlini@oracle.com>
* Fix last ChangeLog entry.

From-SVN: r253498
2017-10-06 16:28:27 +00:00
Paolo Carlini
90e3c064aa re PR c++/47791 (finish function is using literal value instead of a #defined one)
2017-10-06  Paolo Carlini  <paolo.carlini@oracle>

	PR c++/47791
	* decl.c (finish_function): Take a bool intead of an int; adjust.
	* cp-tree.h (finish_function): Adjust declaration.
	* decl2.c (generate_tls_wrapper, finish_objects,
	finish_static_storage_duration_function): Adjust calls.
	* lambda.c (maybe_add_lambda_conv_op, finish_lambda_function):
	Likewise.
	* method.c (synthesize_method): Likewise.
	* optimize.c (maybe_thunk_body, maybe_clone_body): Likewise.
	* pt.c (instantiate_decl): Likewise.
	* parser.c (cp_parser_function_definition_after_declarator,
	cp_parser_late_parsing_for_member, cp_parser_omp_declare_reduction):
	Likewise.
	(cp_parser_ctor_initializer_opt,
	cp_parser_ctor_initializer_opt_and_function_body,
	cp_parser_function_try_block,
	cp_parser_function_definition_after_declarator,
	cp_parser_function_transaction): Return void; adjust declarations.

From-SVN: r253497
2017-10-06 16:26:00 +00:00
Nathan Sidwell
9db84eceda [PR c++/82424] Dont convert dependent types
https://gcc.gnu.org/ml/gcc-patches/2017-10/msg00385.html
	cp/
	PR c++/82424
	* name-lookup.c (check_local_shadow): Don't try and convert
	dependent types.

	testsuite/
	PR c++/82424
	* g++.dg/warn/pr82424.C: New.

From-SVN: r253496
2017-10-06 16:02:13 +00:00
Jakub Jelinek
7260f6f79c re PR c++/82299 (-Wuseless-cast errors on typed enums used in member data initializers in c++1z)
PR c++/82299
	* decl.c (reshape_init): Suppress warn_useless_cast for direct enum
	init.
	* typeck.c (convert_for_assignment): Likewise.

	* g++.dg/cpp0x/pr82299.C: New test.

From-SVN: r253495
2017-10-06 17:50:50 +02:00
Jakub Jelinek
681f18d19b P0704R1 - fixing const-qualified pointers to members
P0704R1 - fixing const-qualified pointers to members
	* typeck2.c (build_m_component_ref): For -std=c++2a allow
	pointer to const & qualified method on rvalue.

	* g++.dg/cpp2a/ptrmem1.C: New test.

From-SVN: r253494
2017-10-06 17:43:17 +02:00
Nathan Sidwell
9bc3f42066 [C++ PATCH] hash-table for extern-c fns.
https://gcc.gnu.org/ml/gcc-patches/2017-10/msg00376.html
	Use hash_table for extern "C" names
	* name-lookup.c (extern_c_fns): Use hash_table.
	(check_extern_c_conflict): Adjust.
	(c_linkage_bindings): Adjust.

From-SVN: r253493
2017-10-06 14:19:23 +00:00
Martin Liska
513d556422 Add sanopt support for UBSAN_PTR.
2017-10-06  Martin Liska  <mliska@suse.cz>

	* sanopt.c (struct sanopt_tree_triplet_hash): Remove inline
	keyword for member functions.
	(struct sanopt_tree_couple): New struct.
	(struct sanopt_tree_couple_hash): New function.
	(struct sanopt_ctx): Add new hash_map.
	(has_dominating_ubsan_ptr_check): New function.
	(record_ubsan_ptr_check_stmt): Likewise.
	(maybe_optimize_ubsan_ptr_ifn): Likewise.
	(sanopt_optimize_walker): Handle IFN_UBSAN_PTR.
	(pass_sanopt::execute): Handle also SANITIZE_POINTER_OVERFLOW.
2017-10-06  Martin Liska  <mliska@suse.cz>

	* c-c++-common/ubsan/ptr-overflow-sanitization-1.c: New test.

From-SVN: r253492
2017-10-06 14:14:14 +00:00
Ian Lance Taylor
549d24e9f7 ztest.c (test_large): Pass unsigned long *, not size_t *, to zlib uncompress function.
* ztest.c (test_large): Pass unsigned long *, not size_t *, to
	zlib uncompress function.

From-SVN: r253491
2017-10-06 13:37:20 +00:00
Sudakshina Das
d155a264df Committed on behalf of Sudi Das
2017-10-06  Sudakshina Das  <sudi.das@arm.com>

	PR target/82440
	* config/aarch64/predicates.md (aarch64_reg_or_orr_imm): Only call
	aarch64_simd_valid_immediate on CONST_VECTORs.
	(aarch64_reg_or_bic_imm): Likewise.

*** gcc/testsuite/ChangeLog ***

2017-10-06  Sudakshina Das  <sudi.das@arm.com>

	* gcc.target/aarch64/bic_imm_1.c: New test.
	* gcc.target/aarch64/orr_imm_1.c: Likewise.

From-SVN: r253490
2017-10-06 13:25:18 +00:00
Nathan Sidwell
e833f686bb [C++ PATCH] use hash-table for namespace contents
https://gcc.gnu.org/ml/gcc-patches/2017-10/msg00365.html
	Use hash_table for namespace bindings
	* cp-tree.h (struct named_decl_hash): New.
	(lang_decl_ns): Change type of bindings field.
	* lex.c (maybe_add_lang_decl_raw): Adjust.
	* name-lookup.c (find_namespace_slot): Adjust.
	(do_pushdecl): Push NULL-named namespace.
	(do_push_nested_namespace): Adjust.
	(push_namespace): Push anonymous namespace as NULL name.

From-SVN: r253489
2017-10-06 13:15:23 +00:00
Wilco Dijkstra
816f83cfb7 PR82396 workaround
r253236 broke AArch64 bootstrap.  This is a temporary workaround that
disables qsort checking in the scheduler to enable continued development
and testing on AArch64.  This will be removed once the autopref scheduling
code has been fixed.

    gcc/
	PR rtl-optimization/82396
	* haifa-sched.c (ready_sort_real): Disable qsort checking.

From-SVN: r253487
2017-10-06 11:54:51 +00:00
Sebastian Pop
312ce40190 graphite-dependences.c (scop_get_reads): Move code to...
2017-10-06  Sebastian Pop  <sebpop@gmail.com>

	* graphite-dependences.c (scop_get_reads): Move code to...
        (scop_get_must_writes): Move code to...
        (scop_get_may_writes): Move code to...
        (scop_get_reads_and_writes): ... here.
        (scop_get_dependences): Call scop_get_reads_and_writes.

From-SVN: r253486
2017-10-06 11:26:33 +00:00
Paolo Carlini
e78b10ceb9 re PR c++/60153 (internal compiler error: in dependent_type_p, at cp/pt.c:21951)
2017-10-06  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/60153
	* g++.dg/cpp0x/variadic-crash3.C: New.

From-SVN: r253484
2017-10-06 10:06:14 +00:00
Jakub Jelinek
2f3914287d re PR tree-optimization/82434 (-fstore-merging does not work reliably.)
PR tree-optimization/82434
	* fold-const.h (can_native_encode_type_p,
	can_native_encode_string_p): Remove.
	* fold-const.c (native_encode_int): Formatting fixes.  If ptr is NULL,
	don't encode anything, just return what would be otherwise returned.
	(native_encode_fixed, native_encode_complex, native_encode_vector):
	Likewise.
	(native_encode_string): Likewise.  Inline by hand
	can_native_encode_string_p.
	(can_native_encode_type_p): Remove.
	(can_native_encode_string_p): Remove.
	* tree-vect-stmts.c (vectorizable_store): Instead of testing just
	STRING_CSTs using can_native_encode_string_p, test all
	CONSTANT_CLASS_P values using native_encode_expr with NULL ptr.
	* gimple-ssa-store-merging.c (encode_tree_to_bitpos): Remove last
	argument from native_encode_expr.
	(rhs_valid_for_store_merging_p): Use native_encode_expr with NULL ptr.
	(pass_store_merging::execute): Don't unnecessarily look for 3 stmts,
	but just 2.

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

From-SVN: r253483
2017-10-06 11:39:07 +02:00
Richard Biener
d20eac1b41 re PR tree-optimization/82397 (qsort comparator non-negative on sorted output: 1 in vect_analyze_data_ref_accesses)
2017-10-06  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/82397
	* tree-vect-data-refs.c (dr_group_sort_cmp): Do not use
	operand_equal_p but rely on data_ref_compare_tree for detecting
	equalities.
	(vect_analyze_data_ref_accesses): Use data_ref_compare_tree
	to match up with dr_group_sort_cmp.

	* gfortran.dg/pr82397.f: New testcase.

From-SVN: r253482
2017-10-06 09:27:09 +00:00
Andreas Krebbel
ac95a65da1 PR82322: S/390: Fix vec_ceil and friends
vec_ceil and friends are expanded by vecintrin.h to __builtin_s390_vfi
which is an overloaded builtin being replaced by either
__builtin_s390_vfisb or __builtin_s390_vfidb depending on its argument
types.

The problem in this PR was that the overloaded builtin definition of
__builtin_s390_vfi was missing in s390-builtins.def.

gcc/ChangeLog:

2017-10-06  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

	PR target/82322
	* config/s390/s390-builtins.def (s390_vfi): Define new overloaded
	builtin.
	* config/s390/s390-builtin-types.def: Regenerate.

gcc/testsuite/ChangeLog:

2017-10-06  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

	PR target/82322
	* gcc.target/s390/zvector/pr82322.c: New test.

From-SVN: r253481
2017-10-06 09:19:46 +00:00
Andreas Krebbel
6fcb90c624 PR82317: S/390: Fix vec_min/vec_max builtins for IBM z13.
With IBM z14 a hardware instruction for floating point min and max has
been added while for IBM z13 we emulated min/max for vector double with
compare and select.  This testcase makes sure that we fall back to the
emulated variant when compiling for z13.

gcc/ChangeLog:

2017-10-06  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

	PR target/82317
	* config/s390/s390-builtin-types.def: Regenerate.
	* config/s390/s390-builtins.def (s390_vfmaxdb_4, s390_vfmindb_4):
	Change flag from B_VXE to B_VX.
	(s390_vec_min_dbl): Remove B_VXE flag.

gcc/testsuite/ChangeLog:

2017-10-06  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

	PR target/82317
	* gcc.target/s390/zvector/pr82317.c: New test.

From-SVN: r253480
2017-10-06 09:18:37 +00:00
Richard Biener
3d28cdc2cd re PR tree-optimization/82422 ([graphite] ICE in set_codegen_error, at graphite-isl-ast-to-gimple.c:248)
2017-10-06  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/82422
	* gcc.dg/graphite/pr82422.c: New testcase.

From-SVN: r253479
2017-10-06 08:23:56 +00:00
Richard Biener
6c7e0f7a60 re PR tree-optimization/82421 ([graphite] ICE: tree check: expected ssa_name, have integer_cst in get_rename, at graphite-isl-ast-to-gimple.c:1127)
2017-10-06  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/82421
	* gcc.dg/graphite/pr82421.c: New testcase.

From-SVN: r253478
2017-10-06 08:20:58 +00:00
Jakub Jelinek
4e34b338f7 re PR c/82437 (false-positive -Wtautological-compare warning with -std=gnu89)
PR c/82437
	* c-warn.c (warn_tautological_bitwise_comparison): Instead of
	using to_widest use wide_int with the larger of the two precisions.

	* c-c++-common/Wtautological-compare-6.c: New test.

From-SVN: r253476
2017-10-06 09:11:25 +02:00
Richard Biener
bd8d431f44 graphite-isl-ast-to-gimple.c: Include ssa.h and tree-ssa.h.
2017-10-06  Richard Biener  <rguenther@suse.de>

	* graphite-isl-ast-to-gimple.c: Include ssa.h and tree-ssa.h.
	(translate_isl_ast_to_gimple::translate_pending_phi_nodes,
	translate_isl_ast_to_gimple::is_valid_rename,
	translate_isl_ast_to_gimple::get_rename,
	translate_isl_ast_to_gimple::get_def_bb_for_const,
	translate_isl_ast_to_gimple::get_new_name,
	translate_isl_ast_to_gimple::collect_all_ssa_names,
	translate_isl_ast_to_gimple::copy_loop_phi_args,
	translate_isl_ast_to_gimple::collect_all_ssa_names,
	translate_isl_ast_to_gimple::copy_loop_phi_args,
	translate_isl_ast_to_gimple::copy_loop_phi_nodes,
	translate_isl_ast_to_gimple::add_close_phis_to_merge_points,
	translate_isl_ast_to_gimple::add_close_phis_to_outer_loops,
	translate_isl_ast_to_gimple::copy_loop_close_phi_args,
	translate_isl_ast_to_gimple::copy_loop_close_phi_nodes,
	translate_isl_ast_to_gimple::copy_cond_phi_args,
	translate_isl_ast_to_gimple::copy_cond_phi_nodes,
	translate_isl_ast_to_gimple::edge_for_new_close_phis,
	translate_isl_ast_to_gimple::add_phi_arg_for_new_expr,
	translate_isl_ast_to_gimple::rename_uses,
	translate_isl_ast_to_gimple::rename_all_uses): Remove.
	(translate_isl_ast_to_gimple::get_rename_from_scev): Simplify.
	(set_rename_for_each_def): Likewise.
	(graphite_copy_stmts_from_block): Handle debug stmt resetting
	here.  Handle rewriting SCEV analyzable uses here.
	(copy_bb_and_scalar_dependences): Generate code for PHI
	copy-in/outs.
	(graphite_regenerate_ast_isl): Adjust.
	* graphite-scop-detection.c (trivially_empty_bb_p): Move to sese.[ch].
	(add_write, add_read): New functions.
	(build_cross_bb_scalars_def): Use it and simplify.
	(build_cross_bb_scalars_use): Likewise.
	(graphite_find_cross_bb_scalar_vars): Inline into...
	(try_generate_gimple_bb): ...here.  Add dependences for PHIs,
	simulating out-of-SSA.  Compute liveout and add dependencies.
	(build_scops): Force an empty entry block.
	* sese.h (sese_info_t::liveout, sese_info_t::debug_liveout): New
	members.
	(sese_build_liveouts): Declare.
	(sese_trivially_empty_bb_p): Likewise.
	* sese.c (sese_build_liveouts_bb): Properly handle PHIs,
	compute liveout and debug_liveout.
	(sese_bad_liveouts_use): Remove.
	(sese_reset_debug_liveouts_bb): Likewise.
	(sese_reset_debug_liveouts): Rewrite in terms of debug_liveout.
	(sese_build_liveouts): Build liveout and debug_liveout and store
	it in region.
	(new_sese_info): Adjust.
	(free_sese_info): Likewise.
	(sese_insert_phis_for_liveouts): Reset debug stmts from here,
	do not build liveout here.
	(move_sese_in_condition): Adjust region entry.
	(scev_analyzable_p): Match up with chrec_apply requirements.
	(sese_trivially_empty_bb_p): New.
	* tree-into-ssa.c (get_reaching_def): Properly support generating
	default-defs for incremental rewrite of anonymous names.

	* gcc.dg/graphite/id-15.c: No longer expect a code generation error.
	* 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/pr42334-1.f: Likewise.
	* gfortran.dg/graphite/pr42393-1.f90: Likewise.
	* gfortran.dg/graphite/pr42393.f90: Likewise.
	* gfortran.dg/graphite/pr47019.f: Likewise.
	* gfortran.dg/graphite/id-17.f: Likewise.
	* gfortran.dg/graphite/id-19.f: Likewise.
	* gfortran.dg/graphite/run-id-2.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/pr29581.f90: Likewise.  No longer expect
	a code generation error.
	* gfortran.dg/graphite/run-id-3.f90: Likewise.
	* gfortran.dg/graphite/pr29832.f90: Likewise.

From-SVN: r253475
2017-10-06 07:06:17 +00:00
Richard Biener
57cfa17228 graphite-sese-to-poly.c (extract_affine): For casts increasing precision do not perform modulo reduction.
2017-10-06  Richard Biener  <rguenther@suse.de>

	* graphite-sese-to-poly.c (extract_affine): For casts increasing
	precision do not perform modulo reduction.

From-SVN: r253474
2017-10-06 07:03:51 +00:00
Richard Biener
31bee96479 re PR tree-optimization/82436 (465.tonto ICE in vect_get_slp_vect_defs, at tree-vect-slp.c:3410)
2017-10-06  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/82436
	* tree-vect-slp.c (vect_supported_load_permutation_p): More
	conservatively choose the vectorization factor when checking
	whether we can perform the required load permutation.
	(vect_transform_slp_perm_load): Assert when we may not fail.

	* gcc.dg/vect/pr82436.c: New testcase.

From-SVN: r253473
2017-10-06 07:03:23 +00:00
GCC Administrator
604d1669d6 Daily bump.
From-SVN: r253472
2017-10-06 00:16:24 +00:00