Skip to content
Snippets Groups Projects
  1. May 24, 2019
    • Andrew Stubbs's avatar
      GCN: Wait for exit value to write before exiting. · e8daba7e
      Andrew Stubbs authored
      2019-05-24  Andrew Stubbs  <ams@codesourcery.com>
      
      	gcc/
      	* config/gcn/gcn-run.c (main): Set a non-zero return value if the
      	kernel does not exit cleanly.
      	* config/gcn/gcn.md (gcn_return): Insert s_waitcnt before s_dcache_wb.
      
      From-SVN: r271605
      e8daba7e
    • Jason Merrill's avatar
      Revert "* gimplify.c (gimplify_cond_expr): Don't check TREE_ADDRESSABLE." · c2465dae
      Jason Merrill authored
      This reverts commit ac0f04360cc04e5b80a7d74f7edc47e395d2e744.
      
      From-SVN: r271604
      c2465dae
    • Jonathan Wakely's avatar
      Fix broken shared_ptr test · 2fb1b29d
      Jonathan Wakely authored
      	* testsuite/20_util/shared_ptr/cons/alias-rval.cc: Fix test.
      	* testsuite/20_util/shared_ptr/cons/alias.cc: Remove unused function.
      
      From-SVN: r271603
      2fb1b29d
    • Clement Chigot's avatar
      Makefile.am (BUILDTESTS): Remove test_elf, add test_elf_32 and test_elf_64. · 245254b8
      Clement Chigot authored
      	* Makefile.am (BUILDTESTS): Remove test_elf, add test_elf_32 and
      	test_elf_64.
      	* Makefile.in: Regenerate.
      
      From-SVN: r271602
      245254b8
    • Richard Biener's avatar
      re PR middle-end/90607 (gcc.dg/pr53265.c FAILs) · dbd59515
      Richard Biener authored
      2019-05-24  Richard Biener  <rguenther@suse.de>
      
      	PR testsuite/90607
      	* tree-loop-distribution.c (struct partition): Add location
      	member.
      	(partition_alloc): Initialize all fields.
      	(generate_memset_builtin): Use the location recorded in the
      	partition for the generated call.
      	(generate_memcpy_builtin): Likewise.
      	(classify_partition): Record the location of a single store
      	as location for the partition.
      
      	* gcc.dg/pr53265.c: Amend for new expected diagnostic.
      
      From-SVN: r271601
      dbd59515
    • Andrew Stubbs's avatar
      Fix 64-bit addition in prologue. · 3258c2d6
      Andrew Stubbs authored
      2019-05-24  Andrew Stubbs  <ams@codesourcery.com>
      
      	gcc/
      	* config/gcn/gcn.c (gcn_expand_prologue): Use gen_addsi3_scalar_carry
      	for lo-part.
      
      From-SVN: r271600
      3258c2d6
    • Matthew Malcomson's avatar
      [aarch64] Change two function declaration types · 1ec77eed
      Matthew Malcomson authored
      Commit r271514 missed changing the type of two functions in
      aarch64-protos.h.  The function definitions had been updated to use
      uint64_t while the function declarations had been missed.
      They were missed since I only tested the patch on aarch64 where
      `unsigned long` is the same as `uint64_t`.
      
      This patch updates these declarations in aarch64-protos.h.
      
      Tested by building an aarch64 cross-compiler on arm-none-linux-gnu (so
      that `unsigned long` and `uint64_t` are different and would give error
      messages), and bootstrapping on aarch64-none-linux-gnu.
      Also manually tested command line options to see that
      -march=armv8-a+typo prints out the expected flags while using the new
      feature flags does not complain about missing flags.
      
      gcc/ChangeLog:
      
      2019-05-24  Matthew Malcomson  <matthew.malcomson@arm.com>
      
      	PR target/90588
      	* common/config/aarch64/aarch64-common.c
      	(aarch64_rewrite_selected_cpu): Change local temporary variable
      	type from unsigned long to uint64_t.
      	* config/aarch64/aarch64-protos.h (aarch64_parse_extension,
      	aarch64_get_extension_string_for_isa_flags): Change declaration to
      	match new definition by replacing unsigned long with uint64_t.
      
      From-SVN: r271599
      1ec77eed
    • Jakub Jelinek's avatar
      re PR tree-optimization/90106 (builtin sqrt() ignoring libm's sqrt call result) · 64124cef
      Jakub Jelinek authored
      	PR tree-optimization/90106
      	PR testsuite/90517
      	* gcc.dg/cdce1.c: Don't scan-assembler, instead -fdump-tree-optimized
      	and scan-tree-dump for tail call.
      	* gcc.dg/cdce2.c: Likewise.
      
      From-SVN: r271598
      64124cef
    • Jakub Jelinek's avatar
      re PR libgomp/90585 (libgomp hsa plugin ftbfs in the x32 multilib variant) · b5c26449
      Jakub Jelinek authored
      	PR libgomp/90585
      	* plugin/plugin-hsa.c: Include gstdint.h.  Include inttypes.h only if
      	HAVE_INTTYPES_H is defined.
      	(print_uint64_t): New typedef.
      	(PRIu64): Define if HAVE_INTTYPES_H is not defined.
      	(print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
      	"lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
      	(release_kernel_dispatch): Likewise.  Cast shadow->debug to uintptr_t
      	before casting to void *.
      	* plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
      	* oacc-mem.c: Don't include config.h nor stdint.h.
      	* target.c: Don't include config.h.
      	* oacc-cuda.c: Likewise.
      	* oacc-host.c: Don't include stdint.h.
      
      From-SVN: r271597
      b5c26449
    • Jakub Jelinek's avatar
      re PR target/90568 (stack protector should use cmp or sub, not xor, to allow macro-fusion on x86) · d2e8b6ae
      Jakub Jelinek authored
      	PR target/90568
      	* config/i386/x86-tune-sched.c (ix86_macro_funsion_pair_p): Call
      	gen_attr_type just once instead of 4-7 times.  Formatting fixes.
      	Handle stack_protect_test_<mode> codegen similarly to corresponding
      	sub instruction.
      
      From-SVN: r271596
      d2e8b6ae
    • Richard Biener's avatar
      re PR tree-optimization/88440 (size optimization of memcpy-like code) · 1d672917
      Richard Biener authored
      2019-05-23  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/88440
      	* opts.c (default_options_table): Enable -ftree-loop-distribute-patterns
      	at -O[2s]+.
      	* tree-loop-distribution.c (generate_memset_builtin): Fold the
      	generated call.
      	(generate_memcpy_builtin): Likewise.
      	(distribute_loop): Pass in whether to only distribute patterns.
      	(prepare_perfect_loop_nest): Also allow size optimization.
      	(pass_loop_distribution::execute): When optimizing a loop
      	nest for size allow pattern replacement.
      
      	* gcc.dg/tree-ssa/ldist-37.c: New testcase.
      	* gcc.dg/tree-ssa/ldist-38.c: Likewise.
      	* gcc.dg/vect/vect.exp: Add -fno-tree-loop-distribute-patterns.
      	* gcc.dg/tree-ssa/ldist-37.c: Adjust.
      	* gcc.dg/tree-ssa/ldist-38.c: Likewise.
      	* g++.dg/tree-ssa/pr78847.C: Likewise.
      	* gcc.dg/autopar/pr39500-1.c: Likewise.
      	* gcc.dg/autopar/reduc-1char.c: Likewise.
      	* gcc.dg/autopar/reduc-7.c: Likewise.
      	* gcc.dg/tree-ssa/ivopts-lt-2.c: Likewise.
      	* gcc.dg/tree-ssa/ivopts-lt.c: Likewise.
      	* gcc.dg/tree-ssa/predcom-dse-1.c: Likewise.
      	* gcc.dg/tree-ssa/predcom-dse-2.c: Likewise.
      	* gcc.dg/tree-ssa/predcom-dse-3.c: Likewise.
      	* gcc.dg/tree-ssa/predcom-dse-4.c: Likewise.
      	* gcc.dg/tree-ssa/prefetch-7.c: Likewise.
      	* gcc.dg/tree-ssa/prefetch-8.c: Likewise.
      	* gcc.dg/tree-ssa/prefetch-9.c: Likewise.
      	* gcc.dg/tree-ssa/scev-11.c: Likewise.
      	* gcc.dg/vect/costmodel/i386/costmodel-vect-31.c: Likewise.
      	* gcc.dg/vect/costmodel/i386/costmodel-vect-33.c: Likewise.
      	* gcc.dg/vect/costmodel/x86_64/costmodel-vect-31.c: Likewise.
      	* gcc.dg/vect/costmodel/x86_64/costmodel-vect-33.c: Likewise.
      	* gcc.target/i386/pr30970.c: Likewise.
      	* gcc.target/i386/vect-double-1.c: Likewise.
      	* gcc.target/i386/vect-double-2.c: Likewise.
      	* gcc.dg/tree-ssa/gen-vect-2.c: Likewise.
      	* gcc.dg/tree-ssa/gen-vect-26.c: Likewise.
      	* gcc.dg/tree-ssa/gen-vect-28.c: Likewise.
      	* gcc.dg/tree-ssa/gen-vect-32.c: Likewise.
      	* gfortran.dg/vect/vect-5.f90: Likewise.
      	* gfortran.dg/vect/vect-8.f90: Likewise.
      
      From-SVN: r271595
      1d672917
    • Iain Sandoe's avatar
      add missed Changelog. · 9453b779
      Iain Sandoe authored
      From-SVN: r271592
      9453b779
    • Iain Sandoe's avatar
      Darwin, x86, testsuite - Make match strings more specific. · 66885312
      Iain Sandoe authored
      Some of the i386.exp tests fail on Darwin (and at least one passes
      incorrectly on Linux) because their scan-asm match strings are too
      general.  In some cases the strings also match instances in the .file
      and size directives or in comment output.  This patch makes the match
      strings more specific.
      
      2019-05-24  Iain Sandoe  <iain@sandoe.co.uk>
      
      	* gcc.target/i386/pconfig-1.c: Scan for the string in the generated
      	code, not in comments or miscellaneous directives. Adjust expected
      	count.
      	* gcc.target/i386/pr18041-1.c: Likewise.
      	* gcc.target/i386/pr18041-2.c: Likewise.
      	* gcc.target/i386/wbinvd-1.c: Likewise.
      	* gcc.target/i386/wbnoinvd-1.c: Likewise.
      	* gcc.target/i386/pr66819-3.c: Specifically, check that there is no
      	call to "bar".
      	* gcc.target/i386/pr66819-4.c: Likewise.
      	* gcc.target/i386/pr82662.c
      	* gcc.target/i386/ptwrite2.c: Make the checks look for the specific
      	destination register, don't try the m32 test on m64 targets.
      
      From-SVN: r271591
      66885312
    • Iain Sandoe's avatar
      Darwin, x86, testsuite - Adjust test labels. · 4ef1d2e2
      Iain Sandoe authored
      A couple of the i386.exp tests fail because the label spelling used
      is different between ELF and Mach-O targets. Adjusted here.
      
      2019-05-24  Iain Sandoe  <iain@sandoe.co.uk>
      
      	* gcc.target/i386/pr67985-2.c: Adjust label checks for
      	Darwin.
      	* gcc.target/i386/pr77881.c: Likewise.
      
      From-SVN: r271590
      4ef1d2e2
    • Iain Sandoe's avatar
      Darwin, x86, testsuite - Disable tests that cannot pass. · 3d61c31f
      Iain Sandoe authored
      A few of the i386.exp target tests cannot pass on Darwin
      because either the port doesn't support a feature, or the
      ABI demands sufficiently different codegen that matching
      the output with scan-asms would require a different test.
      
      Disabling those tests here.
      
      2019-05-24  Iain Sandoe  <iain@sandoe.co.uk>
      
      	* gcc.target/i386/falign-functions-2.c: Skip for Darwin.
      	* gcc.target/i386/pr70738-7.c: Likewise.
      	* gcc.target/i386/pr24414.c: Likewise.
      
      From-SVN: r271589
      3d61c31f
    • GCC Administrator's avatar
      Daily bump. · a2c8ea56
      GCC Administrator authored
      From-SVN: r271588
      a2c8ea56
  2. May 23, 2019
    • Jonathan Wakely's avatar
      Fix testsuite bugs · 5f303216
      Jonathan Wakely authored
      One of the static assertions in 20_util/function_objects/invoke/1.cc was
      wrong, but didn't fail because by default it was compiled with
      -std=gnu++14 which didn't use that static assertion. Split out the C++17
      parts to a new file that always runs with -std=gnu++17, so those checks
      are always done.
      
      The 23_containers/unordered_set/allocator/ext_ptr.cc test is supposed to
      be a run-time test but was unintentionally compile-only.
      
      	* testsuite/20_util/function_objects/invoke/1.cc: Move C++17-specific
      	tests to ...
      	* testsuite/20_util/function_objects/invoke/3.cc: New test.
      	* testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: Change
      	"compile" test to "run".
      
      From-SVN: r271584
      5f303216
    • Jonathan Wakely's avatar
      LWG 2996 add rvalue overloads for shared_ptr aliasing and casting · fb3fc4bd
      Jonathan Wakely authored
      	* doc/xml/manual/intro.xml: Document LWG DR 2996 change.
      	* doc/html/*: Regenerate.
      	* include/bits/shared_ptr.h (shared_ptr(shared_ptr&&, T*)): Add
      	rvalue aliasing constructor.
      	(static_pointer_cast, const_pointer, dynamic_pointer_cast)
      	(reinterpret_pointer_cast): Add overloads taking rvalues.
      	* include/bits/shared_ptr_base.h (__shared_ptr(__shared_ptr&&, T*)):
      	Add rvalue aliasing constructor.
      	* testsuite/20_util/shared_ptr/casts/1.cc: Change "compile" test to
      	"run" and check return values as well as types.
      	* testsuite/20_util/shared_ptr/casts/reinterpret.cc: Likewise.
      	* testsuite/20_util/shared_ptr/casts/rval.cc: New test.
      	* testsuite/20_util/shared_ptr/cons/alias-rval.cc: New test.
      	* testsuite/20_util/shared_ptr/cons/alias.cc: Remove unused return
      	values.
      
      From-SVN: r271583
      fb3fc4bd
    • Jonathan Wakely's avatar
      LWG 2921 remove packaged_task constructors taking allocators · 9a0af7e3
      Jonathan Wakely authored
      	* doc/xml/manual/evolution.xml: Document LWG DR 2921 change.
      	* doc/xml/manual/intro.xml: Likewise.
      	* include/std/future (__create_task_state): Add default arguments
      	to make providing an allocator optional.
      	(packaged_task::packaged_task(F&&)): Call __create_task_state directly
      	instead of delegating to another constructor.
      	(packaged_task::packaged_task(allocator_arg_t, const A&, ...)): Do not
      	define allocator-extended constructors for C++17 and later.
      	* testsuite/30_threads/packaged_task/cons/alloc.cc: Only run test for
      	C++11 and C++14.
      	* testsuite/30_threads/packaged_task/cons/alloc2.cc: Likewise.
      	* testsuite/30_threads/packaged_task/cons/alloc_min.cc: Likewise.
      	* testsuite/30_threads/packaged_task/uses_allocator.cc: Likewise.
      
      From-SVN: r271582
      9a0af7e3
    • Iain Sandoe's avatar
      darwin, x86 - disable '-mfentry' for the port. · aa992ce7
      Iain Sandoe authored
      This can't work without special support because placing
      the call directly after the function label breaks the
      ABI requirement that call sites are 16byte aligned.
      
      gcc/
      
      2019-05-23  Iain Sandoe  <iain@sandoe.co.uk>
      
             * config/i386/darwin.h: Reject -mfentry*.
             * doc/sourcebuild.texi: Document mfentry target support.
      
      gcc/testsuite/
      
      2019-05-23  Iain Sandoe  <iain@sandoe.co.uk>
      
             * lib/target-supports.exp (check_effective_target_mfentry): New.
             * gcc.target/i386/fentry-override.c: Require effective target mfentry.
             * gcc/testsuite/gcc.target/i386/fentry.c: Likewise
             * gcc.target/i386/fentryname1.c: Likewise
             * gcc.target/i386/fentryname2.c: Likewise
             * gcc.target/i386/fentryname3.c: Likewise
             * gcc.target/i386/nop-mcount.c: Likewise
             * gcc.target/i386/pr82699-2.c: Likewise
             * gcc.target/i386/pr82699-4.c: Likewise
             * gcc.target/i386/pr82699-5.c: Likewise
             * gcc.target/i386/pr82699-6.c: Likewise
             * gcc.target/i386/returninst1.c: Likewise
             * gcc.target/i386/returninst2.c: Likewise
             * gcc.target/i386/returninst3.c : Likewise
      
      From-SVN: r271580
      aa992ce7
    • Bill Schmidt's avatar
      rs6000.c (rs6000_global_entry_point_needed_p): Rename to... · 99f84323
      Bill Schmidt authored
      rs6000.c (rs6000_global_entry_point_needed_p): Rename to rs6000_global_entry_point_prologue_needed_p.
      
      [gcc]
      
      2019-05-22  Bill Schmidt  <wschmidt@linux.ibm.com>
      
      	* config/rs6000/rs6000.c (rs6000_global_entry_point_needed_p):
      	Rename to rs6000_global_entry_point_prologue_needed_p.  Return
      	false for PC-relative functions.
      	(rs6000_output_function_prologue): Change called function name to
      	rs6000_global_entry_point_prologue_needed_p.  Emit ".localentry
      	name,1" for PC-relative functions.
      	(rs6000_elf_declare_function_name): Change called function name to
      	rs6000_global_entry_point_prologue_needed_p.
      
      [gcc/testsuite]
      
      2019-05-22  Bill Schmidt  <wschmidt@linux.ibm.com>
      
      	* gcc.target/powerpc/localentry-1.c: New file.
      
      From-SVN: r271577
      99f84323
    • Uros Bizjak's avatar
      re PR target/90552 (attribute((optimize(3))) not overriding -Os) · 103d91c7
      Uros Bizjak authored
      	PR target/90552
      	* config/i386/i386.c (gen_rtx_cost):
      	Use ix86_tune_cost instead of ix86_cost.
      
      testsuite/ChangeLog:
      
      	PR target/90552
      	* gcc.target/i386/pr90552.c: New test.
      
      From-SVN: r271576
      103d91c7
    • Bill Schmidt's avatar
      rs6000-cpus.def (ISA_FUTURE_MASKS_SERVER): Add OPTION_MASK_PCREL. · 91117603
      Bill Schmidt authored
      
      2019-05-22  Bill Schmidt  <wschmidt@linux.ibm.com>
      	    Michael Meissner  <meissner@linux.ibm.com>
      	    Segher Boessenkool  <segher@kernel.crashing.org>
      
      	* config/rs6000/rs6000-cpus.def (ISA_FUTURE_MASKS_SERVER): Add
      	OPTION_MASK_PCREL.
      	(POWERPC_MASKS): Add OPTION_MASK_PCREL.
      	* config/rs6000/rs6000-protos.h (rs6000_pcrel_p): New prototype.
      	(rs6000_fndecl_pcrel_p): Likewise.
      	* config/rs6000/rs6000.c (rs6000_option_override_internal): Report
      	error if -mpcrel is requested without -mcpu=future.
      	(rs6000_opt_masks): Add entry for pcrel.
      	(rs6000_fndecl_pcrel_p): New function.
      	(rs6000_pcrel_p): Likewise.
      	* config/rs6000/rs6000.opt (mpcrel): New option.
      	* doc/invoke.texi: Document -mpcrel and -mno-pcrel.
      
      
      Co-Authored-By: default avatarMichael Meissner <meissner@linux.ibm.com>
      Co-Authored-By: default avatarSegher Boessenkool <segher@kernel.crashing.org>
      
      From-SVN: r271575
      91117603
    • Hans-Peter Nilsson's avatar
      From what I understand of the libstdc++/83237 thread at · 0ce91914
      Hans-Peter Nilsson authored
      <https://gcc.gnu.org/ml/gcc-patches/2017-12/msg00573.html>, the
      high numbers are not arbitrary, so it seems wrong to try
      lowering them, or we'd just waste cycles testing nothing, or
      worse, ending up with a bogus error indication.  Better to just
      plain disable this part of the test for simulator targets; I
      assume the results should be the same on any IEEE-float target,
      i.e. no target-specific things going on here that'd raise a need
      to cover it everywhere.
      
      With this part of the test disabled, I saw the test finishing in
      (time) "124.74s user" where it was before "1120.26s user"
      running the cris-elf-run simulator on a "i7-4770K CPU @ 3.50GHz"
      host.  Most certainly that indidates that the remainder of the
      test is still too much for *some* host+simulator combos, but I'm
      happy with the runtime lowered to 1/5 of the timeout (10
      minutes) on this particular combination, and I'd think this
      fixes timeouts for many other simulator combos too.
      
      This construct (disabling or lowering limits for simulators) is
      used elsewhere in the libstdc++ test-suite and in particular the
      SIMULATOR_TEST macro is used in the testsuite machinery (though
      AFAICT not in testDiscreteDist).
      
              * testsuite/26_numerics/random/poisson_distribution/operators/values.cc:
              Don't run the libstdc++/83237 part on simulator targets.
      
      From-SVN: r271574
      0ce91914
    • Mark Eggleston's avatar
      fmt_f_default_field_width_1.f90: Hide REAL(16) behind __GFC_REAL_16__. · f58be48c
      Mark Eggleston authored
      2019-05-23  Mark Eggleston  <mark.eggleston@codethink.com>
      
      	* gfortran.dg/fmt_f_default_field_width_1.f90: Hide REAL(16) behind
      	__GFC_REAL_16__.  Add -cpp to dg-options.
      	* gfortran.dg/fmt_f_default_field_width_2.f90: Ditto.
      	* gfortran.dg/fmt_f_default_field_width_3.f90: Ditto.
      	* gfortran.dg/fmt_g_default_field_width_1.f90: Ditto.
      	* gfortran.dg/fmt_g_default_field_width_2.f90: Ditto.
      	* gfortran.dg/fmt_g_default_field_width_3.f90: Ditto.
      
      From-SVN: r271573
      f58be48c
    • Jan Hubicka's avatar
      re PR tree-optimization/90576 (SPEC CPU2006 450.soplex miscompiled with -Os -flto after r271413) · a44ae258
      Jan Hubicka authored
      
      	PR tree-optimization/90576
      	* tree-ssa-alias.c (compare_sizes): Remove dead calls to
      	poly_int_tree_p.
      	(aliasing_component_refs_p): Fix three way size compare conditional;
      	give up earlier in case we can not decide on equivalence.
      
      Co-Authored-By: default avatarMartin Liska <mliska@suse.cz>
      
      From-SVN: r271572
      a44ae258
    • Jonathan Wakely's avatar
      Add missing feature test macro to C++17 status table · 1a4f7c1b
      Jonathan Wakely authored
      	* doc/xml/manual/status_cxx2017.xml: Add feature test macro for
      	P0040R3.
      	* doc/html/*: Regenerate.
      
      From-SVN: r271571
      1a4f7c1b
    • Bill Schmidt's avatar
      Add infrastructure to support -mcpu=future to represent a future · 5fa3b3cb
      Bill Schmidt authored
      architecture level, as yet unnamed.
      
      [gcc]
      
      2019-05-22  Bill Schmidt  <wschmidt@linux.ibm.com>
      	    Michael Meissner  <meissner@linux.ibm.com>
      	    Segher Boessenkool  <segher@kernel.crashing.org>
      
      	* config.gcc: Add future cpu.
      	* config/rs6000/driver-rs6000.c (asm_names): Add future cpu.
      	* config/rs6000/rs6000-cpus.def (ISA_FUTURE_MASKS_SERVER): New
      	#define.
      	(POWERPC_MASKS): Add OPTION_MASK_FUTURE.
      	(RS6000_CPU): New instantiation for future cpu.
      	* config/rs6000/rs6000-opts.h (enum processor_type): Add
      	PROCESSOR_FUTURE.
      	* config/rs6000/rs6000-string.c (expand_compare_loop): Treat
      	PROCESSOR_FUTURE like PROCESSOR_POWER9 for now.
      	* config/rs6000/rs6000-tables.opt: Regenerate.
      	* config/rs6000/rs6000.c (rs6000_option_override_internal): Treat
      	PROCESSOR_FUTURE similarly to PROCESSOR_POWER9 for now.
      	(rs6000_machine_from_flags): Handle future cpu.
      	(rs6000_reassociation_width): Treat PROCESSOR_FUTURE like
      	PROCESSOR_POWER9 for now.
      	(rs6000_adjust_cost): Likewise.
      	(rs6000_issue_rate): Likewise.
      	(rs6000_register_move_cost): Likewise.
      	(rs6000_opt_mask): Add entry for future.
      	* config/rs6000/rs6000.h (ASM_CPU_SPEC): Add future cpu.
      	(MASK_FUTURE): New #define.
      	* config/rs6000/rs6000.md (define_attr "cpu"): Add future cpu.
      	* config/rs6000/rs6000.opt (mfuture): New target option.
      	* doc/invoke.texi (mcpu): Add future cpu.
      
      [gcc/testsuite]
      
      2019-05-22  Bill Schmidt  <wschmidt@linux.ibm.com>
      
      	* gcc.target/powerpc/cpu-future.c: New test.
      
      
      Co-Authored-By: default avatarMichael Meissner <meissner@linux.ibm.com>
      Co-Authored-By: default avatarSegher Boessenkool <segher@kernel.crashing.org>
      
      From-SVN: r271567
      5fa3b3cb
    • Jonathan Wakely's avatar
      Make any_cast compare typeinfo as well as function pointers · aa573a6a
      Jonathan Wakely authored
      It's possible for the function pointer comparison to fail even though
      the type is correct, because the function could be defined multiple
      times with different addresses when shared libraries are in use.
      
      Retain the function pointer check for the common case where the check
      succeeds, but compare typeinfo (if RTTI is enabled) if the first check
      fails.
      
      	* include/experimental/any (__any_caster): Use RTTI if comparing
      	addresses fails, to support non-unique addresses in shared libraries.
      	* include/std/any (__any_caster): Likewise.
      
      From-SVN: r271557
      aa573a6a
    • Jonathan Wakely's avatar
      PR libstdc++/90220 fix experimental::any_cast for non-object types · 7dbab5dc
      Jonathan Wakely authored
      This corresponds to the fixes done for std::any_cast, but has to be done
      without if-constexpr. The dummy specialization of _Manager_internal<_Op>
      is used to avoid instantiating the real _Manager_internal<T>::_S_manage
      function just to compare its address.
      
      	PR libstdc++/90220
      	* include/experimental/any (__any_caster): Constrain to only be
      	callable for object types. Use remove_cv_t instead of decay_t.
      	If the type decays or isn't copy constructible, compare the manager
      	function to a dummy specialization.
      	(__any_caster): Add overload constrained for non-object types.
      	(any::_Manager_internal<_Op>): Add dummy specialization.
      	* testsuite/experimental/any/misc/any_cast.cc: Test function types
      	and array types.
      
      From-SVN: r271556
      7dbab5dc
    • Martin Liska's avatar
      Do not use tree_to_wide_ref that point to a temporary (PR c++/90587). · 56a4e074
      Martin Liska authored
      2019-05-23  Martin Liska  <mliska@suse.cz>
      
      	PR c++/90587
      	* tree-ssa-uninit.c (value_sat_pred_p): The result of &
      	operation points to a temporary (pointed via tree_to_wide_ref)
      	that is out of scope after the &.
      
      From-SVN: r271555
      56a4e074
    • Jonathan Wakely's avatar
      PR c++/90592 add missing word "scope" to __func__ docs · 16f8992e
      Jonathan Wakely authored
      	PR c++/90592
      	* doc/extend.texi (Function Names): Add missing word.
      
      From-SVN: r271554
      16f8992e
    • Richard Biener's avatar
      re PR tree-optimization/88440 (size optimization of memcpy-like code) · 5879ab5f
      Richard Biener authored
      2019-05-23  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/88440
      	* opts.c (default_options_table): Enable -ftree-loop-distribute-patterns
      	at -O[2s]+.
      	* tree-loop-distribution.c (generate_memset_builtin): Fold the
      	generated call.
      	(generate_memcpy_builtin): Likewise.
      	(distribute_loop): Pass in whether to only distribute patterns.
      	(prepare_perfect_loop_nest): Also allow size optimization.
      	(pass_loop_distribution::execute): When optimizing a loop
      	nest for size allow pattern replacement.
      
      	* gcc.dg/tree-ssa/ldist-37.c: New testcase.
      	* gcc.dg/tree-ssa/ldist-38.c: Likewise.
      	* gcc.dg/vect/vect.exp: Add -fno-tree-loop-distribute-patterns.
      	* gcc.dg/tree-ssa/ldist-37.c: Adjust.
      	* gcc.dg/tree-ssa/ldist-38.c: Likewise.
      	* g++.dg/tree-ssa/pr78847.C: Likewise.
      	* gcc.dg/autopar/pr39500-1.c: Likewise.
      	* gcc.dg/autopar/reduc-1char.c: Likewise.
      	* gcc.dg/autopar/reduc-7.c: Likewise.
      	* gcc.dg/tree-ssa/ivopts-lt-2.c: Likewise.
      	* gcc.dg/tree-ssa/ivopts-lt.c: Likewise.
      	* gcc.dg/tree-ssa/predcom-dse-1.c: Likewise.
      	* gcc.dg/tree-ssa/predcom-dse-2.c: Likewise.
      	* gcc.dg/tree-ssa/predcom-dse-3.c: Likewise.
      	* gcc.dg/tree-ssa/predcom-dse-4.c: Likewise.
      	* gcc.dg/tree-ssa/prefetch-7.c: Likewise.
      	* gcc.dg/tree-ssa/prefetch-8.c: Likewise.
      	* gcc.dg/tree-ssa/prefetch-9.c: Likewise.
      	* gcc.dg/tree-ssa/scev-11.c: Likewise.
      	* gcc.dg/vect/costmodel/i386/costmodel-vect-31.c: Likewise.
      	* gcc.dg/vect/costmodel/i386/costmodel-vect-33.c: Likewise.
      	* gcc.dg/vect/costmodel/x86_64/costmodel-vect-31.c: Likewise.
      	* gcc.dg/vect/costmodel/x86_64/costmodel-vect-33.c: Likewise.
      	* gcc.target/i386/pr30970.c: Likewise.
      	* gcc.target/i386/vect-double-1.c: Likewise.
      	* gcc.target/i386/vect-double-2.c: Likewise.
      	* gcc.dg/tree-ssa/gen-vect-2.c: Likewise.
      	* gcc.dg/tree-ssa/gen-vect-26.c: Likewise.
      	* gcc.dg/tree-ssa/gen-vect-28.c: Likewise.
      	* gcc.dg/tree-ssa/gen-vect-32.c: Likewise.
      	* gfortran.dg/vect/vect-5.f90: Likewise.
      	* gfortran.dg/vect/vect-8.f90: Likewise.
      
      From-SVN: r271553
      5879ab5f
    • Jakub Jelinek's avatar
      re PR target/90568 (stack protector should use cmp or sub, not xor, to allow macro-fusion on x86) · 32d94113
      Jakub Jelinek authored
      	PR target/90568
      	* config/i386/i386.md (stack_protect_test_<mode>): Use sub instead
      	of xor.
      
      From-SVN: r271552
      32d94113
    • Eric Botcazou's avatar
      2b8235ea
    • Martin Liska's avatar
      Do not instrument static target_expr for use-after-scope (PR sanitizer/90570). · 832ece86
      Martin Liska authored
      2019-05-23  Martin Liska  <mliska@suse.cz>
      
      	PR sanitizer/90570
      	* gimplify.c (gimplify_target_expr): Skip TREE_STATIC target
      	expression similarly to gimplify_decl_expr.
      2019-05-23  Martin Liska  <mliska@suse.cz>
      
      	PR sanitizer/90570
      	* g++.dg/asan/pr90570.C: New test.
      
      From-SVN: r271548
      832ece86
    • Eric Botcazou's avatar
      * gnat.dg/opt78.ad[sb]: New test. · 02b73313
      Eric Botcazou authored
      From-SVN: r271545
      02b73313
    • Iain Sandoe's avatar
      x86, testsuite - update fuse-caller-save tests. · 8f5b46e9
      Iain Sandoe authored
      These tests had started to XPASS on pic targets where
      the codegen is now as expected.
      
      gcc/testsuite/
      
      2019-05-23  Iain Sandoe  <iain@sandoe.co.uk>
      
      	PR rtl-optimisation/64895
      	* gcc.target/i386/fuse-caller-save-rec.c: Remove XFAILs.
      	* gcc.target/i386/fuse-caller-save.c: Likewise.
      	* gcc.target/i386/fuse-caller-save-xmm.c: Adjust tests for
      	PIC cases, remove XFAILs.
      
      From-SVN: r271544
      8f5b46e9
    • Jonathan Wakely's avatar
      Add whitespace between operator and operand · 1a9c52d2
      Jonathan Wakely authored
      	* cp-tree.h (CP_AGGREGATE_TYPE_P): Fix whitespace.
      
      From-SVN: r271543
      1a9c52d2
    • Jonathan Wakely's avatar
      Remove conflict marker from ChangeLog · b636effb
      Jonathan Wakely authored
      From-SVN: r271542
      b636effb
Loading