This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug rtl-optimization/84032] ICE in optimize_sc, at modulo-sched.c:1064


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

David Malcolm <dmalcolm at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2018-01-31
                 CC|                            |dmalcolm at gcc dot gnu.org
     Ever confirmed|0                           |1

--- Comment #1 from David Malcolm <dmalcolm at gcc dot gnu.org> ---
Confirmed (with --target=powerpc-linux_spe and r257097 fwiw)

Assertion fails here:

#2  0x00000000013584ef in optimize_sc (g=0x1f2cf30, g=0x1f2cf30, ps=0x1f939b0)
at ../../src/gcc/modulo-sched.c:1064
1064              gcc_assert (success && (num_splits == 0));

within this recovery code:

1045          gcc_assert (num_splits == 0);
1046          if (!success)
1047            {
1048              if (dump_file)
1049                fprintf (dump_file,
1050                         "SMS failed to schedule branch at cycle: %d, "
1051                         "bringing it back to cycle %d\n", c,
branch_cycle);
1052
1053              /* The branch was failed to be placed in row ii - 1.
1054                 Put it back in it's original place in the partial
1055                 schedualing.  */
1056              set_must_precede_follow (&tmp_follow, must_follow,
&tmp_precede,
1057                                       must_precede, branch_cycle, start,
end,
1058                                       step);
1059              success =
1060                try_scheduling_node_in_cycle (ps, g->closing_branch->cuid,
1061                                              branch_cycle, sched_nodes,
1062                                              &num_splits, tmp_precede,
1063                                              tmp_follow);
1064              gcc_assert (success && (num_splits == 0));
1065              ok = false;

(gdb) p num_splits
$4 = 0
(gdb) p success
$5 = <optimized out>
but presumably try_scheduling_node_in_cycle returned 0

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]