1. 18 Feb, 2019 6 commits
    • * config/s390/s390.md (*<risbg_n>_ior_and_sr_ze, · 14653c37
      	*<risbg_n>_<mode>_ior_and_lshiftrt, *<risbg_n>_sidi_ior_and_lshiftrt):
      	Use HOST_WIDE_INT_M1U instead of ~(0ULL).
      	(*<risbg_n>_and_subregdi_rotr, *<risbg_n>_and_subregdi_rotl): Use
      	HOST_WIDE_INT_1U instead of 1ULL.
      	(*pre_z10_extzv<mode>, *pre_z10_extv<mode>): Change mask type from int
      	to unsigned HOST_WIDE_INT, use HOST_WIDE_INT_1U instead of 1ul.
      	(*insv<mode><clobbercc_or_nocc>_appendbitsleft,
      	z = (x << c) | (y >> d) splitters): Use HOST_WIDE_INT_1U
      	instead of 1UL.
      	(*insv<mode>_mem_reg, *insvdi_mem_reghigh): Use HOST_WIDE_INT_1U
      	instead of 1ul.
      
      From-SVN: r268982
      Jakub Jelinek committed
    • Use 1UL constant in order to not overflow (PR c++/89383). · a5f87af7
      2019-02-18  Martin Liska  <mliska@suse.cz>
      
      	PR c++/89383
      	* line-map.c (linemap_line_start): Use 1UL in order
      	to not overflow.
      
      From-SVN: r268981
      Martin Liska committed
    • [PR 89209] Avoid segfault in a peculiar corner case in SRA · 469b4adb
      2019-02-18  Martin Jambor  <mjambor@suse.cz>
      
      	PR tree-optimization/89209
      	* tree-sra.c (create_access_replacement): New optional parameter
      	reg_tree.  Use it as a type if non-NULL and access type is not of
      	a register type.
      	(get_repl_default_def_ssa_name): New parameter REG_TYPE, pass it
      	to create_access_replacement.
      	(sra_modify_assign): Pass LHS type to get_repl_default_def_ssa_name.
      	Check lacc is non-NULL before attempting to re-create it on the RHS.
      
      	testsuite/
      	* gcc.dg/tree-ssa/pr89209.c: New test.
      
      From-SVN: r268980
      Martin Jambor committed
    • Come up with fast {function,call}_summary classes (PR ipa/89306). · db30281f
      2019-02-18  Martin Liska  <mliska@suse.cz>
      
      	PR ipa/89306
      	* cgraph.c (symbol_table::create_edge): Set m_summary_id to -1
      	by default.
      	(symbol_table::free_edge): Recycle m_summary_id.
      	* cgraph.h (get_summary_id): New.
      	(symbol_table::release_symbol): Set m_summary_id to -1
      	by default.
      	(symbol_table::allocate_cgraph_symbol): Recycle m_summary_id.
      	* ipa-fnsummary.c (ipa_fn_summary_t): Switch from
      	function_summary to fast_function_summary.
      	* ipa-fnsummary.h (ipa_fn_summary_t): Likewise.
      	* ipa-pure-const.c (class funct_state_summary_t):
      	Switch from function_summary to fast_function_summary.
      	* ipa-reference.c (class ipa_ref_var_info_summary_t): Likewise.
      	(class ipa_ref_opt_summary_t): Switch from function_summary
      	to fast_function_summary.
      	* symbol-summary.h (class function_summary_base): New class
      	that is created from base of former function_summary.
      	(function_summary_base::unregister_hooks): New.
      	(class function_summary): Inherit from function_summary_base.
      	(class call_summary_base): New class
      	that is created from base of former call_summary.
      	(class call_summary): Inherit from call_summary_base.
      	(struct is_same): New.
      	(class fast_function_summary): New summary class.
      	(class fast_call_summary): New summary class.
      	* vec.h (vec_safe_grow_cleared): New function.
      
      From-SVN: r268979
      Martin Liska committed
    • Support if statement in !GCC$ builtin directive. · e8cecccc
      2019-02-18  Martin Liska  <mliska@suse.cz>
      
      	* config/i386/i386.c (ix86_get_multilib_abi_name): New function.
      	(TARGET_GET_MULTILIB_ABI_NAME): New macro defined.
      	* doc/tm.texi: Document new target hook.
      	* doc/tm.texi.in: Likewise.
      	* target.def: Add new target macro.
      	* gcc.c (find_fortran_preinclude_file): Do not search multilib
      	suffixes.
      2019-02-18  Martin Liska  <mliska@suse.cz>
      
      	* decl.c (gfc_match_gcc_builtin): Add support for filtering
      	of builtin directive based on multilib ABI name.
      2019-02-18  Martin Liska  <mliska@suse.cz>
      
      	* gfortran.dg/simd-builtins-7.f90: New test.
      	* gfortran.dg/simd-builtins-7.h: New test.
      
      From-SVN: r268978
      Martin Liska committed
    • Daily bump. · d3cbcb23
      From-SVN: r268977
      GCC Administrator committed
  2. 17 Feb, 2019 8 commits
  3. 16 Feb, 2019 9 commits
    • i386: Add ssse3_pmulhrswv4hi3 expander · 2f3d2660
      There is no V4HI pmulhrsw in AVX512BW and V4HI/V8HI pmulhrsw don't require
      AVX2.
      
      	PR target/89372
      	* config/i386/sse.md (ssedoublemode): Remove V4HI.
      	(PMULHRSW): Likewise.
      	(<ssse3_avx2>_pmulhrsw<mode>3): Require TARGET_SSSE3, not
      	TARGET_AVX2.
      	(ssse3_pmulhrswv4hi3): New expander.
      
      From-SVN: r268964
      H.J. Lu committed
    • i386: Correct *vec_extractv2si_zext_mem · 49be11f5
      The second and third alternatives in *vec_extractv2si_zext_mem don't
      require MMX.  But the second one requires SSE2.
      
      	* config/i386/mmx.md (*vec_extractv2si_zext_mem): Doesn't require
      	MMX.  Add isa attribute.
      
      From-SVN: r268963
      H.J. Lu committed
    • re PR tree-optimization/88074 (g++ hangs on math expression) · 843192c0
      	PR middle-end/88074
      	* simplify.c (simplify_transformation_to_array): Run post_op
      	immediately after processing corresponding row, rather than at the
      	end.
      	(norm2_scale): New variable.
      	(add_squared): Rename to ...
      	(norm2_add_squared): ... this.  Scale down operand and/or result
      	if needed.
      	(do_sqrt): Rename to ...
      	(norm2_do_sqrt): ... this.  Handle the result == e case.  Scale up
      	result and clear norm2_scale.
      	(gfc_simplify_norm2): Clear norm2_scale.  Change add_squared to
      	norm2_add_squared and &do_sqrt to norm2_do_sqrt.  Scale up result
      	and clear norm2_scale again.
      
      From-SVN: r268962
      Jakub Jelinek committed
    • Fix excess warnings from -Wtype-limits with location wrappers (PR c++/88680) · 3fe53000
      PR c++/88680 reports excess warnings from -Wtype-limits after the C++
      FE's use of location wrappers was extended in r267272 for cases such as:
      
        const unsigned n = 8;
        static_assert (n >= 0 && n % 2 == 0, "");
      
      t.C:3:18: warning: comparison of unsigned expression >= 0 is always true
        [-Wtype-limits]
          3 | static_assert (n >= 0 && n % 2 == 0, "");
            |                ~~^~~~
      
      The root cause is that the location wrapper around "n" breaks the
      suppression of the warning for the "if OP0 is a constant that is >= 0"
      case.
      
      This patch fixes it by calling fold_for_warn on OP0, extracting the
      constant.
      
      gcc/c-family/ChangeLog:
      	PR c++/88680
      	* c-common.c (shorten_compare): Call fold_for_warn on op0 when
      	implementing -Wtype-limits.
      
      gcc/testsuite/ChangeLog:
      	PR c++/88680
      	* g++.dg/wrappers/pr88680.C: New test.
      
      From-SVN: r268961
      David Malcolm committed
    • re PR fortran/71066 (ICE in set_loop_bounds, at fortran/trans-array.c:4680) · 9dbdefbb
      2019-02-17  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/71066
      	* trans-decl.c (generate_coarray_sym_init):  For an array
      	constructor in a DATA statement of a coarray variable, set the
      	rank to 1 to avoid confusion later on.  If the constructor
      	contains only one value, use that for initiailizig.
      
      2019-02-17  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/71066
      	* gfortran.dg/coarray_data_1.f90: New test.
      
      From-SVN: r268960
      Thomas Koenig committed
    • patchable_function_entry-decl.c: Add -fno-pie on SPARC. · d810ce4b
      	* c-c++-common/patchable_function_entry-decl.c: Add -fno-pie on SPARC.
      	* c-c++-common/patchable_function_entry-default.c: Likewise.
      	* c-c++-common/patchable_function_entry-definition.c: Likewise.
      
      From-SVN: r268958
      Eric Botcazou committed
    • re PR rtl-optimization/66152 (suboptimal load bytes to stack) · 3140b2ed
      	PR rtl-optimization/66152
      	* builtins.h (c_readstr): Declare.
      	* builtins.c (c_readstr): Remove forward declaration.  Add
      	null_terminated_p argument, if false, read all bytes from the
      	string instead of stopping after '\0'.
      	* expr.c (string_cst_read_str): New function.
      	(store_expr): Use string_cst_read_str instead of
      	builtin_strncpy_read_str.  Try to store by pieces the whole
      	exp_len first, and only if that fails, split it up into
      	store by pieces followed by clear_storage.  Formatting fix.
      
      	* gcc.target/i386/pr66152.c: New test.
      
      From-SVN: r268957
      Jakub Jelinek committed
    • i386.md (*movqi_internal): Remove static from buf variable. · 1f1d52e3
      	* config/i386/i386.md (*movqi_internal): Remove static from
      	buf variable.  Use output_asm_insn (buf, operands); return "";
      	instead of return buf;.
      	* config/i386/sse.md (<sse>_andnot<mode>3<mask_name>,
      	*<code><mode>3<mask_name>, *andnot<mode>3, *andnottf3, *<code><mode>3,
      	*<code>tf3, <mask_codefor><code><mode>3<mask_name>): Likewise.
      
      From-SVN: r268956
      Jakub Jelinek committed
    • Daily bump. · bc50c499
      From-SVN: r268955
      GCC Administrator committed
  4. 15 Feb, 2019 17 commits