public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug tree-optimization/56778] New: ICE on several benchmarks after r196775.
@ 2013-03-29 12:54 ysrumyan at gmail dot com
  2013-04-02  9:04 ` [Bug tree-optimization/56778] " rguenth at gcc dot gnu.org
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: ysrumyan at gmail dot com @ 2013-03-29 12:54 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56778

             Bug #: 56778
           Summary: ICE on several benchmarks after r196775.
    Classification: Unclassified
           Product: gcc
           Version: 4.9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: ysrumyan@gmail.com


We got ICE on several benchmarks that can be reproduced on the simple
test-case:
typedef struct {
  float a,b,c;
} S;

S * arr[100];

void bar (float *in[], int n)
{
  int i;
  for (i=0; i<n; i++)
    (*in)[i] = -arr[i]->b;
}

and compile on x86 with following options:

-march=core-avx2 -O3


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

* [Bug tree-optimization/56778] ICE on several benchmarks after r196775.
  2013-03-29 12:54 [Bug tree-optimization/56778] New: ICE on several benchmarks after r196775 ysrumyan at gmail dot com
@ 2013-04-02  9:04 ` rguenth at gcc dot gnu.org
  2013-04-02  9:04 ` [Bug tree-optimization/56778] [4.9 Regression] " rguenth at gcc dot gnu.org
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: rguenth at gcc dot gnu.org @ 2013-04-02  9:04 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56778

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |ASSIGNED
   Last reconfirmed|                            |2013-04-02
         AssignedTo|unassigned at gcc dot       |rguenth at gcc dot gnu.org
                   |gnu.org                     |
     Ever Confirmed|0                           |1

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> 2013-04-02 09:04:15 UTC ---
Confirmed.  I will have a look (there is a not properly removed stmt with
still has active immediate uses).


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

* [Bug tree-optimization/56778] [4.9 Regression] ICE on several benchmarks after r196775.
  2013-03-29 12:54 [Bug tree-optimization/56778] New: ICE on several benchmarks after r196775 ysrumyan at gmail dot com
  2013-04-02  9:04 ` [Bug tree-optimization/56778] " rguenth at gcc dot gnu.org
@ 2013-04-02  9:04 ` rguenth at gcc dot gnu.org
  2013-04-02 11:19 ` rguenth at gcc dot gnu.org
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: rguenth at gcc dot gnu.org @ 2013-04-02  9:04 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56778

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |4.9.0
            Summary|ICE on several benchmarks   |[4.9 Regression] ICE on
                   |after r196775.              |several benchmarks after
                   |                            |r196775.


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

* [Bug tree-optimization/56778] [4.9 Regression] ICE on several benchmarks after r196775.
  2013-03-29 12:54 [Bug tree-optimization/56778] New: ICE on several benchmarks after r196775 ysrumyan at gmail dot com
  2013-04-02  9:04 ` [Bug tree-optimization/56778] " rguenth at gcc dot gnu.org
  2013-04-02  9:04 ` [Bug tree-optimization/56778] [4.9 Regression] " rguenth at gcc dot gnu.org
@ 2013-04-02 11:19 ` rguenth at gcc dot gnu.org
  2013-04-02 11:27 ` rguenth at gcc dot gnu.org
  2013-04-02 13:31 ` rguenth at gcc dot gnu.org
  4 siblings, 0 replies; 6+ messages in thread
From: rguenth at gcc dot gnu.org @ 2013-04-02 11:19 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56778

--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> 2013-04-02 11:19:35 UTC ---
The issue is that gimple_seq_add_seq updates stmts added.  But we update SSA
form _before_ adding the sequence into the IL stream:

  /* End loop-exit-fixes after versioning.  */

  update_ssa (TODO_update_ssa);
  if (cond_expr_stmt_list)
    {
      cond_exp_gsi = gsi_last_bb (condition_bb);
      gsi_insert_seq_before (&cond_exp_gsi, cond_expr_stmt_list,
                             GSI_SAME_STMT);
    }

gimplify.c has a function that does gimple_seq_add_seq_without_update.

There are two ways to fix this, one is to insert the sequence before
updating SSA form, another is to consistently use
gimple_seq_add_seq_without_update.
Or to make gimple_seq_add_seq not update stmts (sequences are inserted
later anyway, which can do the update).  Not sure why it would make sense
at all to update stmt operands for sth not in the IL ...

Well.  I'm going for the first.

Which doesn't fix it because we create an alias-check for a load of a
load appearantly where the latter is not loop invariant.  I presume
this is GATHER support, and eventually the DDR mangling in data-ref
analysis I removed did avoid this to happen.


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

* [Bug tree-optimization/56778] [4.9 Regression] ICE on several benchmarks after r196775.
  2013-03-29 12:54 [Bug tree-optimization/56778] New: ICE on several benchmarks after r196775 ysrumyan at gmail dot com
                   ` (2 preceding siblings ...)
  2013-04-02 11:19 ` rguenth at gcc dot gnu.org
@ 2013-04-02 11:27 ` rguenth at gcc dot gnu.org
  2013-04-02 13:31 ` rguenth at gcc dot gnu.org
  4 siblings, 0 replies; 6+ messages in thread
From: rguenth at gcc dot gnu.org @ 2013-04-02 11:27 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56778

--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> 2013-04-02 11:27:09 UTC ---
I have a fix.


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

* [Bug tree-optimization/56778] [4.9 Regression] ICE on several benchmarks after r196775.
  2013-03-29 12:54 [Bug tree-optimization/56778] New: ICE on several benchmarks after r196775 ysrumyan at gmail dot com
                   ` (3 preceding siblings ...)
  2013-04-02 11:27 ` rguenth at gcc dot gnu.org
@ 2013-04-02 13:31 ` rguenth at gcc dot gnu.org
  4 siblings, 0 replies; 6+ messages in thread
From: rguenth at gcc dot gnu.org @ 2013-04-02 13:31 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56778

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

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

--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> 2013-04-02 13:31:40 UTC ---
Author: rguenth
Date: Tue Apr  2 13:31:05 2013
New Revision: 197355

URL: http://gcc.gnu.org/viewcvs?rev=197355&root=gcc&view=rev
Log:
2013-04-02  Richard Biener  <rguenther@suse.de>

    PR tree-optimization/56778
    * tree-vect-data-refs.c (vect_analyze_data_ref_dependence):
    Runtime alias tests are not supported for gather loads.
    * tree-vect-loop-manip.c (vect_loop_versioning): Insert
    stmts referenced from SSA operands before updating SSA form.

    * gcc.dg/torture/pr56778.c: New testcase.

Added:
    trunk/gcc/testsuite/gcc.dg/torture/pr56778.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/tree-vect-data-refs.c
    trunk/gcc/tree-vect-loop-manip.c


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

end of thread, other threads:[~2013-04-02 13:31 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-03-29 12:54 [Bug tree-optimization/56778] New: ICE on several benchmarks after r196775 ysrumyan at gmail dot com
2013-04-02  9:04 ` [Bug tree-optimization/56778] " rguenth at gcc dot gnu.org
2013-04-02  9:04 ` [Bug tree-optimization/56778] [4.9 Regression] " rguenth at gcc dot gnu.org
2013-04-02 11:19 ` rguenth at gcc dot gnu.org
2013-04-02 11:27 ` rguenth at gcc dot gnu.org
2013-04-02 13:31 ` 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).