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/48144] ICE: in code_motion_path_driver, at sel-sched.c:6575 with -fselective-scheduling2 and custom flags


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48144

--- Comment #3 from Andrey Belevantsev <abel at gcc dot gnu.org> 2011-03-22 15:58:52 UTC ---
Created attachment 23751
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=23751
Current patch

The ICE turned out to be the new one.  We are updating the data sets on the
bookkeeping blocks for the reasons outlined in the long comment in sel-sched.c.
 When doing this, we not only remove some insns but also add previous unknown
insns (possibly transformed) to the av set of the bookkeeping block.  The same
insns might also happen to be in the upper av sets, but their transformation
history is not reflecting the mentioned updates.  We were missing this case
when we have fixed the problem only for bookkeeping insns.  

Fixed by simply always picking up the transformation history from the blocks we
are processing on the way down.  This patch may let us get rid of the earlier
originators stuff introduced to solve this for bookkeeping insns.

Zdenek, does this patch work for you?


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