[Bug debug/95576] [11 Regression] -fcompare-debug failure with -O3 -fno-tree-forwprop -fvect-cost-model=unlimited

2020-06-10 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95576

Richard Biener  changed:

   What|Removed |Added

 Resolution|--- |FIXED
 Status|ASSIGNED|RESOLVED

--- Comment #6 from Richard Biener  ---
Fixed.

[Bug debug/95576] [11 Regression] -fcompare-debug failure with -O3 -fno-tree-forwprop -fvect-cost-model=unlimited

2020-06-10 Thread cvs-commit at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95576

--- Comment #5 from CVS Commits  ---
The master branch has been updated by Richard Biener :

https://gcc.gnu.org/g:36e95a9e539a08275a0a6ef542a7fae5baa5710f

commit r11-1180-g36e95a9e539a08275a0a6ef542a7fae5baa5710f
Author: Richard Biener 
Date:   Wed Jun 10 15:16:23 2020 +0200

tree-optimization/95576 - fix compare-debug issue with SLP vectorization

The following avoids leading debug stmts in BB vectorizer regions.

2020-06-10  Richard Biener  

PR tree-optimization/95576
* tree-vect-slp.c (vect_slp_bb): Skip leading debug stmts.

* g++.dg/vect/pr95576.cc: New testcase.

[Bug debug/95576] [11 Regression] -fcompare-debug failure with -O3 -fno-tree-forwprop -fvect-cost-model=unlimited

2020-06-10 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95576

--- Comment #4 from Richard Biener  ---
It's also odd vectorization.

t.c:14:3: note:   Detected interleaving store this_3(D)->D.2378._vptr.S and
_1->_vptr.S
t.c:14:3: note:   Queuing group with duplicate access for fixup
t.c:14:3: missed:   not consecutive access _6 = _1->s;
t.c:14:3: note:   Detected interleaving store of size 1
t.c:14:3: note: this_3(D)->D.2378._vptr.S =   [(void
*)&_ZTV1T + 16B];
t.c:14:3: note:   Detected interleaving store of size 1
t.c:14:3: note: _1->_vptr.S =   [(void *)&_ZTV1S +
16B];

so we split the group into two of size one and vectorizing with V1DImode.  But
that's something else to fix I guess.

[Bug debug/95576] [11 Regression] -fcompare-debug failure with -O3 -fno-tree-forwprop -fvect-cost-model=unlimited

2020-06-09 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95576

Richard Biener  changed:

   What|Removed |Added

 Ever confirmed|0   |1
 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2020-06-09
   Target Milestone|--- |11.0

--- Comment #3 from Richard Biener  ---
Mine.

[Bug debug/95576] [11 Regression] -fcompare-debug failure with -O3 -fno-tree-forwprop -fvect-cost-model=unlimited

2020-06-08 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95576

--- Comment #2 from Jakub Jelinek  ---
The important difference in *.slp2 dumps is:
@@ -188,14 +201,17 @@ T::~T (struct T * const this)
   _15 = VIEW_CONVERT_EXPR(  [(void
*)&_ZTV1T + 16B]);
   _14 = {_15};
   vect_cst__13 = _14;
-  vectp.24_16 = _2(D)->D.2378._vptr.S;
-  MEM[(int (*) () * *)vectp.24_16] = vect_cst__13;
   _18 = VIEW_CONVERT_EXPR(  [(void
*)&_ZTV1S + 16B]);
   _19 = {_18};
   vect_cst__20 = _19;
+  # DEBUG this => this_2(D)
+  vectp.24_16 = _2(D)->D.2378._vptr.S;
+  MEM[(int (*) () * *)vectp.24_16] = vect_cst__13;
   _4 = _2(D)->D.2378;
+  # DEBUG this => _4
   vectp.26_21 = &_4->_vptr.S;
   MEM[(int (*) () * *)vectp.26_21] = vect_cst__20;
+  # DEBUG BEGIN_STMT
   _5 = _4->s;
   if (_5 != 0B)
 goto ; [70.00%]
(the previous pass is ok and all other hunks are just about addition of # DEBUG
stmts).

[Bug debug/95576] [11 Regression] -fcompare-debug failure with -O3 -fno-tree-forwprop -fvect-cost-model=unlimited

2020-06-08 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95576

Jakub Jelinek  changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #1 from Jakub Jelinek  ---
Started with r11-454-gcfaf0edbb123958e84d296354152294f167db9f3