]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR tree-optimization/83189 (internal compiler error: in probability_in, at profile...
authorJan Hubicka <hubicka@ucw.cz>
Thu, 11 Jan 2018 08:14:33 +0000 (09:14 +0100)
committerJan Hubicka <hubicka@gcc.gnu.org>
Thu, 11 Jan 2018 08:14:33 +0000 (08:14 +0000)
PR middle-end/83189
* gfortran.fortran-torture/compile/pr83189.f90: New testcase.
* tree-ssa-loop-manip.c (tree_transform_and_unroll_loop): Handle zero
profile.

From-SVN: r256480

gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.fortran-torture/compile/pr83189.f90 [moved from gcc/testsuite/gfortran.fortran-torture/compile/pr83081.f90 with 100% similarity]
gcc/tree-ssa-loop-manip.c

index 1a55b201090797edf02924446247afc065fe7ef8..32652720c897790db8b9fe60c252dadba7235c11 100644 (file)
@@ -1,3 +1,10 @@
+2018-01-10  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR middle-end/83189
+       * gfortran.fortran-torture/compile/pr83189.f90: New testcase.
+       * tree-ssa-loop-manip.c (tree_transform_and_unroll_loop): Handle zero
+       profile.
+
 2018-01-10  Jan Hubicka  <hubicka@ucw.cz>
 
        PR middle-end/83575
index 68fe8ef65befb043520cf4a9f0d0fac00437a64b..917370960c43983b83a9672e5456229234fb7e07 100644 (file)
@@ -1,3 +1,8 @@
+2018-01-10  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR middle-end/83189
+       * gfortran.fortran-torture/compile/pr83189.f90: New testcase.
+
 2018-01-10  Jan Hubicka  <hubicka@ucw.cz>
 
        * gcc.c-torture/compile/pr83575.c: New testcase.
index 80e91d0f0aa67c8742a0b1dda1472cdce0e404b8..bf425afd43601cf941c48dc01fdbf639c5e278f5 100644 (file)
@@ -1378,7 +1378,8 @@ tree_transform_and_unroll_loop (struct loop *loop, unsigned factor,
     {
       /* Avoid dropping loop body profile counter to 0 because of zero count
         in loop's preheader.  */
-      freq_e = freq_e.force_nonzero ();
+      if (freq_h.nonzero_p () && !(freq_e == profile_count::zero ()))
+        freq_e = freq_e.force_nonzero ();
       scale_loop_frequencies (loop, freq_e.probability_in (freq_h));
     }