[Bug target/81485] [SH] ICE: in sh_find_set_of_reg, at config/sh/sh-protos.h:232
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81485 Oleg Endo changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #11 from Oleg Endo --- Fixed.
[Bug target/81485] [SH] ICE: in sh_find_set_of_reg, at config/sh/sh-protos.h:232
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81485 --- Comment #10 from Oleg Endo --- Author: olegendo Date: Sun Jan 21 13:00:51 2018 New Revision: 256930 URL: https://gcc.gnu.org/viewcvs?rev=256930&root=gcc&view=rev Log: PR target/81485 * config/sh/sh-protos.h (sh_find_set_of_reg): Remove assert. Modified: branches/gcc-6-branch/gcc/ChangeLog branches/gcc-6-branch/gcc/config/sh/sh-protos.h
[Bug target/81485] [SH] ICE: in sh_find_set_of_reg, at config/sh/sh-protos.h:232
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81485 --- Comment #9 from Oleg Endo --- (In reply to John Paul Adrian Glaubitz from comment #8) > > Should we mark this as resolved? No, because it has not been resolved for GCC 6.
[Bug target/81485] [SH] ICE: in sh_find_set_of_reg, at config/sh/sh-protos.h:232
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81485 --- Comment #8 from John Paul Adrian Glaubitz --- This particular bug does no longer reproduce with gcc-7_7.2.0, the package builds fine with gcc-7: gcc-6: > https://buildd.debian.org/status/fetch.php?pkg=totem-pl-parser&arch=sh4&ver=3.10.8-3&stamp=1500830087&raw=0 gcc-7: > https://buildd.debian.org/status/fetch.php?pkg=totem-pl-parser&arch=sh4&ver=3.10.8-3&stamp=1505470413&raw=0 In both cases, the package is totem-pl-parser_3.10.8-3. Should we mark this as resolved?
[Bug target/81485] [SH] ICE: in sh_find_set_of_reg, at config/sh/sh-protos.h:232
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81485 --- Comment #7 from Oleg Endo --- (In reply to Oleg Endo from comment #6) > And in fact, there has been a change to the function sh_find_set_of_reg. > I'd have to dig through the archives etc to find out what was going on > there. The change was in r235859, but it seems it was for something else. Anyway it should be OK to backport the hunk from comment #6.
[Bug target/81485] [SH] ICE: in sh_find_set_of_reg, at config/sh/sh-protos.h:232
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81485 --- Comment #6 from Oleg Endo --- And in fact, there has been a change to the function sh_find_set_of_reg. I'd have to dig through the archives etc to find out what was going on there. Meanwhile, it seems that the small backport patch below fixes the issue, although I have not done any proper tests. Index: gcc/config/sh/sh-protos.h === --- gcc/config/sh/sh-protos.h (revision 240471) +++ gcc/config/sh/sh-protos.h (working copy) @@ -228,8 +228,12 @@ } } - if (result.set_src != NULL) -gcc_assert (result.insn != NULL && result.set_rtx != NULL); + /* If the searched reg is found inside a (mem (post_inc:SI (reg))), set_of + will return NULL and set_rtx will be NULL. + In this case report a 'not found'. result.insn will always be non-null + at this point, so no need to check it. */ + if (result.set_src != NULL && result.set_rtx == NULL) +result.set_src = NULL; return result; }
[Bug target/81485] [SH] ICE: in sh_find_set_of_reg, at config/sh/sh-protos.h:232
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81485 Martin Liška changed: What|Removed |Added CC||aoliva at gcc dot gnu.org --- Comment #5 from Martin Liška --- Ok, just adding a port maintainer.
[Bug target/81485] [SH] ICE: in sh_find_set_of_reg, at config/sh/sh-protos.h:232
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81485 --- Comment #4 from Oleg Endo --- (In reply to Martin Liška from comment #3) > > Good, I can confirm it works for GCC 5. Let's then bisect that.. I'm not sure whether this will reveal anything useful. It's probably just a bug in the function sh_find_set_of_reg, which runs into an unexpected RTL construct.
[Bug target/81485] [SH] ICE: in sh_find_set_of_reg, at config/sh/sh-protos.h:232
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81485 Martin Liška changed: What|Removed |Added Status|WAITING |NEW --- Comment #3 from Martin Liška --- (In reply to Oleg Endo from comment #2) > (In reply to Martin Liška from comment #1) > > Is it reproducible with x86_64-linux-gnu cross-compiler? > > Yes, on gcc version 6.2.1 20160925 (GCC), when compiling attachment 41790 > [details] with > > "-m4 -ml -O2" or "-m4 -mb -O2". Good, I can confirm it works for GCC 5. Let's then bisect that..
[Bug target/81485] [SH] ICE: in sh_find_set_of_reg, at config/sh/sh-protos.h:232
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81485 Oleg Endo changed: What|Removed |Added Last reconfirmed|2017-08-08 00:00:00 |2017-8-10 --- Comment #2 from Oleg Endo --- (In reply to Martin Liška from comment #1) > Is it reproducible with x86_64-linux-gnu cross-compiler? Yes, on gcc version 6.2.1 20160925 (GCC), when compiling attachment 41790 with "-m4 -ml -O2" or "-m4 -mb -O2".
[Bug target/81485] [SH] ICE: in sh_find_set_of_reg, at config/sh/sh-protos.h:232
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81485 Martin Liška changed: What|Removed |Added Status|UNCONFIRMED |WAITING Last reconfirmed||2017-08-08 CC||marxin at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #1 from Martin Liška --- Is it reproducible with x86_64-linux-gnu cross-compiler?