1. 17 Sep, 2018 17 commits
    • i386.c (ix86_emit_i387_log1p): Emit fldln2 earlier. · 71b731be
      	* config/i386/i386.c (ix86_emit_i387_log1p): Emit fldln2 earlier.
      
      From-SVN: r264373
      Uros Bizjak committed
    • substring-locations: add class format_string_diagnostic_t · c896ecfe
      With the addition of ranges in r263564, format_warning_at_substring_n
      has 10 arguments.
      
      Reduce the number of args by bundling the shared ones into a
      class format_string_diagnostic_t.
      
      gcc/c-family/ChangeLog:
      	* c-format.c (format_warning_at_char): Update for introduction of
      	format_string_diagnostic_t.
      	(format_type_warning): Likewise.
      
      gcc/ChangeLog:
      	* gimple-ssa-sprintf.c (fmtwarn): Update for introduction of
      	format_string_diagnostic_t.
      	(fmtwarn_n): Likewise.
      	* substring-locations.c
      	(format_string_diagnostic_t::format_string_diagnostic_t) New ctor.
      	(format_warning_n_va): Convert to...
      	(format_string_diagnostic_t::emit_warning_n_va): ...this.
      	(format_warning_va): Convert to...
      	(format_string_diagnostic_t::emit_warning_va): ...this.
      	(format_warning_at_substring): Convert to...
      	(format_string_diagnostic_t::emit_warning): ...this.
      	(format_warning_at_substring_n): Convert to...
      	(format_string_diagnostic_t::emit_warning_n): ...this.
      	* substring-locations.h (class format_string_diagnostic_t): New
      	class.
      	(format_warning_va): Convert to
      	format_string_diagnostic_t::emit_warning_va.
      	(format_warning_n_va): Convert to
      	format_string_diagnostic_t::emit_warning_n_va.
      	(format_warning_at_substring): Convert to
      	format_string_diagnostic_t::emit_warning.
      	(format_warning_at_substring_n): Convert to
      	format_string_diagnostic_t::emit_warning_n.
      
      From-SVN: r264372
      David Malcolm committed
    • [nvptx] Add atomic_fetch* support for SImode arguments. · 69d7aabf
      	gcc/
      	* config/nvptx/nvptx.md (atomic_fetch_<logic><mode>): Enable with
      	SImode args.
      
      	gcc/testsuite/
      	* gcc.target/nvptx/atomic-fetch-2.c: Rename to ...
      	* gcc.target/nvptx/atomic_fetch-2.c: ... this.
      	* gcc.target/nvptx/atomic_fetch-3.c: New test.
      
      
      Co-Authored-By: Bernd Schmidt <bernds_cb1@t-online.de>
      
      From-SVN: r264371
      Cesar Philippidis committed
    • i386.md (truncxf<mode>2_i387_noop_unspec): Change operand 0 predicate to nonimmediate operand. · fa540cec
      	* config/i386/i386.md (truncxf<mode>2_i387_noop_unspec): Change
      	operand 0 predicate to nonimmediate operand.
      	(rint<mode>2_frndint): Remove insn pattern.
      	(rint<mode>2): Change operand 1 predicate to general_operand.
      	Extend operand 1 to XFmode and generate rintxf2 insn.
      	(frndintxf2_<rounding>): Rename from frndint<mode>2_<rounding>.
      	Do not use X87MODEF mode macro.
      	(frndintxf2_<rounding>_i387): Rename from
      	frndint<mode>2_<rounding>_i387.  Do not use X87MODEF mode macro.
      	(<rounding_insn><mode>2): For non-SSE modes, extend operand 1
      	to XFmode and generate significandxf3 insn.
      
      From-SVN: r264370
      Uros Bizjak committed
    • re PR tree-optimization/87328 (ICE in do_rpo_vn, at tree-ssa-sccvn.c:6566) · 5d721887
      2018-09-17  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/87328
      	* tree-ssa-sccvn.c (process_bb): Remove assertion about not
      	visiting unexecutable backedges when not iterating.
      	(do_rpo_vn): Mark all edges not executable even when not
      	iterating.
      
      	* gcc.dg/torture/pr87328.c: New testcase.
      
      From-SVN: r264369
      Richard Biener committed
    • Add -Wabsolute-value · 80c6d1f4
      2018-09-17  Martin Jambor  <mjambor@suse.cz>
      
      	gcc/
      	* doc/invoke.texi (Warning Options): Likewise.
      
      	gcc/c-family/
      	* c.opt (Wabsolute-value): New.
      
      	gcc/c/
      	* c-parser.c: (warn_for_abs): New function.
      	(c_parser_postfix_expression_after_primary): Call it.
      
      	testsuite/
      	* gcc.dg/warn-abs-1.c: New test.
      	* gcc.dg/dfp/warn-abs-2.c: Likewise.
      
      From-SVN: r264368
      Martin Jambor committed
    • ms-sysv.exp: Don't pass TEST_ALWAYS_FLAGS to HOSTCXX. · 3ab3a92e
      2018-09-17  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              * gcc.target/x86_64/abi/ms-sysv/ms-sysv.exp: Don't pass
              TEST_ALWAYS_FLAGS to HOSTCXX.
      
      From-SVN: r264367
      Bernd Edlinger committed
    • re PR fortran/64120 ([F03] Wrong handling of allocatable character string) · d44235fb
      2018-09-17  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/64120
      	* trans-decl.c (gfc_get_symbol_decl): Flag allocatable, scalar
      	characters with a variable length expression for deferred init.
      	(gfc_trans_deferred_vars): Perform the assignment for these
      	symbols by calling gfc_conv_string_length.
      
      2018-09-17  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/64120
      	* gfortran.dg/allocatable_scalar_14.f90 : New test.
      
      From-SVN: r264365
      Paul Thomas committed
    • re PR tree-optimization/87301 (ICE: verify_gimple failed (error: statement… · ecfb64f6
      re PR tree-optimization/87301 (ICE: verify_gimple failed (error: statement marked for throw, but doesn't))
      
      2018-09-17  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/87301
      	* tree-ssa-sccvn.c (eliminate_dom_walker::eliminate_cleanup): Properly
      	clean EH info from leftover copy assignments.
      
      	* gcc.dg/torture/pr87301.c: New testcase.
      
      From-SVN: r264364
      Richard Biener committed
    • Fix out-of-bounds in gcov.c (PR gcov-profile/85871). · dda107df
      2018-09-17  Martin Liska  <mliska@suse.cz>
      
      	PR gcov-profile/85871
      	* gcov.c (output_intermediate_file): Fix out of bounds
      	access.
      
      From-SVN: r264363
      Martin Liska committed
    • [ARC] Enable DBNZ for core3 and newer CPUs. · dd1fd744
      2018-09-17  Vineet Gupta  <vgupta@synopsys.com>
      
      	* config/arc/arc.c: Object attributes for core4 not reflected
      	correctly.
      	* config/arc/arc.h: Don't restrict DBNZ to core3 (core4 includes
      	core3).
      
      From-SVN: r264362
      Vineet Gupta committed
    • [ARC] Update LINK_EH_SPEC linker spec. · 5305a279
      With no trailing space in LINK_EH_SPEC linker spec gets generated as:
      ------------------------>8---------------------
      %{!r:--build-id} --eh-frame-hdr%{h*} ...
      ------------------------>8---------------------
      
      or even worse if hash style is added:
      ------------------------>8---------------------
      %{!r:--build-id} --eh-frame-hdr--hash-style=sysv %{h*} ...
      ------------------------>8---------------------
      
      Now if that spec is really used by LD then it fails inevitably
      saying that it doesn't know option "--eh-frame-hdr--hash-style=sysv".
      
      2018-09-17  Alexey Brodkin  <abrodkin@synopsys.com>
      
      	* config/arc/linux.h (LINK_EH_SPEC): Add missing space.
      
      From-SVN: r264361
      Alexey Brodkin committed
    • gcov: emit hotness colors to easily find hot code. · d6683f89
      2018-09-17  Martin Liska  <mliska@suse.cz>
      
      	* doc/gcov.texi: Document new option --use-hotness-colors.
      	* gcov.c (struct source_info): Declare new field.
      	(source_info::source_info): Set default for maximum_count.
      	(print_usage): Add new -q option.
      	(process_args): Process it.
      	(accumulate_line_info): Save src->maximum_count.
      	(output_line_beginning): Make color line number if
      	flag_use_hotness_colors is set.
      	(output_line_details): Pass default argument value.
      	(output_lines): Pass src->maximum_count.
      
      From-SVN: r264360
      Martin Liska committed
    • i386: move alignment defaults to processor_costs. · 7dc58b50
      2018-09-17  Martin Liska  <mliska@suse.cz>
      
      	* common/config/i386/i386-common.c (ix86_get_valid_option_values):
      	Use processor_names table.
      	* config/i386/i386.c (ix86_default_align): Use
      	processor_cost_table for alignment values.
      	(ix86_option_override_internal): Use processor_names.
      	(ix86_function_specific_print): Likewise.
      	* config/i386/i386.h (struct processor_costs):
      	Add alignment values.
      	(struct ptt): Remove and replace with const char *.
      	* config/i386/x86-tune-costs.h (struct processor_costs):
      	Declare default alignments for all costs.
      
      From-SVN: r264359
      Martin Liska committed
    • re PR fortran/85954 (ICE in make_ssa_name_fn, at tree-ssanames.c:266) · ca32d61b
      2018-09-17  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/85954
      	* resolve.c (resolve_assoc_var): If the target expression is a
      	deferred charlen dummy and the associate name shares the
      	charlen, generate a new one. Make sure that new charlens are in
      	the namespace list so that they get cleaned up.
      	* trans-array.c (gfc_is_reallocatable_lhs): Associate names are
      	not reallocatable.
      	* trans-decl.c (gfc_get_symbol_decl): Put deferred character
      	length dummy and result arrays on the deferred initialization
      	list so that the variable length arrays can be correctly dealt
      	with.
      	* trans-expr.c (gfc_conv_string_length): Return if 'expr' is
      	NULL rather than ICEing..
      
      2018-09-17  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/85954
      	* gfortran.dg/deferred_character_21.f90 : New test.
      
      From-SVN: r264358
      Paul Thomas committed
    • tree-vrp.c (extract_range_from_unary_expr): Do not special case symbolics or… · 3cc2fdfd
      tree-vrp.c (extract_range_from_unary_expr): Do not special case symbolics or VR_VARYING ranges for ABS_EXPR.
      
      	* tree-vrp.c (extract_range_from_unary_expr): Do not special case
      	symbolics or VR_VARYING ranges for ABS_EXPR.
      	* wide-int-range.cc (wide_int_range_abs): Return positive numbers
      	when range will wrap.
      
      From-SVN: r264356
      Aldy Hernandez committed
    • Daily bump. · baeab78d
      From-SVN: r264355
      GCC Administrator committed
  2. 16 Sep, 2018 3 commits
    • fix PR 86484 and PR 84543 · 74b08343
      2018-09-16  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/86484
      	PR fortran/84543
      	* match.c (gfc_match_assignment): For a polymorphic assignment,
      	make sure that the vtab for the rhs type is generated.
      
      2018-09-16  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/86484
      	PR fortran/84543
      	* gfortran.dg/class_assign_2.f90: New test case.
      	* gfortran.dg/class_assign_3.f90: New test case.
      
      From-SVN: r264350
      Janus Weil committed
    • re PR fortran/37802 (Improve wording for matmul bound checking) · ed33417a
      2018-09-16  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/37802
      	* frontend-passes.c (B_ERROR): New macro for matmul bounds
      	checking error messages.
      	(C_ERROR): Likewise.
      	(inline_matmul_assign): Reorganize bounds checking, use B_ERROR
      	and C_ERROR macros.
      
      2018-09-16  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/37802
      	* gfortran.dg/matmul_bounds_13.f90: New test case.
      	* gfortran.dg/inline_matmul_15.f90:  Adjust test for runtime
      	error.
      	* gfortran.dg/matmul_5.f90: Likewise.
      	* gfortran.dg/matmul_bounds_10.f90: Likewise.
      	* gfortran.dg/matmul_bounds_11.f90: Likewise.
      	* gfortran.dg/matmul_bounds_2.f90: Likewise.
      	* gfortran.dg/matmul_bounds_4.f90: Likewise.
      	* gfortran.dg/matmul_bounds_5.f90: Likewise.
      
      2018-09-16  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/37802
      	* m4/matmul_internal.m4: Adjust error messages.
              * generated/matmul_c10.c: Regenerated.
              * generated/matmul_c16.c: Regenerated.
              * generated/matmul_c4.c: Regenerated.
              * generated/matmul_c8.c: Regenerated.
              * generated/matmul_i1.c: Regenerated.
              * generated/matmul_i16.c: Regenerated.
              * generated/matmul_i2.c: Regenerated.
              * generated/matmul_i4.c: Regenerated.
              * generated/matmul_i8.c: Regenerated.
              * generated/matmul_r10.c: Regenerated.
              * generated/matmul_r16.c: Regenerated.
              * generated/matmul_r4.c: Regenerated.
              * generated/matmul_r8.c: Regenerated.
              * generated/matmulavx128_c10.c: Regenerated.
              * generated/matmulavx128_c16.c: Regenerated.
              * generated/matmulavx128_c4.c: Regenerated.
              * generated/matmulavx128_c8.c: Regenerated.
              * generated/matmulavx128_i1.c: Regenerated.
              * generated/matmulavx128_i16.c: Regenerated.
              * generated/matmulavx128_i2.c: Regenerated.
              * generated/matmulavx128_i4.c: Regenerated.
              * generated/matmulavx128_i8.c: Regenerated.
              * generated/matmulavx128_r10.c: Regenerated.
              * generated/matmulavx128_r16.c: Regenerated.
              * generated/matmulavx128_r4.c: Regenerated.
              * generated/matmulavx128_r8.c: Regenerated.
      
      From-SVN: r264349
      Thomas Koenig committed
    • Daily bump. · c546dbdc
      From-SVN: r264346
      GCC Administrator committed
  3. 15 Sep, 2018 2 commits
  4. 14 Sep, 2018 18 commits
    • re PR middle-end/87188 (Function pointer canonicalization optimized away) · f3743e2e
      	PR middle-end/87188
      	* dojump.c (do_compare_and_jump): Canonicalize function pointers
      	when one operand is a function pointer.  Use POINTER_TYPE_P and
      	FUNC_OR_METHOD_TYPE_P.
      	* expr.c (do_store_flag): Use POINTER_TYPE_P and FUNC_OR_METHOD_TYPE_P.
      	* fold-const.c (build_range_check): Likewise.
      	* match.pd (simple_comparison): Likewise.
      
      From-SVN: r264336
      John David Anglin committed
    • Fix overeager spelling corrections (PR c/82967) · 07f87905
      This patch tunes class best_match's cutoff for rejecting meaningless
      spelling suggestions.
      
      Previously, we allowed an edit distance of up to half of the length of the
      longer of the goal string and closest candidate strings, rounded down.
      
      With this patch, we now allow only up to a third - with some tuning of
      rounding (and for very short strings), to ensure that:
      (a) everything that worked before still works (with the removal of a
      couple of cases that shouldn't), and that
      (b) the new threshold is always at least as conservative as the old
      threshold and thus shouldn't offer new nonsensical suggestions (with
      the possible exception of cases where transposition has helped; see
      r261521 aka Damerau-Levenshtein; PR other/69968).
      
      In particular, all of the bogus suggestions from PR c/82967 are now
      no longer offered.
      
      gcc/ChangeLog:
      	PR c/82967
      	* spellcheck.c (get_edit_distance_cutoff): New function.
      	(selftest::test_edit_distance_unit_test_oneway): Rename to...
      	(selftest::test_get_edit_distance_one_way): ...this.
      	(selftest::test_get_edit_distance_unit): Rename to...
      	(selftest::test_get_edit_distance_both_ways): ...this.
      	(selftest::test_edit_distances): Move tests to this new function,
      	and test some more pairs of strings.  Update for above renaming.
      	(selftest::get_old_cutoff): New function.
      	(selftest::test_get_edit_distance_cutoff): New function.
      	(selftest::assert_suggested_for): New function.
      	(ASSERT_SUGGESTED_FOR): New macro.
      	(selftest::assert_not_suggested_for): New function.
      	(ASSERT_NOT_SUGGESTED_FOR): New macro.
      	(selftest::test_suggestions): New function.
      	(selftest::spellcheck_c_tests): Move test_get_edit_distance_unit
      	tests to selftest::test_edit_distances and call it.  Add calls to
      	selftest::test_get_edit_distance_cutoff and
      	selftest::test_suggestions.
      	* spellcheck.h (get_edit_distance_cutoff): New function declaration.
      	(best_match::consider): Replace hard-coded cutoff calculation with
      	a call to...
      	(best_match::get_cutoff): New declaration.
      	(best_match::get_best_meaningful_candidate): Likewise.
      
      gcc/testsuite/ChangeLog:
      	PR c/82967
      	* c-c++-common/attributes-1.c: Remove bogus suggestion from
      	dg-prune-output.
      	* gcc.dg/diagnostic-token-ranges.c (undeclared_identifier): Remove
      	bogus suggestion.
      	* gcc.dg/spellcheck-identifiers-4.c: New test.
      
      From-SVN: r264335
      David Malcolm committed
    • builtins.c (fold_builtin_strlen): Remove TODO comment. · 2870a4da
      2018-09-14  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              * builtins.c (fold_builtin_strlen): Remove TODO comment.
      
      testsuite:
      2018-09-14  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              * gcc.dg/warn-strlen-no-nul.c: Add some missing test cases.
      
      From-SVN: r264334
      Bernd Edlinger committed
    • fix previous commit message · 05172c09
      From-SVN: r264333
      Bernd Edlinger committed
    • 2018-09-14 Bernd Edlinger msebor@redhat.com> · a70f3820
              revert:
              2018-07-30  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              * tree-ssa-forwprop.c (simplify_builtin_call): Don't create a not NUL
              terminated string literal.
      
      From-SVN: r264332
      Bernd Edlinger committed
    • cmd/go: correct gccgo buildid file on ARM · e47515aa
          
          Bring in https://golang.org/cl/135297 from the gc repository to fix a
          GCC bug report.
          
          Original CL description:
          
              The GNU assembler for ARM treats @ as a comment character, so section
              types must be written using % instead.
          
              Fixes https://gcc.gnu.org/PR87260.
          
          Reviewed-on: https://go-review.googlesource.com/135360
      
      From-SVN: r264330
      Ian Lance Taylor committed
    • builtins.c (unterminated_array): Handle ARRAY_REF. · 01b0acb7
      	* builtins.c (unterminated_array): Handle ARRAY_REF.
      	(expand_builtin_stpcpy_1): Detect unterminated char arrays.
      	* builtins.h (unterminated_array): Declare extern.
      	* gimple-fold.c (gimple_fold_builtin_stpcpy): Detect unterminated
      	  arrays.
      	(gimple_fold_builtin_sprintf): Propagate NO_WARNING to transformed
      	calls.
      
      	* gcc.dg/warn-stpcpy-no-nul.c: New test.
      
      From-SVN: r264328
      Martin Sebor committed
    • builtins.c (unterminated_array): New. · e08341bb
      	* builtins.c (unterminated_array): New.
      	(expand_builtin_strcpy): Adjust.
      	(expand_builtin_strcpy_args): Detect unterminated arrays.
      	* gimple-fold.c (get_maxval_strlen): Add argument.  Detect
      	unterminated arrays.
      	* gimple-fold.h (get_maxval_strlen): Add argument.
      	(gimple_fold_builtin_strcpy): Detec unterminated arrays.
      
      	* gimple-fold.c (get_range_strlen): Add argument.
      	(get_maxval_strlen): Adjust.
      	* gimple-fold.h (get_range_strlen): Add argument.
      
      	* gcc.dg/warn-strcpy-no-nul.c: New test.
      
      Co-Authored-By: Jeff Law <law@redhat.com>
      
      From-SVN: r264327
      Martin Sebor committed
    • * config/i386/movdirintrin.h: Fix copyright year. · dd98382b
      From-SVN: r264326
      Wei Xiao committed
    • compiler: don't use address of temporary for deferred delete · 2a7ba924
          
          This CL corrects the handling of a deferred delete in a loop, to not
          use a temporary whose value will, at deferred execution time, wind up
          being the last value in the loop.
          
          The test for this is TestDeferDeleteSlow in the 1.11 runtime package.
          
          Reviewed-on: https://go-review.googlesource.com/135358
      
      From-SVN: r264325
      Ian Lance Taylor committed
    • c++/61941 - Mis-parsing of warn_unused_result function with ref-qualifiers · 98ef99ab
      gcc/testsuite/ChangeLog:
      	* g++.dg/pr61941.C: New test.
      
      From-SVN: r264324
      Martin Sebor committed
    • [AArch64][committed] Fix gcc.target/aarch64/combine_bfi_1.c · 1b1dfddf
      This test started failing because some of the functions in the combine dump that it scans uses a different pattern to match the same instruction: insv_regsi rather than aarch64_bfi.
      The code generation is still the same.
      The patch changes the scan to look for the actual instruction we want in the assembly.
      
      This fixes the test.
      Committing to trunk as obvious.
      
           * gcc.target/aarch64/combine_bfi_1.c: Scan for bfi instruction
           rather than pattern name in combine dump.
      
      From-SVN: r264323
      Kyrylo Tkachov committed
    • reg-stack.c: Include regs.h. · 0c2d2371
      	* reg-stack.c: Include regs.h.
      	(replace_reg): Assert that mode is MODE_FLOAT or MODE_COMPLEX_FLOAT.
      	(emit_pop_insn): Default pop insn mode to the reg_raw_mode of
      	FIRST_STACK_REG, not DFmode.
      	(emit_swap_insn): Default swap insn mode to the reg_raw_mode of
      	FIRST_STACK_REG, not XFmode.  Explicitly construct swap RTX.
      	(change stack): Default register mode to the reg_raw_mode of
      	FIRST_STACK_REG, not DFmode.
      	* config/i386/i386.md (*swap<mode>): Remove insn pattern.
      	(*swapxf): Rename from swapxf.
      
      From-SVN: r264319
      Uros Bizjak committed
    • emmintrin.h: Add _MM_SHUFFLE2. · 8cafacb5
      gcc/ChangeLog:
      
      2018-09-14  Carl Love  <cel@us.ibm.com>
      
      	* config/rs6000/emmintrin.h: Add _MM_SHUFFLE2.
      	* config/rs6000/xmmintrin.h: Add _MM_SHUFFLE.
      
      From-SVN: r264317
      Carl Love committed
    • rs6000: Add another Z to go with Y (PR87224) · dc928512
      This is another case where we ICE because Y does not allow reg+reg, we
      need Z for that.
      
      
      	PR target/87224
      	* config/rs6000/rs6000.md (*mov<mode>_hardfloat64): Add Z to the Y
      	alternatives.
      
      From-SVN: r264316
      Segher Boessenkool committed
    • [Aarch64] Added pattern to match zero extended bfxil · 2dc09f66
      gcc/
      2018-07-31  Sam Tebbs  <sam.tebbs@arm.com>
      
      	PR target/85628
      	* config/aarch64/aarch64.md (*aarch64_bfxilsi_uxtw): Define.
      
      gcc/testsuite
      2018-07-31  Sam Tebbs  <sam.tebbs@arm.com>
      
      	PR target/85628
      	* gcc.target/aarch64/combine_bfxil.c (combine_zero_extended_int, foo6):
      	New functions.
      
      From-SVN: r264315
      Sam Tebbs committed
    • Fix --enable-gather-detailed-mem-stats. · d604907d
      	* hash-table.c (hash_table_usage): Change from variable to function.
      	* hash-table.h: Adjust.
      	* Makefile.in: Add missing dependencies on hash-table.h.
      
      From-SVN: r264313
      Jason Merrill committed
    • [tree-ssa-mathopts] PR tree-optimization/87259: Call execute_cse_reciprocals_1… · 115b4708
      [tree-ssa-mathopts] PR tree-optimization/87259: Call execute_cse_reciprocals_1 before trying optimize_recip_sqrt
      
      	PR tree-optimization/87259
      	PR lto/87283
      	(pass_cse_reciprocals::execute): Run optimize_recip_sqrt after
      	execute_cse_reciprocals_1 has tried transforming.
      
      	PR tree-optimization/87259
      	* gcc.dg/pr87259.c: New test.
      
      From-SVN: r264312
      Kyrylo Tkachov committed