1. 28 May, 2019 14 commits
    • 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 23 commits
  3. 26 May, 2019 3 commits
    • i386.md (@leave_<mode>): New expander. · a963ca40
      	* config/i386/i386.md (@leave_<mode>): New expander.
      	(*leave): Rename from leave.
      	(*leave_rex64): Rename from leave_rex64.
      	(@monitorx_<mode>): Rename from monitorx_<mode>.
      	(@clzero_<mode>): Rename from clzero_<mode>.
      	* config/i386/sse.md (@sse3_monitor_<mode>): Rename from
      	sse3_monitor_<mode>.
      	* config/i386/i386.c (*ix86_gen_leave): Remove indirect function.
      	(*ix86_gen_monitor): Ditto.
      	(*ix86_gen_monitorx): Ditto.
      	(*ix86_gen_clzero): Ditto.
      	(*ix86_gen_one_cmpl2): Ditto.
      	(ix86_emit_leave): Use gen_leave instead of ix86_gen_leave.
      	* config/i386/i386-expand.c (ix86_expand_builtin)
      	<case IX86_BUILTIN_MONITOR>: Use gen_sse3_monitor
      	instead of ix86_gen_monitor.
      	<case IX86_BUILTIN_MONITORX>: Use gen_monitorx
      	instead of ix86_gen_monitorx.
      	<case IX86_BUILTIN_CLZERO>: Use gen_clzero
      	instead of ix86_gen_clzero.
      	* config/i386/i386-options.c (ix86_option_override_internal):
      	Do not initialize ix86_gen_leave, ix86_gen_monitor,
      	ix86_gen_monitorx, ix86_gen_clzero and ix86_gen_one_cmpl2.
      
      	* config/i386/i386.md (@tls_global_dynamic_64_<mode>):
      	Rename from tls_global_dynamic_64_<mode>.
      	(@tls_local_dynamic_base_64_<mode>): Rename from
      	tls_local_dynamic_base_64_<mode>.
      	* config/i386/i386.c (*ix86_gen_tls_global_dynamic_64):
      	Remove indirect function.
      	(*ix86_gen_tls_local_dynamic_base_64): Ditto.
      	(legitimize_tls_address): Use gen_tls_global_dynamic_64 function
      	instead of ix86_gen_tls_global_dynamic_64.
      	Use gen_tls_local_dynamic_base_64 instead of
      	ix86_gen_tls_local_dynamic_base_64.
      	* config/i386/i386-options.c (ix86_option_override_internal):
      	Do not initialize ix86_gen_tls_global_dynamic_64 and
      	ix86_gen_tls_local_dynamic_base_64.
      
      	* config/i386/i386.md (@pro_epilogue_adjust_stack_add_<mode>)
      	Rename from pro_epilogue_adjust_stack_<mode>_add.
      	(@pro_epilogue_adjust_stack_sub_<mode>)
      	Rename from pro_epilogue_adjust_stack_<mode>_sub.
      	(@allocate_stack_worker_probe_<mode>):
      	Rename from allocate_stack_worker_probe_<mode>.
      	(allocate_stack): Use gen_allocate_stack_worker_probe.
      	(probe_stack): Use gen_probe_stack_1.
      	(@probe_stack_1_<mode>): Rename from probe_stack_<mode>.
      	(@adjust_stack_and_probe_<mode>): Rename from
      	adjust_stack_and_probe<mode>.
      	(@probe_stack_range_<mode>): Rename from probe_stack_range<mode>.
      	(stack_protect_set): Use gen_stack_protect_set_1.
      	(@stack_protect_set_1_<mode>): Rename from stack_protect_set_<mode>.
      	(stack_protect_test): Use gen_stack_protect_test_1.
      	(@stack_protect_test_1_<mode>): Rename from stack_protect_test_<mode>.
      	* config/i386/i386.c (*ix86_gen_allocate_stack_worker):
      	Remove indirect function.
      	(*ix86_gen_adjust_stack_and_probe): Ditto.
      	(*ix86_gen_probe_stack_range): Ditto.
      	(pro_epilogue_adjust_stack): Use gen_pro_epilogue_adjust_stack_add
      	instead of gen_pro_epilogue_adjust_stack_{si,di}_add.
      	(ix86_adjust_stack_and_probe_stack_clash): Use
      	gen_adjust_stack_and_probe instead of ix86_gen_adjust_stack_and_probe.
      	(ix86_adjust_stack_and_probe): Ditto.
      	(ix86_emit_probe_stack_range): Use gen_probe_stack_range instead
      	of ix86_gen_probe_stack_range.
      	(ix86_expand_prologue):  Use gen_pro_epilogue_adjust_stack_sub
      	instead of gen_pro_epilogue_adjust_stack_{si,di}_sub.
      	* config/i386/x86-tune-sched.c (ix86_macro_fusion_pair_p):
      	Include insn-opinit.h.  Use code_for_stack_protect_test_1 instead of
      	CODE_FOR_stack_protect_test_{si,di}.
      	* config/i386/i386-options.c (ix86_option_override_internal):
      	Do not initialize ix86_gen_allocate_stack_worker,
      	ix86_gen_adjust_stack_and_probe and ix86_gen_probe_stack_range.
      
      From-SVN: r271636
      Uros Bizjak committed
    • appendix_contributing.xml: Update pointer to C++ standard at ansi.org. · 558f3941
      	* doc/xml/manual/appendix_contributing.xml: Update pointer to
      	C++ standard at ansi.org.
      
      From-SVN: r271635
      Gerald Pfeifer committed
    • darwin, x86, testsuite - Amend three PIE tests, · 2e776eff
      Darwin requires PIC code in order to support PIE, amend the test scan-asms
      to match this.
      
      2019-05-26  Iain Sandoe  <iain@sandoe.co.uk>
      
      	* gcc.target/i386/pr39013-1.c: Adjust scan-asms for PIE to
      	account for PIC code on Darwin.
      	* gcc.target/i386/pr39013-2.c: Likewise.
      	* gcc.target/i386/pr64317.c: Likewise.
      
      From-SVN: r271634
      Iain Sandoe committed