]> git.ipfire.org Git - thirdparty/gcc.git/commit
re PR middle-end/90796 (GCC: O2 vs O3 output differs on simple test)
authorMichael Matz <matz@suse.de>
Wed, 20 Nov 2019 16:51:10 +0000 (16:51 +0000)
committerMichael Matz <matz@gcc.gnu.org>
Wed, 20 Nov 2019 16:51:10 +0000 (16:51 +0000)
commit40f600848fc66584246172f474d026afd1a3ff8d
treeada2b536d3c7c29263f7113764d4ab4bccb0be15
parent999904b2b29e781613b996b4af46ea7b2b6a8432
re PR middle-end/90796 (GCC: O2 vs O3 output differs on simple test)

Fix PR90796

       PR middle-end/90796
       * gimple-loop-jam.c (any_access_function_variant_p): New function.
       (adjust_unroll_factor): Use it to constrain safety, new parameter.
       (tree_loop_unroll_and_jam): Adjust call and profitable unroll factor.

testsuite/
       Backport from mainline
       PR middle-end/90796
       * gcc.dg/unroll-and-jam.c: Disable loop-invariant motion and adjust.

       PR middle-end/90796
       * gcc.dg/unroll-and-jam.c: Add three invalid and one valid case.

From-SVN: r278512
gcc/ChangeLog
gcc/gimple-loop-jam.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/unroll-and-jam.c