https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94392

--- Comment #6 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Richard Biener <rgue...@gcc.gnu.org>:

https://gcc.gnu.org/g:75efe9cb1f8938a713ce540dc3b27bc2afcd3fae

commit r10-7522-g75efe9cb1f8938a713ce540dc3b27bc2afcd3fae
Author: Richard Biener <rguent...@suse.de>
Date:   Thu Apr 2 10:46:20 2020 +0200

    c/94392 - only enable -ffinite-loops for C++

    This does away with enabling -ffinite-loops at -O2+ for all languages
    and instead enables it selectively for C++ only.

    It also makes -ffinite-loops loop-private at CFG construction time
    fixing correctness issues with inlining.

    2020-04-02  Richard Biener  <rguent...@suse.de>

            PR c/94392
            * c-opts.c (c_common_post_options): Enable -ffinite-loops
            for -O2 and C++11 or newer.

            * common.opt (ffinite-loops): Initialize to zero.
            * opts.c (default_options_table): Remove OPT_ffinite_loops
            entry.
            * cfgloop.h (loop::finite_p): New member.
            * cfgloopmanip.c (copy_loop_info): Copy finite_p.
            * ipa-icf-gimple.c (func_checker::compare_loops): Compare
            finite_p.
            * lto-streamer-in.c (input_cfg): Stream finite_p.
            * lto-streamer-out.c (output_cfg): Likewise.
            * tree-cfg.c (replace_loop_annotate): Initialize finite_p
            from flag_finite_loops at CFG build time.
            * tree-ssa-loop-niter.c (finite_loop_p): Check the loops
            finite_p flag instead of flag_finite_loops.
            * doc/invoke.texi (ffinite-loops): Adjust documentation of
            default setting.

            * gcc.dg/torture/pr94392.c: New testcase.

Reply via email to