- 21 May, 2019 10 commits
-
-
I figure a tweak to register_move_cost is better than sprinkling ?s in instruction operand alternatives. PR target/90545 * config/rs6000/rs6000.c (rs6000_register_move_cost): Increase power9 direct move cost. * testsuite/gcc.target/powerpc/fold-vec-splats-floatdouble.c: Correct comments and rename functions to suit parameters. From-SVN: r271464
Alan Modra committed -
2019-05-21 Richard Biener <rguenther@suse.de> PR middle-end/90510 * fold-const.c (fold_read_from_vector): New function. * fold-const.h (fold_read_from_vector): Declare. * match.pd (VEC_PERM_EXPR): Build BIT_INSERT_EXPRs for single-element insert permutations. Canonicalize selector further and fix issue with last commit. * gcc.target/i386/pr90510.c: New testcase. From-SVN: r271463
Richard Biener committed -
2019-05-21 Martin Liska <mliska@suse.cz> * gcc.target/i386/pr90500-1.c: Add missing '""'. * gcc.target/i386/pr90500-2.c: Likewise. From-SVN: r271462
Martin Liska committed -
gcc/ChangeLog: * tree-cfg.h (split_critical_edges): Add for_edge_insertion_p parameter with default value false to declaration. (split_edges_for_insertion): New inline function. Wrapper for split_critical_edges with for_edge_insertion_p = true. * tree-cfg.c (split_critical_edges): Don't split non-critical edges if for_edge_insertion_p is false. Fix whitespace. * tree-ssa-pre.c (pass_pre::execute): Call split_edges_for_insertion instead of split_critical_edges. * gcc/tree-ssa-tail-merge.c (tail_merge_optimize): Ditto. * gcc/tree-ssa-sink.c (pass_sink_code::execute): Ditto. (pass_data_sink_code): Update function name in the comment. From-SVN: r271461
Vladislav Ivanishin committed -
* tree-ssa-uninit.c (value_sat_pred_p): This new function is a wrapper around is_value_included_in that knows how to handle BIT_AND_EXPR. (is_pred_expr_subset_of): Use the new function. Handle more cases where code1 == EQ_EXPR and where code1 == BIT_AND_EXPR and thus fix some false positives. testsuite/ * gcc.dg/uninit-28-gimple.c: New test. * gcc.dg/uninit-29-gimple.c: New test. * gcc.dg/uninit-30-gimple.c: New test. * gcc.dg/uninit-31-gimple.c: New test. From-SVN: r271460
Vladislav Ivanishin committed -
2019-05-21 Martin Liska <mliska@suse.cz> * gcc.dg/pr90263.c: Add -O2. From-SVN: r271458
Martin Liska committed -
c-family/ * c-ada-spec.h (enum cpp_operation): Add IS_ASSIGNMENT_OPERATOR. * c-ada-spec.c (print_assignment_operator): New function. (dump_ada_declaration) <FUNCTION_DECL>: Call it do dump explicit copy assignment operators declared as methods and filter out the others. cp/ * decl2.c (cpp_check) <IS_ASSIGNMENT_OPERATOR>: New case. From-SVN: r271457
Eric Botcazou committed -
2019-05-21 Martin Liska <mliska@suse.cz> * config/rs6000/driver-rs6000.c (elf_platform): Do not use an extra newline. * config/rs6000/rs6000-c.c (rs6000_pragma_longcal): Wrap pragma in %<%>. (altivec_resolve_overloaded_builtin): Likewise for vec_lvsl and vec_lvsr. * config/rs6000/rs6000.c (rs6000_option_override_internal): Quote a C type. (rs6000_function_arg): Likewise. (rs6000_expand_set_fpscr_drn_builtin): Remove trailing dot. (rs6000_expand_ternop_builtin): Use interval syntax. (get_element_number): Likewise. (altivec_expand_builtin): Likewise. (rs6000_get_function_versions_dispatcher): Quote target_clones. Fix test-suite. 2019-05-21 Martin Liska <mliska@suse.cz> * gcc.target/powerpc/ppc64-abi-warn-1.c: Wrap a type. * gcc.target/powerpc/pr80315-1.c: Use new interval format. * gcc.target/powerpc/pr80315-2.c: Likewise. * gcc.target/powerpc/pr80315-3.c: Likewise. * gcc.target/powerpc/pr80315-4.c: Likewise. * gcc.target/powerpc/warn-lvsl-lvsr.c: Wrap builtin names. From-SVN: r271455
Martin Liska committed -
2019-05-21 Martin Liska <mliska@suse.cz> PR testsuite/90551 * pr90263.c: Move from gcc.c-torture/compile into gcc.dg. From-SVN: r271454
Martin Liska committed -
From-SVN: r271449
GCC Administrator committed
-
- 20 May, 2019 30 commits
-
-
PR testsuite/90503 * gcc.target/i386/pr22076.c (dg-options): Add -mno-sse2. Remove -flax-vector-conversions. (dg-additional-options): Remove. (test): Change to void. Declare m0 and m1 as __m64 and cast initializer in a proper way. Do not return result. (dg-final): Scan for 2 instances of movq. From-SVN: r271445
Uros Bizjak committed -
From-SVN: r271443
Joseph Myers committed -
PR testsuite/90503 * gcc.target/i386/pr22076.c (dg-options): Add -mno-sse2. From-SVN: r271442
Uros Bizjak committed -
* gfortran.texi: Remove reference to the ASSIGN statement, capitalise complex, state that padding is with spaces and modify the Hollerith constant examples. From-SVN: r271441
Mark Eggleston committed -
PR c++/59813 PR target/90418 * function.h (struct function): Add calls_eh_return member. * gimplify.c (gimplify_call_expr): Set cfun->calls_eh_return when gimplifying __builtin_eh_return call. * tree-inline.c (initialize_cfun): Copy calls_eh_return from src_cfun to cfun. (expand_call_inline): Or in src_cfun->calls_eh_return into dst_cfun->calls_eh_return. * tree-tailcall.c (suitable_for_tail_call_opt_p): Return false if cfun->calls_eh_return. * lto-streamer-in.c (input_struct_function_base): Read calls_eh_return. * lto-streamer-out.c (output_struct_function_base): Write calls_eh_return. From-SVN: r271440
Jakub Jelinek committed -
PR c++/85679 * tree.c (trivially_copyable_p): Don't check CP_TYPE_VOLATILE_P for scalar types. * g++.dg/ext/is_trivially_constructible1.C: Change the expected result for volatile int. * g++.dg/ext/is_trivially_copyable.C: New test. * testsuite/20_util/is_trivially_copyable/value.cc: Change the expected result for volatile int. From-SVN: r271435
Marek Polacek committed -
* name-lookup.c (finish_using_directive): Don't issue inform() if the warning didn't trigger. Add quoting. Tweak the inform message. * g++.dg/lookup/strong-using2.C: New test. From-SVN: r271432
Marek Polacek committed -
* pt.c (convert_template_argument): Add a diagnostic for the [temp.arg]/2 ambiguity case. * g++.dg/cpp2a/nontype-class17.C: New test. From-SVN: r271431
Marek Polacek committed -
From-SVN: r271430
Marek Polacek committed -
* gcc.dg/Wtype-limits-Wextra.c: Adjust expected output after recent diagnostic cleanups. From-SVN: r271429
Jeff Law committed -
2019-05-20 Paolo Carlini <paolo.carlini@oracle.com> * cp-tree.h: Remove remnants of CONV_NONCONVERTING. From-SVN: r271428
Paolo Carlini committed -
2019-05-20 Christophe Lyon <christophe.lyon@linaro.org> PR tree-optimization/90106 * gcc.dg/cdce3.c: Add hard_float effective target. From-SVN: r271424
Christophe Lyon committed -
2019-05-20 Marc Glisse <marc.glisse@inria.fr> * gcc.dg/torture/pta-ptrarith-3.c: Relax the matched pattern. From-SVN: r271423
Marc Glisse committed -
2019-05-20 Marc Glisse <marc.glisse@inria.fr> PR rtl-optimization/43147 * config/i386/i386.c (ix86_gimple_fold_builtin): Handle IX86_BUILTIN_SHUFPD. From-SVN: r271422
Marc Glisse committed -
https://gcc.gnu.org/ml/gcc-patches/2019-05/msg01251.html gcc/cp/ * name-lookup.c (finish_namespace_using_directive) (finish_local_using_directive): Merge to ... (finish_using_directive): ... here. Handle both contexts. * name-lookup.h (finish_namespace_using_directive) (finish_local_using_directive): Replace with ... (finish_using_directive): ... this. * parser.c (cp_parser_using_directive): Adjust. * pt.c (tsubst_expr): Likewise. libcc1/ * libcp1plugin.cc (plugin_add_using_namespace): Call renamed finish_using_directive. From-SVN: r271420
Nathan Sidwell committed -
* tree-ssa-alias.c (refs_may_alias_p_2): Break out from ... (refs_may_alias_p_1): ... here; update stats. (refs_may_alias_p): Do not update stats here. From-SVN: r271419
Jan Hubicka committed -
https://gcc.gnu.org/ml/gcc-patches/2019-05/msg01245.html * cp-tree.h (struct lang_decl_ns): Remove usings field. (DECL_NAMESPACE_USING): Delete. * name-lookup.c (name_lookup::search_usings): Use namespace's binding scope. (name_lookup::queue_namespae): Likewise. (finish_namespace_using_directive, push_namespace): Likewise. (has_using_namespace_std_directive): Just search the entire binding stack. From-SVN: r271416
Nathan Sidwell committed -
Darwin doesn't emit a .file directive by default and one of the scan-asm hits for ELF targets comes from this directive. Adjust for Darwin and explain. 2019-05-20 Iain Sandoe <iain@sandoe.co.uk> PR testsuite/58321 * gcc.target/i386/memcpy-strategy-3.c: Adjust count for Darwin and add a comment as to the reason for the difference. * gcc.target/i386/memset-strategy-1.c: Likewise. From-SVN: r271415
Iain Sandoe committed -
2019-05-20 Richard Biener <rguenther@suse.de> * tree-ssa-structalias.c (find_func_aliases): POINTER_DIFF_EXPR doesn't produce pointers. {TRUNC,CEIL,FLOOR,ROUND,EXACT}_{DIV,MOD}_EXPR points to what the first operand points to. From-SVN: r271414
Richard Biener committed -
* tree-ssa-alias.c (compare_sizes): New function. (sompare_type_sizes): New function (aliasing_component_refs_p): Use it. (indirect_ref_may_alias_decl_p): Likewise. From-SVN: r271413
Jan Hubicka committed -
An array of an unknown bound is an incomplete type, so no object of such a type can be constructed. This means __is_constructible should always be false for an array of unknown bound. This patch also changes the std::is_default_constructible trait to use std::is_constructible, which now gives the right answer for arrays of unknown bound. gcc/cp: PR c++/90532 Ensure __is_constructible(T[]) is false * method.c (is_xible_helper): Return error_mark_node for construction of an array of unknown bound. gcc/testsuite: PR c++/90532 Ensure __is_constructible(T[]) is false * g++.dg/ext/90532.C: New test. libstdc++-v3: PR c++/90532 Ensure __is_constructible(T[]) is false * include/std/type_traits (__do_is_default_constructible_impl) (__is_default_constructible_atom, __is_default_constructible_safe): Remove. (is_default_constructible): Use is_constructible. * testsuite/20_util/is_constructible/value.cc: Check int[] case. * testsuite/20_util/is_default_constructible/value.cc: Likewise. * testsuite/20_util/is_trivially_constructible/value.cc: Likewise. * testsuite/20_util/is_trivially_default_constructible/value.cc: Likewise. From-SVN: r271412
Jonathan Wakely committed -
* config/i386/sol2.h (CC1_SPEC): Reject -mx32. From-SVN: r271411
Rainer Orth committed -
* config/sol2.h (LIBTSAN_EARLY_SPEC): Remove : after %e. (LIBLSAN_EARLY_SPEC): Likewise. * config/i386/sol2.h (ASAN_REJECT_SPEC): Likewise. From-SVN: r271410
Rainer Orth committed -
2019-05-20 Martin Liska <mliska@suse.cz> * config/i386/i386.c (ix86_libc_has_fast_function): Add ATTRIBUTE_UNUSED for the argument. From-SVN: r271406
Martin Liska committed -
2019-05-20 Richard Biener <rguenther@suse.de> * gimple-match-head.c: Include vec-perm-indices.h. * generic-match-head.c: Likewise. * fold-const.h (fold_vec_perm): Declare when vec-perm-indices.h is included. * fold-const.c (fold_vec_perm): Export. (fold_ternary_loc): Move non-constant folding of VEC_PERM_EXPR... (match.pd): ...here. From-SVN: r271404
Richard Biener committed -
* cfgloop.h (struct loop): Add simdlen member. * cfgloopmanip.c (copy_loop_info): Copy simdlen as well. * omp-expand.c (expand_omp_simd): Set it if simdlen clause is present. * tree-vect-loop.c (vect_analyze_loop): Pass loop->simdlen != 0 as new argument to autovectorize_vector_sizes target hook. If loop->simdlen, pick up vector size where the vectorization factor is equal to loop->simd, and if there is none, fall back to the first successful one. (vect_transform_loop): Adjust autovectorize_vector_sizes target hook caller. * omp-low.c (omp_clause_aligned_alignment): Likewise. * omp-general.c (omp_max_vf): Likewise. * optabs-query.c (can_vec_mask_load_store_p): Likewise. * tree-vect-slp.c (vect_slp_bb): Likewise. * target.def (autovectorize_vector_sizes): Add ALL argument and document it. * doc/tm.texi: Adjust documentation. * targhooks.c (default_autovectorize_vector_sizes): Add bool argument. * targhooks.h (default_autovectorize_vector_sizes): Likewise. * config/aarch64/aarch64.c (aarch64_autovectorize_vector_sizes): Add bool argument. * config/arc/arc.c (arc_autovectorize_vector_sizes): Likewise. * config/arm/arm.c (arm_autovectorize_vector_sizes): Likewise. * config/mips/mips.c (mips_autovectorize_vector_sizes): Likewise. * config/i386/i386.c (ix86_autovectorize_vector_sizes): Likewise. If true and TARGET_AVX512F or TARGET_AVX, push 3 or 2 sizes even if preferred vector size is not 512-bit or 256-bit, just put those unpreferred ones last. * gcc.target/i386/avx512f-simd-1.c: New test. From-SVN: r271403
Jakub Jelinek committed -
2019-05-20 Christophe Lyon <christophe.lyon@linaro.org> * gcc.target/aarch64/target_attr_10.c: Add quotes to expected error message. * gcc.target/arm/attr-neon-builtin-fail.c: Likewise. From-SVN: r271402
Christophe Lyon committed -
2019-05-20 Martin Liska <mliska@suse.cz> * targhooks.c (default_libc_has_fast_function): New function. * targhooks.h (default_libc_has_fast_function): Likewise. From-SVN: r271401
Martin Liska committed -
2019-05-20 Martin Liska <mliska@suse.cz> PR middle-end/90263 * builtins.c (expand_builtin_memory_copy_args): When having a target with fast mempcpy implementation do now use memcpy. * config/i386/i386.c (ix86_libc_has_fast_function): New. (TARGET_LIBC_HAS_FAST_FUNCTION): Likewise. * doc/tm.texi: Likewise. * doc/tm.texi.in: Likewise. * target.def: * expr.c (emit_block_move_hints): Add 2 new arguments. * expr.h (emit_block_move_hints): Bail out when libcall to memcpy would be used. 2019-05-20 Martin Liska <mliska@suse.cz> PR middle-end/90263 * gcc.c-torture/compile/pr90263.c: New test. * lib/target-supports.exp: Add check_effective_target_glibc. From-SVN: r271400
Martin Liska committed -
2019-05-20 Martin Liska <mliska@suse.cz> * profile-count.c: Add vertical spacing in order to separate functions. * profile-count.h: Likewise. From-SVN: r271399
Martin Liska committed
-