aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2017-10-09S/390: Fix vec_nabs and vec_vfi builtin flagsAndreas Krebbel2-4/+9
gcc/ChangeLog: 2017-10-09 Andreas Krebbel <krebbel@linux.vnet.ibm.com> * config/s390/s390-builtins.def (vec_nabs, vec_vfi): Fix builtin flags. From-SVN: r253544
2017-10-09S/390: PR82463: Fix vec_madd header file definitionAndreas Krebbel4-2/+27
The builtin was not correctly defined in the vecintrin.h header file. gcc/testsuite/ChangeLog: 2017-10-09 Andreas Krebbel <krebbel@linux.vnet.ibm.com> PR target/82463 * gcc.target/s390/zvector/pr82463.c: New test. gcc/ChangeLog: 2017-10-09 Andreas Krebbel <krebbel@linux.vnet.ibm.com> PR target/82463 * config/s390/vecintrin.h (vec_madd, vec_msub): Fix macro definitions. From-SVN: r253543
2017-10-09S/390: PR82465: Fix vec_sqrt builtin flagsAndreas Krebbel4-3/+29
The vector double variant is available with z13. A wrong flag in the s390-builtins.def file triggered an error when compiling for z13. gcc/testsuite/ChangeLog: 2017-10-09 Andreas Krebbel <krebbel@linux.vnet.ibm.com> PR target/82465 * gcc.target/s390/zvector/pr82465.c: New test. gcc/ChangeLog: 2017-10-09 Andreas Krebbel <krebbel@linux.vnet.ibm.com> PR target/82465 * config/s390/s390-builtins.def (vec_sqrt): Fix builtin flags. From-SVN: r253542
2017-10-09re PR target/82464 (s390x z14: vector float: invalid parameter combination ↵Jakub Jelinek2-0/+9
for intrinsic '__builtin_s390_vec_xor') PR target/82464 * config/s390/s390-builtins.def (s390_vec_xor_flt_a, s390_vec_xor_flt_b, s390_vec_xor_flt_c): New. From-SVN: r253541
2017-10-09Fix ssa-dse-26.cWilco Dijkstra2-2/+5
Add missing -fno-short-enums to ensure this test passes on arm-none-eabi which uses short enums. gcc/testsuite/ * gcc.dg/tree-ssa/ssa-dse-26.c (dg-options): Add -fno-short-enums. From-SVN: r253540
2017-10-09Allow non-wi <op> wiRichard Sandiford8-53/+123
This patch uses global rather than member operators for wide-int.h, so that the first operand can be a non-wide-int type. The patch also removes the and_not and or_not member functions. It was already inconsistent to have member functions for these two operations (one of which was never used) and not other wi:: ones like udiv. After the operator change, we'd have the additional inconsistency that "non-wi & wi" would work but "non-wi.and_not (wi)" wouldn't. 2017-10-09 Richard Sandiford <richard.sandiford@linaro.org> gcc/ * wide-int.h (WI_BINARY_OPERATOR_RESULT): New macro. (WI_BINARY_PREDICATE_RESULT): Likewise. (wi::binary_traits::operator_result): New type. (wi::binary_traits::predicate_result): Likewise. (generic_wide_int::operator~, unary generic_wide_int::operator-) (generic_wide_int::operator==, generic_wide_int::operator!=) (generic_wide_int::operator&, generic_wide_int::and_not) (generic_wide_int::operator|, generic_wide_int::or_not) (generic_wide_int::operator^, generic_wide_int::operator+ (binary generic_wide_int::operator-, generic_wide_int::operator*): Delete. (operator~, unary operator-, operator==, operator!=, operator&) (operator|, operator^, operator+, binary operator-, operator*): New functions. * expr.c (get_inner_reference): Use wi::bit_and_not. * fold-const.c (fold_binary_loc): Likewise. * ipa-prop.c (ipa_compute_jump_functions_for_edge): Likewise. * tree-ssa-ccp.c (get_value_from_alignment): Likewise. (bit_value_binop): Likewise. * tree-ssa-math-opts.c (find_bswap_or_nop_load): Likewise. * tree-vrp.c (zero_nonzero_bits_from_vr): Likewise. (extract_range_from_binary_expr_1): Likewise. (masked_increment): Likewise. (simplify_bit_ops_using_ranges): Likewise. From-SVN: r253539
2017-10-09[PR 82416] Do not extend operands to at least 32 bitsMartin Jambor5-61/+240
2017-10-09 Martin Jambor <mjambor@suse.cz> PR hsa/82416 gcc/ * hsa-common.h (hsa_op_with_type): New method extend_int_to_32bit. * hsa-gen.c (hsa_extend_inttype_to_32bit): New function. (hsa_type_for_scalar_tree_type): Use it. Always force min32int for COMPLEX types. (hsa_fixup_mov_insn_type): New function. (hsa_op_with_type::get_in_type): Use it. (hsa_build_append_simple_mov): Likewise. Allow sub-32bit immediates in an assert. (hsa_op_with_type::extend_int_to_32bit): New method. (gen_hsa_insns_for_bitfield): Fixup instruction and intermediary types. Convert to dest type if necessary. (gen_hsa_insns_for_bitfield_load): Fixup load type if necessary. (reg_for_gimple_ssa): Pass false as min32int to hsa_type_for_scalar_tree_type. (gen_hsa_addr): Fixup type when creating addresable temporary. (gen_hsa_cmp_insn_from_gimple): Extend operands if necessary. (gen_hsa_unary_operation): Extend operands and convert to dest type if necessary. Call hsa_fixup_mov_insn_type. (gen_hsa_binary_operation): Changed operand types to hsa_op_with_type, extend operands and convert to dest type if necessary. (gen_hsa_insns_for_operation_assignment): Extend operands and convert to dest type if necessary. (set_output_in_type): Call hsa_fixup_mov_insn_type. Just ude dest if conversion nt necessary and size matches. (gen_hsa_insns_for_load): Call hsa_fixup_mov_insn_type, convert to dest type if necessary. (gen_hsa_insns_for_store): Call hsa_fixup_mov_insn_type. (gen_hsa_insns_for_switch_stmt): Likewise. Also extend operands if necessary. (gen_hsa_clrsb): Likewise. (gen_hsa_ffs): Likewise. (gen_hsa_divmod): Extend operands and convert to dest type if necessary. (gen_hsa_atomic_for_builtin): Change type of op to hsa_op_with_type. libgomp/ * testsuite/libgomp.hsa.c/pr82416.c: New test. From-SVN: r253538
2017-10-09Fix gcc.dg/cold-1.cTom de Vries2-1/+8
2017-10-09 Tom de Vries <tom@codesourcery.com> * gcc.dg/cold-1.c (foo1): Fix warning line number. Make warning line number relative. (abort): Declare. From-SVN: r253537
2017-10-09Daily bump.GCC Administrator1-1/+1
From-SVN: r253536
2017-10-09rs6000: Cleanup of various jump patternsSegher Boessenkool2-89/+100
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-09rs6000: Update conditional jump patterns, no more (pc) (label_ref)Segher Boessenkool4-87/+17
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-08tree-outof-ssa.h (ssaexpand): Add partitions_for_undefined_values.Eric Botcazou9-9/+130
* 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* builtins.def (BUILT_IN_SETJMP): Revert latest change.Eric Botcazou2-4/+4
From-SVN: r253529
2017-10-08check.c (gfc_check_x): Remove function.Steven G. Kargl3-29/+21
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-08stack-check-5.c: Skip with -fstack-protector.Jeff Law4-0/+10
* 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-08re PR fortran/82375 (PDT components in PDT declarations fail to compile)Paul Thomas2-2/+16
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-08dump_prase_tree (show_symbol): Output list of variables in NAMELIST.Thomas Koenig3-8/+38
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-08i386.c (ix86_expand_set_or_movmem): Disable 512bit loops for targets that ↵Jan Hubicka2-0/+8
preffer 128bit. * i386.c (ix86_expand_set_or_movmem): Disable 512bit loops for targets that preffer 128bit. From-SVN: r253524
2017-10-08* i386.c (has_dispatch): Disable for Ryzen.Jan Hubicka2-1/+6
From-SVN: r253523
2017-10-08arm.c (arm_set_return_address): Use MEM_VOLATILE_P on the target mem instead ↵Olivier Hainque2-12/+20
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-08arm-common.c (arm_except_unwind_info): Handle DWARF2_UNWIND_INFO.Olivier Hainque2-1/+12
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-08aarch64.md (*aarch64_reg_<optab>_minus<mode>3): New pattern.Michael Collison4-0/+89
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-08Daily bump.GCC Administrator1-1/+1
From-SVN: r253519
2017-10-07builtins.def (BUILT_IN_SETJMP): Declare as library builtin instead of GCC ↵Eric Botcazou3-0/+33
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-07re PR fortran/82375 (PDT components in PDT declarations fail to compile)Paul Thomas11-13/+386
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-07invoke.texi (Wsuggest-attribute=cold): Document.Jan Hubicka8-4/+76
* 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-07tree-switch-conversion.c (do_jump_if_equal, [...]): Update profile.Jan Hubicka2-0/+9
* tree-switch-conversion.c (do_jump_if_equal, emit_cmp_and_jump_insns): Update profile. From-SVN: r253512
2017-10-07re PR c++/80805 (ICE in sufficiently complex code with -g (dump_aggr_type))Paolo Carlini1-0/+5
2017-10-07 Paolo Carlini <paolo.carlini@oracle.com> PR c++/80805 * g++.dg/cpp0x/pr80805.C: New. From-SVN: r253511
2017-10-07re PR c++/80805 (ICE in sufficiently complex code with -g (dump_aggr_type))Paolo Carlini1-0/+21
2017-10-07 Paolo Carlini <paolo.carlini@oracle.com> PR c++/80805 * g++.dg/cpp0x/pr80805.C: New. From-SVN: r253510
2017-10-07re PR fortran/49232 (Pointer assignment of stride to CONTIGUOUS pointer not ↵Thomas Koenig4-0/+38
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-07gfortran.h (async_io_dt): Add external reference.Thomas Koenig4-3/+51
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-07Fix libgomp.oacc-fortran/{firstprivate-1,parallel-reduction}.f90 for ↵Tom de Vries3-3/+10
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-07Daily bump.GCC Administrator1-1/+1
From-SVN: r253506
2017-10-06re PR c++/66690 (error: use of ‘X’ before deduction of ‘auto’)Paolo Carlini2-0/+19
2017-10-06 Paolo Carlini <paolo.carlini@oracle.com> PR c++/66690 * g++.dg/cpp1y/pr66690.C: New. From-SVN: r253502
2017-10-062017-10-06 Paolo Carlini <paolo.carlini@oracle.com>Paolo Carlini1-1/+1
* Fix last ChangeLog entry. From-SVN: r253498
2017-10-06re PR c++/47791 (finish function is using literal value instead of a ↵Paolo Carlini9-65/+64
#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[PR c++/82424] Dont convert dependent typesNathan Sidwell4-1/+36
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-06re PR c++/82299 (-Wuseless-cast errors on typed enums used in member data ↵Jakub Jelinek5-2/+25
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-06P0704R1 - fixing const-qualified pointers to membersJakub Jelinek4-4/+44
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[C++ PATCH] hash-table for extern-c fns.Nathan Sidwell2-15/+40
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-06Add sanopt support for UBSAN_PTR.Martin Liska4-13/+352
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-06ztest.c (test_large): Pass unsigned long *, not size_t *, to zlib uncompress ↵Ian Lance Taylor2-1/+9
function. * ztest.c (test_large): Pass unsigned long *, not size_t *, to zlib uncompress function. From-SVN: r253491
2017-10-06Committed on behalf of Sudi DasSudakshina Das5-4/+128
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[C++ PATCH] use hash-table for namespace contentsNathan Sidwell4-29/+62
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-06PR82396 workaroundWilco Dijkstra2-1/+7
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-06graphite-dependences.c (scop_get_reads): Move code to...Sebastian Pop2-57/+29
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-06re PR c++/60153 (internal compiler error: in dependent_type_p, at cp/pt.c:21951)Paolo Carlini2-0/+37
2017-10-06 Paolo Carlini <paolo.carlini@oracle.com> PR c++/60153 * g++.dg/cpp0x/variadic-crash3.C: New. From-SVN: r253484
2017-10-06re PR tree-optimization/82434 (-fstore-merging does not work reliably.)Jakub Jelinek7-73/+102
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-06re PR tree-optimization/82397 (qsort comparator non-negative on sorted ↵Richard Biener4-31/+64
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-06PR82322: S/390: Fix vec_ceil and friendsAndreas Krebbel5-0/+41
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