1. 28 May, 2019 21 commits
    • Remove pre-Solaris 11/SPARC unwinding support · e54b1a92
      	* config/sparc/sol2-unwind.h [__arch64__] (sparc64_is_sighandler):
      	Remove Solaris 9 and 10 support.
      	(sparc_is_sighandler): Likewise.
      
      From-SVN: r271715
      Rainer Orth committed
    • [C++ PATCH] template specializations · a01d3b04
      https://gcc.gnu.org/ml/gcc-patches/2019-05/msg01844.html
      	* decl.c (duplicate_decls): Assert a template newdecl has no
      	specializations.
      
      From-SVN: r271713
      Nathan Sidwell committed
    • PR c++/90548 - ICE with generic lambda and empty pack. · de164412
      	* pt.c (tsubst_copy_and_build): Handle pack expansion properly.
      
      	* g++.dg/cpp1y/lambda-generic-90548.C: New test.
      
      From-SVN: r271705
      Marek Polacek committed
    • Current vectoriser doesn't support masked loads for SLP. · 99763671
      Current vectoriser doesn't support masked loads for SLP. We should add that, to
      allow things like:
      
      void
      f (int *restrict x, int *restrict y, int *restrict z, int n)
      {
        for (int i = 0; i < n; i += 2)
          {
            x[i] = y[i] ? z[i] : 1;
            x[i + 1] = y[i + 1] ? z[i + 1] : 2;
          }
      }
      
      to be vectorized using contiguous loads rather than LD2 and ST2.
      
      This patch was motivated by SVE, but it is completely generic and should apply
      to any architecture with masked loads.
      
      From-SVN: r271704
      Alejandro Martinez committed
    • Remove obsolete comment about use_thunk · 8b4e7143
      	* config/alpha/alpha.c [TARGET_ABI_OSF] (alpha_output_mi_thunk_osf):
      	Remove obsolete use_thunk reference.
      	* config/i386/i386.c (x86_output_mi_thunk): Likewise.
      	* config/ia64/ia64.c (ia64_output_mi_thunk): Likewise.
      	* config/nios2/nios2.c (nios2_asm_output_mi_thunk): Likewise.
      	* config/or1k/or1k.c (or1k_output_mi_thunk): Likewise.
      	* config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
      	* config/sh/sh.c (sh_output_mi_thunk): Likewise.
      	* config/sparc/sparc.c (sparc_output_mi_thunk): Likewise.
      	* config/tilegx/tilegx.c (tilegx_output_mi_thunk): Likewise.
      	* config/tilepro/tilepro.c (tilepro_asm_output_mi_thunk): Likewise.
      
      From-SVN: r271703
      Rainer Orth committed
    • [PATCH] Commonize anon-name generation · 7daef9ac
      https://gcc.gnu.org/ml/gcc-patches/2019-05/msg01699.html
      	* tree.h (IDENTIFIER_ANON_P): New.
      	(anon_aggrname_format, anon_aggname_p): Don't declare.
      	(make_anon_name): Declare.
      	* lto-streamer-out.c (DFS::DFS_write_tree_body): Use IDENTIFIER_ANON_P.
      	(hash_tree): Likewise.
      	* tree-streamer-out.c (write_ts_decl_minimal_tree): Likewise.
      	* tree.c (anon_aggrname_p, anon_aggrname_format): Delete.
      	(anon_cnt, make_anon_name): New.
      
       	gcc/cp/
      	* cp-tree.h (make_anon_name): Drop declaration.
      	(TYPE_UNNAMED_P): Use IDENTIFIER_ANON_P.
      	* cp-lang.c (cxx_dwarf_name): Likewise.
      	* class.c (find_flexarrays): Likewise.
      	* decl.c (name_unnamed_type, xref_tag_1): Likewise.
      	* error.c (dump_aggr_type): Likewise.
      	* pt.c (push_template_decl_real): Likewise.
      	* name-lookup.c (consider_binding_level): Likewise.
      	(anon_cnt, make_anon_name): Delete.
      
      	gcc/d/
      	* types.cc (fixup_anonymous_offset): Use IDENTIFIER_ANON_P.
      	(layout_aggregate_members): Use make_anon_name.
      
      From-SVN: r271702
      Nathan Sidwell committed
    • pr50749-qihisi-predec-3.c: Disable loop distribution. · 3253d4f0
      	* testsuite/gcc.target/sh/pr50749-qihisi-predec-3.c: Disable
      	loop distribution.
      
      From-SVN: r271701
      Jeff Law committed
    • Support again multiple --help options (PR other/90315). · bc405869
      2019-05-28  Martin Liska  <mliska@suse.cz>
      
      	PR other/90315
      	* opts-global.c (decode_options): Print help for all
      	help_option_arguments.
      	* opts.c (print_help): Add new argument.
      	(common_handle_option): Remember all values into
      	help_option_arguments.
      	* opts.h (print_help): Add new argument.
      
      From-SVN: r271700
      Martin Liska committed
    • rs6000: Improve p9-dimode* testcases · 392d2ff3
      This removes the unnecessary restriction to 32-bit (all three ways).
      It also scans for mtvsr*, not just mtvsrd.  Finally, it uses the "wa"
      constraints instead of "wi" in the inline asm statements.
      
      
      gcc/testsuite/
      	* gcc.target/powerpc/p9-dimode1.c: Don't restrict to -m64.  Check for
      	all mtvsr*, not just mtvsrd.  Use "wa" instead of "wi" constraints.
      	* gcc.target/powerpc/p9-dimode2.c: Ditto.
      
      From-SVN: r271696
      Segher Boessenkool committed
    • Handle loop fields in IPA ICF (PR ipa/90555). · 8d2a3107
      2019-05-28  Martin Liska  <mliska@suse.cz>
      
      	PR ipa/90555
      	* ipa-icf-gimple.c (func_checker::compare_loops): New function.
      	* ipa-icf-gimple.h (func_checker::compare_loops): Likewise.
      	(func_checker::compare_bb): Call compare_loops.
      2019-05-28  Martin Liska  <mliska@suse.cz>
      
      	PR ipa/90555
      	* gcc.dg/ipa/pr90555.c: New test.
      
      From-SVN: r271695
      Martin Liska committed
    • implementation_defined_pragmas.rst (Machine_Attribute): Document additional optional parameters. · 5ca5ef68
      	* doc/gnat_rm/implementation_defined_pragmas.rst (Machine_Attribute):
      	Document additional optional parameters.
      	* sem_prag.adb (Analyze_Pragma) <Pragma_Machine_Attribute>: Accept
      	more than one optional parameter.
      	* gcc-interface/decl.c (prepend_one_attribute_pragma): Alphabetize
      	the list of supported pragmas.  Simplify the handling of parameters
      	and add support for more than one optional parameter.
      	* gcc-interface/utils.c (attr_cold_hot_exclusions): New constant.
      	(gnat_internal_attribute_table): Add entry for no_icf, noipa, flatten,
      	used, cold, hot, target and target_clones.
      	(begin_subprog_body): Do not create the RTL for the subprogram here.
      	(handle_noicf_attribute): New static function.
      	(handle_noipa_attribute): Likewise.
      	(handle_flatten_attribute): Likewise.
      	(handle_used_attribute): Likewise.
      	(handle_cold_attribute): Likewise.
      	(handle_hot_attribute): Likewise.
      	(handle_target_attribute): Likewise.
      	(handle_target_clones_attribute): Likewise.
      
      From-SVN: r271693
      Eric Botcazou committed
    • trans.c (lvalue_required_for_attribute_p): Return 0 for 'Size too. · 79069232
      	* gcc-interface/trans.c (lvalue_required_for_attribute_p): Return 0
      	for 'Size too.
      	(Identifier_to_gnu): Use the actual subtype for a reference to a
      	packed array in a return statement.
      	(Attribute_to_gnu) <Attr_Size>: Do not strip VIEW_CONVERT_EXPRs from
      	the prefix in every case.
      
      From-SVN: r271691
      Eric Botcazou committed
    • trans.c (gnat_to_gnu): Remove superfluous tests on… · f552aa62
      trans.c (gnat_to_gnu): Remove superfluous tests on Backend_Overflow_Checks_On_Target and rework comments.
      
      	* gcc-interface/trans.c (gnat_to_gnu): Remove superfluous tests on
      	Backend_Overflow_Checks_On_Target and rework comments.
      
      From-SVN: r271689
      Eric Botcazou committed
    • trans.c (walk_nesting_tree): New static function. · 81edaf2f
      	* gcc-interface/trans.c (walk_nesting_tree): New static function.
      	(finalize_nrv): Use it to walk the entire nesting tree.
      
      From-SVN: r271685
      Eric Botcazou committed
    • decl.c (gnat_to_gnu_entity): Remove obsolete test on Is_For_Access_Subtype. · 3e86c778
      	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Remove
      	obsolete test on Is_For_Access_Subtype.
      
      From-SVN: r271683
      Eric Botcazou committed
    • decl.c (components_to_record): Set a name on the type created for the REP part, if any. · f65f371b
      	* gcc-interface/decl.c (components_to_record): Set a name on the type
      	created for the REP part, if any.
      	* gcc-interface/utils.c (finish_record_type): Only take the maximum
      	when merging sizes for a variant part at offset 0.
      	(merge_sizes): Rename has_rep parameter into max.
      
      From-SVN: r271681
      Eric Botcazou committed
    • utils.c (gnat_internal_attribute_table): Add support for stack_protect attribute. · e6ca6782
      	* gcc-interface/utils.c (gnat_internal_attribute_table): Add support
      	for stack_protect attribute.
      	(handle_stack_protect_attribute): New static function.
      
      From-SVN: r271680
      Eric Botcazou committed
    • decl.c (intrin_arglists_compatible_p): Do not return false if the internal… · eabf2b44
      decl.c (intrin_arglists_compatible_p): Do not return false if the internal builtin uses a variable list.
      
      	* gcc-interface/decl.c (intrin_arglists_compatible_p): Do not return
      	false if the internal builtin uses a variable list.
      
      From-SVN: r271679
      Eric Botcazou committed
    • Add GCC support to ENQCMD. · 6a10feda
      gcc/ChangeLog
      
      2019-01-23  Xuepeng Guo  <xuepeng.guo@intel.com>
      
      	* common/config/i386/i386-common.c
      	(OPTION_MASK_ISA_ENQCMD_SET,
      	OPTION_MASK_ISA_ENQCMD_UNSET): New macros.
      	(ix86_handle_option): Handle -menqcmd.
      	* config.gcc (enqcmdintrin.h): New header file.
      	* config/i386/cpuid.h (bit_ENQCMD): New bit.
      	* config/i386/driver-i386.c (host_detect_local_cpu): Handle
      	-menqcmd.
      	* config/i386/i386-builtin-types.def ((INT, PVOID, PCVOID)): New
      	function type.
      	* config/i386/i386-builtin.def (__builtin_ia32_enqcmd,
      	__builtin_ia32_enqcmds): New builtins.
      	* config/i386/i386-c.c (__ENQCMD__): New macro.
      	* config/i386/i386-option.c (ix86_target_string): Add
      	-menqcmd.
      	(ix86_valid_target_attribute_inner_p): Likewise.
      	* config/i386/i386-expand.c
      	(ix86_expand_builtin): Expand IX86_BUILTIN_ENQCMD and
      	IX86_BUILTIN_ENQCMDS.
      	* config/i386/i386.h (TARGET_ENQCMD): New.
      	* config/i386/i386.md (UNSPECV_ENQCMD, UNSPECV_ENQCMDS): New.
      	(@enqcmd<enqcmd_sfx>_<mode>): New insn pattern.
      	(movdir64b_<mode>): Parameterize to enable share expansion code
      	with ENQCMD in function ix86_expand_builtin.
      	* config/i386/i386.opt: Add -menqcmd.
      	* config/i386/immintrin.h: Include enqcmdintrin.h.
      	* config/i386/enqcmdintrin.h: New intrinsic file.
      	* doc/invoke.texi: Add -menqcmd.
      
      gcc/testsuite/ChangeLog
      
      2019-01-23  Xuepeng Guo  <xuepeng.guo@intel.com>
      
      	* gcc.target/i386/enqcmd.c: New test.
      	* gcc.target/i386/enqcmds.c: Likewise.
      	* g++.dg/other/i386-2.C: Add -menqcmd.
      	* g++.dg/other/i386-3.C: Likewise.
      	* gcc.target/i386/sse-12.c: Likewise.
      	* gcc.target/i386/sse-13.c: Likewise.
      	* gcc.target/i386/sse-14.c: Likewise.
      	* gcc.target/i386/sse-23.c: Likewise.
      
      From-SVN: r271678
      Xuepeng Guo committed
    • Daily bump. · cd8eca2c
      From-SVN: r271677
      GCC Administrator committed
  2. 27 May, 2019 19 commits