[Bug target/81485] [SH] ICE: in sh_find_set_of_reg, at config/sh/sh-protos.h:232

2018-01-21 Thread olegendo at gcc dot gnu.org
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

2018-01-21 Thread olegendo at gcc dot gnu.org
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

2017-12-06 Thread olegendo at gcc dot gnu.org
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

2017-12-06 Thread glaubitz at physik dot fu-berlin.de
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

2017-08-10 Thread olegendo at gcc dot gnu.org
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

2017-08-10 Thread olegendo at gcc dot gnu.org
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

2017-08-10 Thread marxin at gcc dot gnu.org
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

2017-08-10 Thread olegendo at gcc dot gnu.org
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

2017-08-10 Thread marxin at gcc dot gnu.org
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

2017-08-10 Thread olegendo at gcc dot gnu.org
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

2017-08-08 Thread marxin at gcc dot gnu.org
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?