Skip to content
Snippets Groups Projects
  1. May 24, 2019
    • 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
    • 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
    • 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
    • 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
    • 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
    • Jonathan Wakely's avatar
      Remove resolved TODO comment · cf9847d2
      Jonathan Wakely authored
      	* init.c (std_placement_new_fn_p): Remove outdated TODO comment that
      	was resolved by r254694.
      
      From-SVN: r271541
      cf9847d2
    • Thomas Schwinge's avatar
      [PR90510] Adjust 'brig.dg/test/gimple/packed.hsail' · 1ccd0ccb
      Thomas Schwinge authored
      ... for r271463 "Fix PR90510, VEC_PERM -> BIT_INSERT folding".
      
      	gcc/testsuite/
      	PR middle-end/90510
      	* brig.dg/test/gimple/packed.hsail: Adjust.
      
      From-SVN: r271540
      1ccd0ccb
    • Prathamesh Kulkarni's avatar
      cse.c (cse_dump_path): s/dump_file/f. · a29dd8dd
      Prathamesh Kulkarni authored
      2019-05-23  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
      
      	* cse.c (cse_dump_path): s/dump_file/f.
      
      From-SVN: r271539
      a29dd8dd
    • Jakub Jelinek's avatar
      * g++.dg/cpp2a/is-constant-evaluated8.C: New test. · 07bcb2b4
      Jakub Jelinek authored
      From-SVN: r271538
      07bcb2b4
    • Hans-Peter Nilsson's avatar
      There was a regression for gfortran.dg/fmt_en.f90 for cris-elf that on... · 6dac25d1
      Hans-Peter Nilsson authored
      There was a regression for gfortran.dg/fmt_en.f90 for cris-elf
      that on inspection was due to it having acquired a truncation
      call through the runtime.  I updated that and the new tests that
      had "Fortran runtime error: required ftruncate or chsize support
      not present" messages in gfortran.log, ran past cris-elf and
      committed as obvious.  See also
      <https://gcc.gnu.org/ml/gcc-patches/2008-05/msg00975.html> from
      which I copy-pasted most of this message.  (Yep, 11 years ago.)
      
      gcc/testsuite:
      	* gfortran.dg/dec_io_1.f90, gfortran.dg/dtio_1.f90,
      	gfortran.dg/dtio_12.f90, gfortran.dg/fmt_en.f90,
      	gfortran.dg/namelist_89.f90: Gate test on effective_target
      	fd_truncate.
      
      From-SVN: r271536
      6dac25d1
    • David Malcolm's avatar
      Bulletproof -fdiagnostics-format=json against bad locations (PR c++/90462) · 30d3ba51
      David Malcolm authored
      PR c++/90462 reports an ICE with -fdiagnostics-format=json when
      attempting to serialize a malformed location to JSON.
      
      The compound location_t in question has meaningful "caret" and "start"
      locations, but has UNKNOWN_LOCATION for its "finish" location,
      leading to a NULL pointer dereference when attempting to build a JSON
      string for the filename.
      
      This patch bulletproofs the JSON output so that attempts to write
      a JSON object for a location with a NULL file will lead to an object
      with no "file" key, and attempts to write a compound location with
      UNKNOWN_LOCATION for its start or finish will lead to the corresponding
      JSON child object being omitted.
      
      This patch also adds a json::object::get member function, for self-testing
      the above.
      
      gcc/ChangeLog:
      	PR c++/90462
      	* diagnostic-format-json.cc: Include "selftest.h".
      	(json_from_expanded_location): Only add "file" key for non-NULL
      	file strings.
      	(json_from_location_range): Don't add "start" and "finish"
      	children if they are UNKNOWN_LOCATION.
      	(selftest::test_unknown_location): New selftest.
      	(selftest::test_bad_endpoints): New selftest.
      	(selftest::diagnostic_format_json_cc_tests): New function.
      	* json.cc (json::object::get): New function.
      	(selftest::test_object_get): New selftest.
      	(selftest::json_cc_tests): Call it.
      	* json.h (json::object::get): New decl.
      	* selftest-run-tests.c (selftest::run_tests): Call
      	selftest::diagnostic_format_json_cc_tests.
      	* selftest.h (selftest::diagnostic_format_json_cc_tests): New
      	decl.
      
      gcc/testsuite/ChangeLog:
      	PR c++/90462
      	* g++.dg/pr90462.C: New test.
      
      From-SVN: r271535
      30d3ba51
    • GCC Administrator's avatar
      Daily bump. · cf9219c7
      GCC Administrator authored
      From-SVN: r271534
      cf9219c7
  3. May 22, 2019
    • Marek Polacek's avatar
      udlit-char-template-neg.C: Expect the error on a different line. · dd2ce663
      Marek Polacek authored
      	* g++.dg/cpp1y/udlit-char-template-neg.C: Expect the error on a
      	different line.  Check the column number too.
      
      From-SVN: r271530
      dd2ce663
    • Kwok Cheung Yeung's avatar
      Add support for constructors and destuctors on GCN · 7039cebf
      Kwok Cheung Yeung authored
      
      2019-05-22  Kwok Cheung Yeung  <kcy@codesourcery.com>
                  Andrew Stubbs  <amd@codesourcery.com>
      
      	gcc/
      	* config.gcc (gcc_cv_initfini_array): Set for AMD GCN.
      	* config/gcn/gcn-run.c (init_array_kernel, fini_array_kernel): New.
      	(kernel): Rename to...
      	(main_kernel): ... this.
      	(load_image): Load _init_array and _fini_array kernels.
      	(run): Add argument for kernel to run.
      	(main): Run init_array_kernel before main_kernel, and
      	fini_array_kernel after.
      	* config/gcn/gcn.c (gcn_handle_amdgpu_hsa_kernel_attribute): Allow
      	amdgpu_hsa_kernel attribute on functions.
      	(gcn_disable_constructors): Delete.
      	(TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): Delete.
      	* config/gcn/crt0.c (size_t): Define.
      	(_init_array, _fini_array): New.
      	(__preinit_array_start, __preinit_array_end,
      	__init_array_start, __init_array_end,
      	__fini_array_start, __fini_array_end): Declare weak references.
      
      Co-Authored-By: default avatarAndrew Stubbs <ams@codesourcery.com>
      
      From-SVN: r271526
      7039cebf
    • Andrew Stubbs's avatar
      Fix trampoline execution failures on GCN5. · b7c28a47
      Andrew Stubbs authored
      2019-05-22  Andrew Stubbs  <ams@codesourcery.com>
      
      	gcc/
      	* config/gcn/gcn.c (gcn_trampoline_init): Call "sorry" on GCN5.
      
      From-SVN: r271525
      b7c28a47
    • Jason Merrill's avatar
      gimplify.c (gimplify_cond_expr): Don't check TREE_ADDRESSABLE. · 5859a68d
      Jason Merrill authored
      	* gimplify.c (gimplify_cond_expr): Don't check TREE_ADDRESSABLE.
      
      The front end shouldn't produce a GENERIC COND_EXPR of TREE_ADDRESSABLE
      type.
      
      From-SVN: r271524
      5859a68d
    • Jason Merrill's avatar
      PR c++/20408 - unnecessary code for empty struct. · c652ff83
      Jason Merrill authored
      Here initializing the argument from a TARGET_EXPR isn't an empty class
      copy even though the type is !TREE_ADDRESSABLE, so we should check
      simple_empty_class_p.
      
      	* call.c (build_call_a): Use simple_empty_class_p.
      
      From-SVN: r271523
      c652ff83
    • Jason Merrill's avatar
      PR c++/86485 - simple_empty_class_p · 7d277e17
      Jason Merrill authored
      Yet another tweak that would have fixed this bug: we should treat INIT_EXPR
      and MODIFY_EXPR differently for determining whether this is a simple empty
      class copy, since a TARGET_EXPR on the RHS is direct initialization if
      INIT_EXPR but copy if MODIFY_EXPR.
      
      	* cp-gimplify.c (simple_empty_class_p): Also true for MODIFY_EXPR.
      
      From-SVN: r271521
      7d277e17
    • Uros Bizjak's avatar
      vect-signbitf.c (dg-final): Improve scan-assembler-not string to avoid false... · 9ee0fb4c
      Uros Bizjak authored
      vect-signbitf.c (dg-final): Improve scan-assembler-not string to avoid false matching on 32bit targets.
      
      	* gcc.target/i386/vect-signbitf.c (dg-final): Improve
      	scan-assembler-not string to avoid false matching on 32bit targets.
      
      From-SVN: r271520
      9ee0fb4c
    • H.J. Lu's avatar
      x86: Don't allocate stack frame nor align stack if not needed · c2080a1f
      H.J. Lu authored
      get_frame_size () returns used stack slots during compilation, which
      may be optimized out later.  This patch does the followings:
      
      1. Add stack_frame_required to machine_function to indicate that the
      function needs a stack frame.
      2. Change ix86_find_max_used_stack_alignment to set stack_frame_required.
      3. Always call ix86_find_max_used_stack_alignment to check if stack
      frame is needed.
      
      Tested on i686 and x86-64 with
      
      --with-arch=native --with-cpu=native
      
      Tested on AVX512 machine configured with
      
      --with-arch=native --with-cpu=native
      
      gcc/
      
      	PR target/88483
      	* config/i386/i386-options.c (ix86_init_machine_status): Set
      	stack_frame_required to true.
      	* config/i386/i386.c (ix86_get_frame_size): New function.
      	(ix86_frame_pointer_required): Replace get_frame_size with
      	ix86_get_frame_size.
      	(ix86_compute_frame_layout): Likewise.
      	(ix86_find_max_used_stack_alignment): Changed to void.  Set
      	stack_frame_required.
      	(ix86_finalize_stack_frame_flags): Always call
      	ix86_find_max_used_stack_alignment.  Replace get_frame_size with
      	ix86_get_frame_size.
      	* config/i386/i386.h (machine_function): Add stack_frame_required.
      
      gcc/testsuite/
      
      	PR target/88483
      	* gcc.target/i386/stackalign/pr88483-1.c: New test.
      	* gcc.target/i386/stackalign/pr88483-2.c: Likewise.
      
      From-SVN: r271517
      c2080a1f
    • Uros Bizjak's avatar
      sse.md (sse_cvtpi2ps): Use TARGET_MMX in insn condition. · 586e53e2
      Uros Bizjak authored
      	* config/i386/sse.md (sse_cvtpi2ps): Use TARGET_MMX in insn condition.
      
      From-SVN: r271515
      586e53e2
    • Matthew Malcomson's avatar
      [aarch64] Introduce flags for SVE2. · 28108a53
      Matthew Malcomson authored
      This patch adds support in the compiler for the architecture feature
      flags that binutils will use to enable/disable the new "Future
      Architecture Technologies" feature Scalable Vector Extension V2 (SVE2)
      announced at Linaro Connect this week.
      
      The "sve2" extension that enables the core sve2 instructions.
      This also enables the sve extension, since sve is a requirement of sve2.
      
      Extra optional sve2 features are the bitperm, sm4, aes, and sha3 extensions.
      These are all given extra feature flags, "bitperm", "sve2-sm4",
      "sve2-aes", and "sve2-sha3" respectively.
      The sm4, aes, and sha3 extensions are explicitly marked as sve2
      extensions to distinguish them from the corresponding NEON extensions.
      
      When introducing macros to denote these new features we have gone past
      what a 32 bit value can represent which means we need to change the type
      of those variables working with these feature flags to ensure they use
      64 bit quantities.
      
      Tested with bootstrap on aarch64-none-linux-gnu and manually seeing that
      -march=armv8-a+typo prints out the expected flags while using the new
      feature flags does not complain about a missing flag (until reaching the
      assembler).
      
      gcc/ChangeLog:
      
      2019-05-22  Matthew Malcomson  <matthew.malcomson@arm.com>
      
      	* common/config/aarch64/aarch64-common.c
      	(struct aarch64_option_extension, struct processor_name_to_arch,
      	struct arch_to_arch_name, aarch64_parse_extension, opt_ext_cmp,
      	aarch64_contains_opt,
      	aarch64_get_extension_string_for_isa_flags): Change type of
      	variables storing flags to uint64_t.
      	* config/aarch64/aarch64-option-extensions.def (sve2, sve2-sm4,
      	sve2-aes, sve2-sha3, bitperm): New optional SVE2 extension flags.
      	* config/aarch64/aarch64.c (struct processor,
      	aarch64_parse_arch, aarch64_parse_cpu, aarch64_validate_mcpu,
      	aarch64_validate_march, aarch64_override_options,
      	aarch64_option_print, aarch64_handle_attr_isa_flags,
      	aarch64_declare_function_name, aarch64_start_file): Make flag
      	variables uint64_t.
      	* config/aarch64/aarch64.h (AARCH64_FL_SVE2, AARCH64_FL_SVE2_AES,
      	AARCH64_FL_SVE2_SM4, AARCH64_FL_SVE2_SHA3,
      	AARCH64_FL_SVE2_BITPERM): New macro feature flags.
      	* config/aarch64/aarch64.opt (aarch64_isa_flags): Make uint64_t.
      	* config/aarch64/driver-aarch64.c
      	(struct aarch64_arch_extension, struct aarch64_core_data,
      	struct aarch64_arch_driver_info, host_detect_local_cpu): Make
      	flag variables uint64_t.
      	* doc/invoke.texi: Add documentation for new arguments.
      
      From-SVN: r271514
      28108a53
    • Andrew Stubbs's avatar
      Fix new coarray failures. · ee49c5a4
      Andrew Stubbs authored
      2019-05-22  Andrew Stubbs  <ams@codesourcery.com>
      
      	gcc/testsuite/
      	* gfortran.dg/coarray_lock_7.f90: Fix output patterns.
      
      From-SVN: r271513
      ee49c5a4
    • Andrew Stubbs's avatar
      Fix fortran size_type_node parameter passing. · 0f09fc8a
      Andrew Stubbs authored
      2019-05-22  Andrew Stubbs  <ams@codesourcery.com>
      
      	gcc/fortran/
      	* trans-stmt.c (gfc_trans_critical): Use size_type_node for
      	gfor_fndecl_caf_lock and gfor_fndecl_caf_unlock calls.
      	(gfc_trans_allocate): Use size_type_node for gfor_fndecl_caf_sync_all
      	call.
      
      From-SVN: r271512
      0f09fc8a
Loading