1. 05 Nov, 2019 17 commits
    • [ARM,testsuite] Skip tests incompatible with -mpure-code. · 30f1f974
      All these tests fail when using -mpure-code:
      * some force A or R profile
      * some use Neon
      * some use -fpic/-fPIC
      all of which are not supported by this option.
      
      2019-11-05  Christophe Lyon  <christophe.lyon@linaro.org>
      
      	* gcc.target/arm/attr-crypto.c: Skip if -mpure-code is used.
      	* gcc.target/arm/attr-neon-fp16.c: Likewise.
      	* gcc.target/arm/combine-cmp-shift.c: Likewise.
      	* gcc.target/arm/data-rel-1.c: Likewise.
      	* gcc.target/arm/data-rel-2.c: Likewise.
      	* gcc.target/arm/data-rel-3.c: Likewise.
      	* gcc.target/arm/ftest-armv7a-arm.c: Likewise.
      	* gcc.target/arm/ftest-armv7a-thumb.c: Likewise.
      	* gcc.target/arm/ftest-armv7r-arm.c: Likewise.
      	* gcc.target/arm/ftest-armv7r-thumb.c: Likewise.
      	* gcc.target/arm/ftest-armv7ve-arm.c: Likewise.
      	* gcc.target/arm/ftest-armv7ve-thumb.c: Likewise.
      	* gcc.target/arm/ftest-armv8a-arm.c: Likewise.
      	* gcc.target/arm/ftest-armv8a-thumb.c: Likewise.
      	* gcc.target/arm/lceil-vcvt_1.c: Likewise.
      	* gcc.target/arm/lfloor-vcvt_1.c: Likewise.
      	* gcc.target/arm/lround-vcvt_1.c: Likewise.
      	* gcc.target/arm/memset-inline-10.c: Likewise.
      	* gcc.target/arm/mod_2.c: Likewise.
      	* gcc.target/arm/mod_256.c: Likewise.
      	* gcc.target/arm/pr40657-1.c: Likewise.
      	* gcc.target/arm/pr44788.c: Likewise.
      	* gcc.target/arm/pr50305.c: Likewise.
      	* gcc.target/arm/pr51835.c: Likewise.
      	* gcc.target/arm/pr51915.c: Likewise.
      	* gcc.target/arm/pr52006.c: Likewise.
      	* gcc.target/arm/pr53187.c: Likewise.
      	* gcc.target/arm/pr58784.c: Likewise.
      	* gcc.target/arm/pr59575.c: Likewise.
      	* gcc.target/arm/pr59923.c: Likewise.
      	* gcc.target/arm/pr60650-2.c: Likewise.
      	* gcc.target/arm/pr60657.c: Likewise.
      	* gcc.target/arm/pr60663.c: Likewise.
      	* gcc.target/arm/pr67439_1.c: Likewise.
      	* gcc.target/arm/pr68620.c: Likewise.
      	* gcc.target/arm/pr7676.c: Likewise.
      	* gcc.target/arm/pr79239.c: Likewise.
      	* gcc.target/arm/pr81863.c: Likewise.
      	* gcc.target/arm/pragma_attribute.c: Likewise.
      	* gcc.target/arm/pragma_cpp_fma.c: Likewise.
      	* gcc.target/arm/require-pic-register-loc.c: Likewise.
      	* gcc.target/arm/thumb-ltu.c: Likewise.
      	* gcc.target/arm/thumb1-pic-high-reg.c: Likewise.
      	* gcc.target/arm/thumb1-pic-single-base.c: Likewise.
      	* gcc.target/arm/tlscall.c: Likewise.
      	* gcc.target/arm/unsigned-float.c: Likewise.
      	* gcc.target/arm/vrinta-ce.c: Likewise.
      
      From-SVN: r277828
      Christophe Lyon committed
    • Use more ggc_delete. · 9aca5960
      2019-11-05  Martin Liska  <mliska@suse.cz>
      
      	* symbol-summary.h: Use ggc_delete.
      
      From-SVN: r277827
      Martin Liska committed
    • [Aarch64] Fix vec_perm cost for thunderx2t99 · 5aef51c2
      Here is the one-liner that fixes the incorrect
      vec_perm cost for thunderx2t99 chip.
      With the patch applied 526.blender of CPU2017
      gets ~5% improvement with no measurable changes
      for other benchmarks.
      
      2019-11-05  Anton Youdkevitch  <anton.youdkevitch@bell-sw.com>
      
      	* config/aarch64/aarch64.c (thunderx2t99_vector_cost):
      	Change vec_perm field to 10.
      
      From-SVN: r277826
      Anton Youdkevitch committed
    • * doc/install.texi: Further fix syntax for html generation · dd2f3208
      From-SVN: r277824
      Arnaud Charlet committed
    • Update coding style in symbol-summary.h. · dbe348c1
      2019-11-05  Martin Liska  <mliska@suse.cz>
      
      	* symbol-summary.h: Rename allocator to m_allocator and
      	add comment.
      
      From-SVN: r277823
      Martin Liska committed
    • re PR tree-optimization/92324 (ICE in expand_direct_optab_fn, at internal-fn.c:2890) · f340142b
      2019-11-05  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/92324
      	* tree-vect-loop.c (check_reduction_path): For MIN/MAX require
      	all signed or unsigned operations.
      
      	* gcc.dg/vect/pr92324-3.c: New testcase.
      
      From-SVN: r277822
      Richard Biener committed
    • hsa-brig.c: Include alloc-pool.h · a895e6d7
      
      	* hsa-brig.c: Include alloc-pool.h
      	* hsa-dump.c: Likewise.
      	* hsa-gen.c: Likewise.
      	* hse-regalloc.c: Likewise.
      	* ipa-hsa.c: Likewise.
      	* ipa-predicate.c: Likewise.
      	* ipa-reference.c: Likewise.
      	* ipa-sra.c: Likewise.
      	* omp-expand.c: Likewise.
      	* omp-general.c: Likewise.
      	* omp-low.c: Likewise.
      	* sumbol-summary.h (function_summary_base): Add allocator.
      	(function_summary<T *>::function_summary): Update construction.
      	(fast_function_summary<T *, V>::fast_function_summary): Likewise.
      	(call_summary_base): Add allcator.
      	(call_summary<T *>::call_summary): Update construction.
      	(fast_call_summary<T *, V>::fast_call_summary): Likewise.
      
      From-SVN: r277821
      Jan Hubicka committed
    • re PR tree-optimization/91945 (ICE: tree check: expected integer_cst, have… · f05b3724
      re PR tree-optimization/91945 (ICE: tree check: expected integer_cst, have var_decl in get_len, at tree.h:5837 since r274997)
      
      	PR tree-optimization/91945
      	* builtins.c (compute_objsize): For ARRAY_REF, only multiply off
      	by tpsize if it is both non-NULL and INTEGER_CST, otherwise punt.
      	Formatting fix.
      
      	* gfortran.dg/pr91945.f90: New test.
      
      From-SVN: r277820
      Jakub Jelinek committed
    • re PR c++/92343 ([[likely]]/[[unlikely]] prevent method from being a constant expression) · 81012684
      	PR c++/92343
      	* constexpr.c (potential_constant_expression_1): Return true rather
      	than false for PREDICT_EXPR.
      
      	* g++.dg/cpp2a/attr-likely6.C: New test.
      
      From-SVN: r277819
      Jakub Jelinek committed
    • Move vrp_set_zero_nonzero_bits from tree-vrp.c into vr-values.c, and make it use… · 8f119c55
      Move vrp_set_zero_nonzero_bits from tree-vrp.c into vr-values.c, and make it use wi_set_zero_nonzero_bits.
      
      Move vrp_set_zero_nonzero_bits from tree-vrp.c into vr-values.c, and
      make it use wi_set_zero_nonzero_bits.  Remove the now redundant
      wide_int_range_set_zero_nonzero_bits.
      
      From-SVN: r277818
      Aldy Hernandez committed
    • Really add gcc/config/gcn/t-omp-device · 16a3a930
              gcc/
              * config/gcn/t-omp-device: New.
              Should have been part of Rev. 277797.
      
      From-SVN: r277817
      Tobias Burnus committed
    • Remove FIELD_DECL leftover. · db81e91c
      2019-11-05  Martin Liska  <mliska@suse.cz>
      
      	PR c++/92339
      	* fold-const.c (operand_compare::hash_operand): Remove
      	FIELD_DECL handling.
      2019-11-05  Martin Liska  <mliska@suse.cz>
      
      	PR c++/92339
      	* g++.dg/pr92339.C: New test.
      
      From-SVN: r277816
      Martin Liska committed
    • crontab: Disable snapshots from gcc-7-branch. · d50dbea1
      2019-10-05  Richard Biener  <rguenther@suse.de>
      
              * crontab: Disable snapshots from gcc-7-branch.
      
      From-SVN: r277815
      Richard Biener committed
    • decl.c (omp_declare_variant_finalize_one): Call declare_simd_adjust_this not just on the context... · 80d7f5d3
      	* decl.c (omp_declare_variant_finalize_one): Call
      	declare_simd_adjust_this not just on the context, but also on the
      	variant-id expression for methods.  Don't call
      	cp_get_callee_fndecl_nofold, call cp_get_callee and only if it is
      	safe cp_get_fndecl_from_callee.  Don't try to print as %qD
      	NULL in diagnostics.
      	* pt.c (tsubst_attribute): Handle "omp declare variant base"
      	attribute.
      	(tsubst_function_decl): Call omp_declare_variant_finalize
      	if there are any "omp declare variant base" attributes left.
      
      	* g++.dg/gomp/declare-variant-7.C: New test.
      	* g++.dg/gomp/declare-variant-8.C: New test.
      
      From-SVN: r277814
      Jakub Jelinek committed
    • Use value_range_base::equal_p in value_range_base::operator== so we can handle · e65deaff
      symbolics without dying.
      
      From-SVN: r277812
      Aldy Hernandez committed
    • Daily bump. · 5d293105
      From-SVN: r277810
      GCC Administrator committed
  2. 04 Nov, 2019 23 commits
    • PR c++/91979 - mangling nullptr expression · e0c866dd
      2019-11-04  Kamlesh Kumar  <kamleshbhalui@gmail.com>
      
      gcc/cp
              * cp/mangle.c (write_template_arg_literal): Handle nullptr
              mangling.
      gcc
      	* common.opt (-fabi-version): Document =14.
      	* doc/invoke.texi (C++ Dialect Options): Likewise.
      gcc/c-family
              * c-opts.c (c_common_post_options): Update
              latest_abi_version.
      libiberty
              * cp-demangle.c (d_expr_primary): Handle
              nullptr demangling.
              * testsuite/demangle-expected: Added test.
      
      From-SVN: r277801
      Kamlesh Kumar committed
    • Do not special case pointers in value_range_base::set. · 04373f92
      From-SVN: r277799
      Aldy Hernandez committed
    • * typeck.c (check_return_expr): Avoid redundant error. · 1dee8996
      From-SVN: r277798
      Jason Merrill committed
    • Add gcc/config/gcn/t-omp-device for OpenMP declare variant kind/arch/isa · 955cd057
              gcc/
              * config/gcn/gcn.c (gcn_omp_device_kind_arch_isa): New function.
              (TARGET_OMP_DEVICE_KIND_ARCH_ISA): Redefine to
              gcn_omp_device_kind_arch_isa.
              * config/gcn/t-omp-device: New file.
              * configure.ac: Support gcn for omp_device_property.
              * configure: Regenerate.
      
      From-SVN: r277797
      Tobias Burnus committed
    • Remove handle_pointers argument from all the vrp_val*{min,max} functions. · 9ac6cb7e
      Remove handle_pointers argument from all the vrp_val*{min,max} functions.  Always
      assume pointers should be handled.
      
      From-SVN: r277796
      Aldy Hernandez committed
    • ipa-reference.c (init_function_info): Initialize info->global.statics_read. · 74b6e216
      
      	* ipa-reference.c (init_function_info): Initialize
      	info->global.statics_read.
      
      From-SVN: r277795
      Jan Hubicka committed
    • Use the value_range_base constructors in value_range_base::invert to · 8ced1d76
      make sure we build canonically correct ranges.
      
      From-SVN: r277794
      Aldy Hernandez committed
    • [D] Remove unchecked to_constant in VECTOR_TYPE handling · a1b68059
      The SVE port now tries to register variable-length VECTOR_TYPEs
      at start-up, so it's no longer possible to use the asserting
      to_constant on the number of vector elements.  This patch punts
      on variable element counts instead, just like we do for other
      things that the frontend doesn't recognise.
      
      The brace indentation matches the surrounding style.
      
      2019-11-04  Richard Sandiford  <richard.sandiford@arm.com>
      
      gcc/d/
      	* d-builtins.cc (build_frontend_type): Cope with variable
      	TYPE_VECTOR_SUBPARTS.
      
      From-SVN: r277793
      Richard Sandiford committed
    • Remove unused range_int_cst_singleton_p. · 63b7a614
      From-SVN: r277792
      Aldy Hernandez committed
    • Implement debugging functions for assert_info's. · dbb640fa
      From-SVN: r277790
      Aldy Hernandez committed
    • ipa-inline-transform.c: Include ipa-utils.h · 2bc2379b
      
      	* ipa-inline-transform.c: Include ipa-utils.h
      	(inline_call): Set thunk_expansion flag.
      	* ipa-utils.h (thunk_expansion): Declare.
      	* ipa-devirt.c (thunk_expansion): New global var.
      	(devirt_node_removal_hook): Do not invalidate cache while
      	doing thunk expansion.
      
      From-SVN: r277789
      Jan Hubicka committed
    • SLP: Initialize variable to fix bootstrap after r277784. · 0ec77a6c
      This initializes the rstmt variable with NULL and adds an assert to
      check that a value has been given by one of the if cases before use.
      
      This fixes the bootstrap failure due to -Werror.
      
      Committed under the gcc obvious rule.
      
      gcc/ChangeLog:
      
      	* tree-vect-slp.c (vectorize_slp_instance_root_stmt): Initialize rstmt.
      
      From-SVN: r277788
      Tamar Christina committed
    • re PR testsuite/92302 (gcc.target/sparc/sparc-ret-3.c FAILs) · 57d4aea2
      	PR testsuite/92302
      	* gcc.target/sparc/sparc-ret-3.c: Accept more registers in address.
      
      From-SVN: r277787
      Eric Botcazou committed
    • PR tree-optimization/92349 - ICE in -Warray-bounds of a VLA member · 2f967bc4
      gcc/testsuite/ChangeLog:
      
      	PR tree-optimization/92349
      	* gcc.dg/Warray-bounds-50.c: New test.
      
      gcc/ChangeLog:
      
      	PR tree-optimization/92349
      	* tree-vrp.c (vrp_prop::check_array_ref): Avoid assuming struct
      	memebers have constant sizes.
      
      From-SVN: r277786
      Martin Sebor committed
    • [vect] Clean up orig_loop_vinfo from vect_analyze_loop · 494d6c28
      gcc/ChangeLog:
      2019-11-04  Andre Vieira  <andre.simoesdiasvieira@arm.com>
      
      	* tree-vect-loop.c (vect_analyze_loop): Remove orig_loop_vinfo
      	parameter.
      	* tree-vectorizer.h (vect_analyze_loop): Update declaration.
      	* tree-vectorizer.c (try_vectorize_loop_1): Update calls to
      	vect_analyze_loop.
      
      From-SVN: r277785
      Andre Vieira committed
    • [SLP] SLP vectorization: vectorize vector constructors · 818b3293
      gcc/ChangeLog:
      2019-11-04  Joel Hutton  <Joel.Hutton@arm.com>
      
      	* expr.c (store_constructor): Modify to handle single element vectors.
      	* tree-vect-slp.c (vect_analyze_slp_instance): Add case for vector
      	constructors.
      	(vect_slp_check_for_constructors): New function.
      	(vect_slp_analyze_bb_1): Call new function to check for vector
      	constructors.
      	(vectorize_slp_instance_root_stmt): New function.
      	(vect_schedule_slp): Call new function to vectorize root stmt of vector
      	constructors.
      	* tree-vectorizer.h (SLP_INSTANCE_ROOT_STMT): New field.
      
      gcc/testsuite/ChangeLog:
      2019-11-04  Joel Hutton  <Joel.Hutton@arm.com>
      
      	* gcc.dg/vect/bb-slp-40.c: New test.
      	* gcc.dg/vect/bb-slp-41.c: New test.
      
      From-SVN: r277784
      Joel Hutton committed
    • re PR tree-optimization/92345 (ICE in vec<_stmt_vec_info*, va_heap,… · a6ba6237
      re PR tree-optimization/92345 (ICE in vec<_stmt_vec_info*, va_heap, vl_embed>::space (vect_get_and_check_slp_defs))
      
      2019-11-04  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/92345
      	* tree-vect-loop.c (vect_is_simple_reduction): Return whether
      	we produced a reduction chain.
      	(vect_analyze_scalar_cycles_1): Do not add reduction chains to
      	LOOP_VINFO_REDUCTIONS.
      
      	* gcc.dg/torture/pr92345.c: New testcase.
      
      From-SVN: r277782
      Richard Biener committed
    • cgraphclones.c (cgraph_node::create_version_clone): Do not duplicate summaries. · 7237f93e
      
      	* cgraphclones.c (cgraph_node::create_version_clone): Do not
      	duplicate summaries.
      	* ipa-fnsummary.c (ipa_fn_summary_alloc): Allocate size summary
      	first.
      	(ipa_fn_summary_t::duplicate): Use get instead of get_create to
      	access call summaries.
      	(dump_ipa_call_summary): Be ready for missing edge summaries.
      	(analyze_function_body): Use get instead of get_create to access
      	edge summary.
      	(estimate_calls_size_and_time): Do not access summaries of
      	inlined edges; sanity check they are missing.
      	(ipa_call_context::estimate_size_and_time): Use get instead
      	of get_create to access node summary.
      	(inline_update_callee_summaries): Do not update depth of
      	inlined edge.
      	(ipa_merge_fn_summary_after_inlining): Remove inline edge from
      	growth caches.
      	(ipa_merge_fn_summary_after_inlining): Use get instead
      	of get_create.
      	* ipa-fnsummary.h (ipa_remove_from_growth_caches): Declare.
      	* ipa-inline-analyssi.c (edge_growth_cache): Turn to
      	fast summary.
      	(initialize_growth_caches): Update.
      	(do_estimate_edge_time): Remove redundant copy of context.
      	(ipa_remove_from_growth_caches): New function.
      	* ipa-inline.c (flatten_function): Update overall summary
      	only when optimizing.
      	(inline_to_all_callers): Update overall summary of function
      	inlined to.
      	* ipa-inline.h (edge_growth_cache): Turn to fast summary.
      	* symbol-summary.h (call_summary_base): Set m_initialize_when_cloning
      	to false.
      
      From-SVN: r277780
      Jan Hubicka committed
    • system.h: Include malloc.h if INCLUDE_MALLOC_H and HAVE_MALLINFO. · 6fb34954
      2019-11-04  Richard Biener  <rguenther@suse.de>
      
      	* system.h: Include malloc.h if INCLUDE_MALLOC_H and HAVE_MALLINFO.
      	* ggc-common.c: Remove inclusion of malloc.h, define INCLUDE_MALLOC_H.
      
      From-SVN: r277779
      Richard Biener committed
    • * ggc-common.c: Include system.h before malloc.h. · 253f29f1
      From-SVN: r277778
      David Edelsohn committed
    • pass --enable-obsolete down to gcc/configure for auto-build.h · 499d66aa
      Configuring GCC for obsolete targets works as long as build = host.
      When it isn't, --enable-obsolete is not passed down to the additional
      build configure started by gcc/configure, used to generate
      auto-build.h.  The build configure fails and we end up without a
      auto-build.h, but the host configure proceeds, so we only get a fatal
      failure much later, when make realizes auto-build.h is not there and
      there's no rule to create it.
      
      This patch gets the host configure to fail when the build configure
      does, leaving the temporary build configure dir behind for
      investigation.  It also arranges for --eanble-obsolete to be passed
      down to the build configure.
      
      Alas, the latter triggered a warning in the build configure because
      --enable-obsolete is not a recognized configure option.  That's not
      reported in the host configure because of the
      --disable-option-checking passed by the top-level configure, so I
      arranged for that to be passed down to the build configure as well.
      
      Finally, since my initial suspicion when investigating this failure
      was that auto-build.h had been removed after configuration and there
      was no rule to rebuild it, I'm adding rules to gcc/Makefile to get it
      created or updated as needed.  Since it is configure that creates it,
      as run by e.g. config.status --recheck, and config.status is created
      after auto-build.h, I've made config.status depend on auto-build.h,
      and added a dummy rule to create auto-build.h.  This would normally
      not be enough to create a header when needed, but since Makefile
      depends on config.status, and make first updates Makefile, it ends up
      working, as long as nothing else that Makefile depends on requires
      auto-build.h but not config.status.  The config.status dependency and
      the auto-build.h rule are only enabled in the cases in which
      auto-build.h is actually used, namely when build != host.
      
      
      for  gcc/ChangeLog
      
      	* configure.ac: Pass --enable-obsolete=* and
      	--enable-option-checking=* down to build configure, and fail
      	if it fails.  AC_SUBST HAVE_AUTO_BUILD.
      	* configure: Rebuild.
      	* Makefile.in [HAVE_AUTO_BUILD] (auto-build.h): New rule.
      	[HAVE_AUTO_BUILD] (config.status): Depend on auto-build.h.
      
      From-SVN: r277777
      Alexandre Oliva committed
    • libgomp - remove dg-run if dg-options O2 is used · d8f03b03
      	* testsuite/libgomp.fortran/pr66199-1.f90: Remove
      	'dg-do run' (implies torture test) as 'dg-options "O2"' is used.
      	* testsuite/libgomp.fortran/pr66199-2.f90: Ditto.
      	* testsuite/libgomp.fortran/taskloop2.f90: Ditto.
      	* testsuite/libgomp.fortran/taskloop3.f90: Ditto.
      	* testsuite/libgomp.fortran/taskloop4.f90: Ditto.
      
      From-SVN: r277776
      Tobias Burnus committed