> On Fri, Oct 16, 2015 at 1:46 AM, Richard Biener
> <richard.guent...@gmail.com> wrote:
> > On Fri, Oct 16, 2015 at 5:12 AM, Jan Hubicka <hubi...@ucw.cz> wrote:
> >> Hi,
> >> as Richard noticed in my port of the code to operand_equal_p, the checking 
> >> of
> >> CONSTURCTOR in ipa-icf-gimple is incomplete missing the index checks.
> >> It is also unnecesary since non-empty ctors does not happen as gimple
> >> operands.  This patch thus removes the unnecesary code.
> >
> > Err - they do happen, for vector constructors.  Just empty constructors
> > are not allowed for vector constructors - vector constructors are required
> > to have elements in proper order and none left out.
> >
> > Sorry for misleading you.
> >
> >> Bootstrapped/regtested x86_64-linux, comitted.
> >
> > this will definitely ICE ...
> >
> 
> And it did on x86:
> 
> https://gcc.gnu.org/ml/gcc-regression/2015-10/msg00166.html
> 
I am going to commit the following revert wich also adds generic testcase
as soon as testing converges.

Index: testsuite/ChangeLog
===================================================================
--- testsuite/ChangeLog (revision 228865)
+++ testsuite/ChangeLog (working copy)
@@ -1,3 +1,7 @@
+2015-10-11  Jan Hubicka  <hubi...@ucw.cz>
+
+       * gcc.c-torture/compile/icfmatch.c: Add testcase
+
 2015-10-16  Paolo Carlini  <paolo.carl...@oracle.com>
 
        PR c++/67926
Index: testsuite/gcc.c-torture/compile/icfmatch.c
===================================================================
--- testsuite/gcc.c-torture/compile/icfmatch.c  (revision 0)
+++ testsuite/gcc.c-torture/compile/icfmatch.c  (revision 0)
@@ -0,0 +1,11 @@
+typedef char __attribute__ ((vector_size (4))) v4qi;
+void retv (int a,int b,int c,int d, v4qi *ret)
+{
+  v4qi v = { a, b , c, d };
+  *ret = v;
+}
+void retv2 (int a,int b,int c,int d, v4qi *ret)
+{
+  v4qi v = { a, b , c, d };
+  *ret = v;
+}
Index: ChangeLog
===================================================================
--- ChangeLog   (revision 228867)
+++ ChangeLog   (working copy)
@@ -1,3 +1,9 @@
+2015-10-11  Jan Hubicka  <hubi...@ucw.cz>
+
+       Revert:
+       * ipa-icf-gimple.c (func_checker::compare_operand): Compare only
+       empty constructors.
+
 2015-10-16  Richard Biener  <rguent...@suse.de>
 
        * gimple-fold.c (gimple_fold_builtin_memory_op): Use gimple_build

Reply via email to