public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug tree-optimization/66396] New: [6 regression] FAIL: gcc.dg/graphite/run-id-pr47593.c execution test
@ 2015-06-03 11:27 schwab@linux-m68k.org
  2015-06-03 11:29 ` [Bug tree-optimization/66396] " schwab@linux-m68k.org
                   ` (9 more replies)
  0 siblings, 10 replies; 11+ messages in thread
From: schwab@linux-m68k.org @ 2015-06-03 11:27 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66396

            Bug ID: 66396
           Summary: [6 regression] FAIL: gcc.dg/graphite/run-id-pr47593.c
                    execution test
           Product: gcc
           Version: 6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: schwab@linux-m68k.org
                CC: amker at gcc dot gnu.org
            Blocks: 48052
  Target Milestone: ---
            Target: m68k-*-*

$ gcc/xgcc -Bgcc/ ../gcc/testsuite/gcc.dg/graphite/run-id-pr47593.c   -O2
-fgraphite-identity  -lm    -o ./run-id-pr47593.exe -g
$ ./run-id-pr47593.exe
Segmentation fault

Program received signal SIGSEGV, Segmentation fault.
0x800004e6 in bar () at ../gcc/testsuite/gcc.dg/graphite/run-id-pr47593.c:21
21        return ***(int ***)p;
(gdb) p p
$1 = 0xeffff594 "\200\r\266\b"
(gdb) p {int**}p
$2 = (int **) 0x800db608
(gdb) p *$
Cannot access memory at address 0x800db608
(gdb) i local
f = {p = 0x800db608, q = 0x0}
j = 4
p = 0xeffff5c4 "\200\r\266\b"
x = <synthetic pointer>
y = 0xeffff5c0
(gdb) disass
Dump of assembler code for function bar:
   0x800004d8 <+0>:     linkw %fp,#-12
   0x800004dc <+4>:     moveq #4,%d0
   0x800004de <+6>:     movel %d0,%fp@(-12)
   0x800004e2 <+10>:    moveal %fp@(-4),%a0
=> 0x800004e6 <+14>:    moveal %a0@,%a0
   0x800004e8 <+16>:    movel %a0@,%d0
   0x800004ea <+18>:    unlk %fp
   0x800004ec <+20>:    rts
End of assembler dump.

Before r224020:
(gdb) disass bar
Dump of assembler code for function bar:
   0x800004d8 <+0>:     linkw %fp,#-24
   0x800004dc <+4>:     moveq #1,%d0
   0x800004de <+6>:     unlk %fp
   0x800004e0 <+8>:     rts
End of assembler dump.


05032b10839cf0498c992c819bf2358e86c22bb0 is the first bad commit
commit 05032b10839cf0498c992c819bf2358e86c22bb0
Author: amker <amker@138bc75d-0d04-0410-961f-82ee72b054a4>
Date:   Tue Jun 2 10:19:18 2015 +0000

        PR tree-optimization/48052
...
    git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@224020
138bc75d-0d04-0410-961f-82ee72b054a4


Referenced Bugs:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=48052
[Bug 48052] loop not vectorized if index is "unsigned int"


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug tree-optimization/66396] [6 regression] FAIL: gcc.dg/graphite/run-id-pr47593.c execution test
  2015-06-03 11:27 [Bug tree-optimization/66396] New: [6 regression] FAIL: gcc.dg/graphite/run-id-pr47593.c execution test schwab@linux-m68k.org
@ 2015-06-03 11:29 ` schwab@linux-m68k.org
  2015-06-03 12:11 ` rguenth at gcc dot gnu.org
                   ` (8 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: schwab@linux-m68k.org @ 2015-06-03 11:29 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66396

Andreas Schwab <schwab@linux-m68k.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |wrong-code
   Target Milestone|---                         |6.0


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug tree-optimization/66396] [6 regression] FAIL: gcc.dg/graphite/run-id-pr47593.c execution test
  2015-06-03 11:27 [Bug tree-optimization/66396] New: [6 regression] FAIL: gcc.dg/graphite/run-id-pr47593.c execution test schwab@linux-m68k.org
  2015-06-03 11:29 ` [Bug tree-optimization/66396] " schwab@linux-m68k.org
@ 2015-06-03 12:11 ` rguenth at gcc dot gnu.org
  2015-06-03 13:04 ` rguenth at gcc dot gnu.org
                   ` (7 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-06-03 12:11 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66396

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2015-06-03
     Ever confirmed|0                           |1

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
Confirmed.


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug tree-optimization/66396] [6 regression] FAIL: gcc.dg/graphite/run-id-pr47593.c execution test
  2015-06-03 11:27 [Bug tree-optimization/66396] New: [6 regression] FAIL: gcc.dg/graphite/run-id-pr47593.c execution test schwab@linux-m68k.org
  2015-06-03 11:29 ` [Bug tree-optimization/66396] " schwab@linux-m68k.org
  2015-06-03 12:11 ` rguenth at gcc dot gnu.org
@ 2015-06-03 13:04 ` rguenth at gcc dot gnu.org
  2015-06-04  4:13 ` amker at gcc dot gnu.org
                   ` (6 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-06-03 13:04 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66396

--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
on x86_64 with -m32 btw


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug tree-optimization/66396] [6 regression] FAIL: gcc.dg/graphite/run-id-pr47593.c execution test
  2015-06-03 11:27 [Bug tree-optimization/66396] New: [6 regression] FAIL: gcc.dg/graphite/run-id-pr47593.c execution test schwab@linux-m68k.org
                   ` (3 preceding siblings ...)
  2015-06-04  4:13 ` amker at gcc dot gnu.org
@ 2015-06-04  4:13 ` amker at gcc dot gnu.org
  2015-06-04 11:15 ` rguenth at gcc dot gnu.org
                   ` (4 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: amker at gcc dot gnu.org @ 2015-06-04  4:13 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66396

--- Comment #3 from amker at gcc dot gnu.org ---
Interesting case.
I know nothing about graphite, but I guess the case is fixed in patch for
PR47653 by skipping graphite transofromation on loops in specific forms.  The
skip mechanism is kind of nullified by the overflow change.  But as far as I
can see, we shouldn't skip graphite transformation on the case in the first
place because it looks good to me.

See dumps before graphite pass:

bar ()
{
  _Bool j_lsm.8;
  int j_lsm.7;
  int * y;
  int * x;
  char * p;
  int i;
  int j;
  struct Foo f;
  unsigned int j.2_11;
  int j.1_13;
  int * * _15;
  int * _16;
  int _17;
  int j.0_31;

  <bb 2>:
  i = 1;
  x = &i;
  y = &j;
  f.p = &y;
  f.q = &x;

  <bb 3>:
  # p_27 = PHI <&f(2), p_12(4)>
  # j.0_31 = PHI <0(2), j.1_13(4)>
  p_12 = p_27 + 1;
  j.1_13 = j.0_31 + 1;
  j.2_11 = (unsigned int) j.1_13;
  if (j.2_11 <= 3)
    goto <bb 4>;
  else
    goto <bb 5>;

  <bb 4>:
  goto <bb 3>;

  <bb 5>:
  p_25 = &f + 4;
  j = 4;
  _15 = MEM[(int * * *)p_25];
  _16 = *_15;
  _17 = *_16;
  f ={v} {CLOBBER};
  j ={v} {CLOBBER};
  i ={v} {CLOBBER};
  x ={v} {CLOBBER};
  y ={v} {CLOBBER};
  return _17;

}
graphite transforms it infor below shape:
bar ()
{
  _Bool j_lsm.8;
  int j_lsm.7;
  int * y;
  int * x;
  char * p;
  int i;
  int j;
  struct Foo f;
  int * * _15;
  int * _16;
  int _17;

  <bb 2>:
  i = 1;
  x = &i;
  y = &j;
  f.p = &y;
  f.q = &x;
  p_25 = &f + 4;
  j = 4;
  _15 = MEM[(int * * *)p_25];
  _16 = *_15;
  _17 = *_16;
  f ={v} {CLOBBER};
  j ={v} {CLOBBER};
  i ={v} {CLOBBER};
  x ={v} {CLOBBER};
  y ={v} {CLOBBER};
  return _17;

}

It is dce4 pass that deletes the bounch of initialization code at beginning of
bb 2.  dce4.dump is as below:
bar ()
{
  _Bool j_lsm.8;
  int j_lsm.7;
  int * y;
  int * x;
  char * p;
  int i;
  int j;
  struct Foo f;
  int * * _15;
  int * _16;
  int _17;

  <bb 2>:
  p_25 = &f + 4;
  j = 4;
  _15 = MEM[(int * * *)p_25];
  _16 = *_15;
  _17 = *_16;
  f ={v} {CLOBBER};
  j ={v} {CLOBBER};
  i ={v} {CLOBBER};
  x ={v} {CLOBBER};
  y ={v} {CLOBBER};
  return _17;

}

I thought this was a strict-aliasing issue, but specifying
"-fno-strict-aliasing" doesn't give any difference.


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug tree-optimization/66396] [6 regression] FAIL: gcc.dg/graphite/run-id-pr47593.c execution test
  2015-06-03 11:27 [Bug tree-optimization/66396] New: [6 regression] FAIL: gcc.dg/graphite/run-id-pr47593.c execution test schwab@linux-m68k.org
                   ` (2 preceding siblings ...)
  2015-06-03 13:04 ` rguenth at gcc dot gnu.org
@ 2015-06-04  4:13 ` amker at gcc dot gnu.org
  2015-06-04  4:13 ` amker at gcc dot gnu.org
                   ` (5 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: amker at gcc dot gnu.org @ 2015-06-04  4:13 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66396

--- Comment #4 from amker at gcc dot gnu.org ---
BTW, it happens on ilp32 platforms I think.


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug tree-optimization/66396] [6 regression] FAIL: gcc.dg/graphite/run-id-pr47593.c execution test
  2015-06-03 11:27 [Bug tree-optimization/66396] New: [6 regression] FAIL: gcc.dg/graphite/run-id-pr47593.c execution test schwab@linux-m68k.org
                   ` (4 preceding siblings ...)
  2015-06-04  4:13 ` amker at gcc dot gnu.org
@ 2015-06-04 11:15 ` rguenth at gcc dot gnu.org
  2015-06-08 11:51 ` rguenth at gcc dot gnu.org
                   ` (3 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-06-04 11:15 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66396

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
           Assignee|unassigned at gcc dot gnu.org      |rguenth at gcc dot gnu.org

--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> ---
I will have a look.


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug tree-optimization/66396] [6 regression] FAIL: gcc.dg/graphite/run-id-pr47593.c execution test
  2015-06-03 11:27 [Bug tree-optimization/66396] New: [6 regression] FAIL: gcc.dg/graphite/run-id-pr47593.c execution test schwab@linux-m68k.org
                   ` (5 preceding siblings ...)
  2015-06-04 11:15 ` rguenth at gcc dot gnu.org
@ 2015-06-08 11:51 ` rguenth at gcc dot gnu.org
  2015-06-08 12:18 ` rguenth at gcc dot gnu.org
                   ` (2 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-06-08 11:51 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66396

--- Comment #6 from Richard Biener <rguenth at gcc dot gnu.org> ---
The issue is corrupted VOPs.

  <bb 2>:
  # .MEM_4 = VDEF <.MEM_3(D)>
  iD.1808@ = 1;
  # .MEM_5 = VDEF <.MEM_4>
  xD.1810@ = &iD.1808@;
  # .MEM_6 = VDEF <.MEM_5>
  yD.1811@ = &jD.1807@;
  # .MEM_7 = VDEF <.MEM_6>
  fD.1806@.pD.1801 = &yD.1811@;
  # .MEM_8 = VDEF <.MEM_7>
  fD.1806@.qD.1802 = &xD.1810@;
  # PT = { D.1806 }
  p_25 = &fD.1806@ + 4;
  # .MEM_28 = VDEF <.MEM_3(D)>
  jD.1807@ = 4;

see how that uses the wrong VUSE.


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug tree-optimization/66396] [6 regression] FAIL: gcc.dg/graphite/run-id-pr47593.c execution test
  2015-06-03 11:27 [Bug tree-optimization/66396] New: [6 regression] FAIL: gcc.dg/graphite/run-id-pr47593.c execution test schwab@linux-m68k.org
                   ` (6 preceding siblings ...)
  2015-06-08 11:51 ` rguenth at gcc dot gnu.org
@ 2015-06-08 12:18 ` rguenth at gcc dot gnu.org
  2015-06-09  7:52 ` rguenth at gcc dot gnu.org
  2015-06-09  8:22 ` rguenth at gcc dot gnu.org
  9 siblings, 0 replies; 11+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-06-08 12:18 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66396

--- Comment #7 from Richard Biener <rguenth at gcc dot gnu.org> ---
The code in SESE doesn't deal with virtual operands correctly.  In other places
GRAPHITE tries to paper over this with marking all vops for renaming.  But
that isn't done when no code is generated, thus this breaks.


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug tree-optimization/66396] [6 regression] FAIL: gcc.dg/graphite/run-id-pr47593.c execution test
  2015-06-03 11:27 [Bug tree-optimization/66396] New: [6 regression] FAIL: gcc.dg/graphite/run-id-pr47593.c execution test schwab@linux-m68k.org
                   ` (7 preceding siblings ...)
  2015-06-08 12:18 ` rguenth at gcc dot gnu.org
@ 2015-06-09  7:52 ` rguenth at gcc dot gnu.org
  2015-06-09  8:22 ` rguenth at gcc dot gnu.org
  9 siblings, 0 replies; 11+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-06-09  7:52 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66396

--- Comment #8 from Richard Biener <rguenth at gcc dot gnu.org> ---
Author: rguenth
Date: Tue Jun  9 07:51:24 2015
New Revision: 224266

URL: https://gcc.gnu.org/viewcvs?rev=224266&root=gcc&view=rev
Log:
2015-06-09  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/66396
        * graphite-isl-ast-to-gimple.c (graphite_regenerate_ast_isl):
        Rename virtual operands.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/graphite-isl-ast-to-gimple.c


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug tree-optimization/66396] [6 regression] FAIL: gcc.dg/graphite/run-id-pr47593.c execution test
  2015-06-03 11:27 [Bug tree-optimization/66396] New: [6 regression] FAIL: gcc.dg/graphite/run-id-pr47593.c execution test schwab@linux-m68k.org
                   ` (8 preceding siblings ...)
  2015-06-09  7:52 ` rguenth at gcc dot gnu.org
@ 2015-06-09  8:22 ` rguenth at gcc dot gnu.org
  9 siblings, 0 replies; 11+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-06-09  8:22 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66396

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|---                         |FIXED

--- Comment #9 from Richard Biener <rguenth at gcc dot gnu.org> ---
Fixed.


^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2015-06-09  8:22 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-06-03 11:27 [Bug tree-optimization/66396] New: [6 regression] FAIL: gcc.dg/graphite/run-id-pr47593.c execution test schwab@linux-m68k.org
2015-06-03 11:29 ` [Bug tree-optimization/66396] " schwab@linux-m68k.org
2015-06-03 12:11 ` rguenth at gcc dot gnu.org
2015-06-03 13:04 ` rguenth at gcc dot gnu.org
2015-06-04  4:13 ` amker at gcc dot gnu.org
2015-06-04  4:13 ` amker at gcc dot gnu.org
2015-06-04 11:15 ` rguenth at gcc dot gnu.org
2015-06-08 11:51 ` rguenth at gcc dot gnu.org
2015-06-08 12:18 ` rguenth at gcc dot gnu.org
2015-06-09  7:52 ` rguenth at gcc dot gnu.org
2015-06-09  8:22 ` rguenth at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).