public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug middle-end/42196]  New: ICE when SRAing partial assigments to complex number
@ 2009-11-27 13:29 jamborm at gcc dot gnu dot org
  2009-11-27 22:22 ` [Bug middle-end/42196] " jamborm at gcc dot gnu dot org
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: jamborm at gcc dot gnu dot org @ 2009-11-27 13:29 UTC (permalink / raw)
  To: gcc-bugs

Not very surprisingly, I get ICEs at tree-sra.c:2148 when compiling
these two examples with the current trunk at -O[123] on x86-64-linux:

======================================================================
union U
{
  double d;
  __complex__ int c;
};

double gd;
extern double bar (union U);

double foo (int b, double d, int c1, int c2)
{
  union U u;
  double r;

  if (b)
    {
      u.d = d;
      r = u.d;
    }
  else
    {
      __real__ u.c = c1;
      __imag__ u.c = c2;
      r = bar (u);
    }

  return r;
}
======================================================================
union U
{
  __complex__ int ci;
  __complex__ float cf;
};

float gd;
extern float bar (union U);

float foo (int b, double f1, double f2, int c1, int c2)
{
  union U u;
  double r;

  if (b)
    {
      __real__ u.cf = f1;
      __imag__ u.cf = f2;
    }
  else
    {
      __real__ u.ci = c1;
      __imag__ u.ci = c2;
    }

  r = bar (u);
  return r;
}
======================================================================

Hopefully I know what needs to be done.

Martin


-- 
           Summary: ICE when SRAing partial assigments to complex number
           Product: gcc
           Version: 4.5.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: middle-end
        AssignedTo: jamborm at gcc dot gnu dot org
        ReportedBy: jamborm at gcc dot gnu dot org
 GCC build triplet: x86_64-unknown-linux-gnu
  GCC host triplet: x86_64-unknown-linux-gnu
GCC target triplet: x86_64-unknown-linux-gnu


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


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

* [Bug middle-end/42196] ICE when SRAing partial assigments to complex number
  2009-11-27 13:29 [Bug middle-end/42196] New: ICE when SRAing partial assigments to complex number jamborm at gcc dot gnu dot org
@ 2009-11-27 22:22 ` jamborm at gcc dot gnu dot org
  2009-11-28 12:37 ` steven at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: jamborm at gcc dot gnu dot org @ 2009-11-27 22:22 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from jamborm at gcc dot gnu dot org  2009-11-27 22:22 -------
Just for the record, this also fails, for similar reasons like the
second testcase above:

union U
{
  __complex__ int ci;
  __complex__ float cf;
};

float gd;
extern float bar (float, float);

float foo (int b, union U u)
{
  float f1, f2, r;

  if (b)
    {
      f1 = __real__ u.cf;
      f1 = __imag__ u.cf;
    }
  else
    {
      f1 = __real__ u.ci;
      f1 = __imag__ u.ci;
    }

  r = bar (f1, f2);
  return r;
}


-- 


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


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

* [Bug middle-end/42196] ICE when SRAing partial assigments to complex number
  2009-11-27 13:29 [Bug middle-end/42196] New: ICE when SRAing partial assigments to complex number jamborm at gcc dot gnu dot org
  2009-11-27 22:22 ` [Bug middle-end/42196] " jamborm at gcc dot gnu dot org
@ 2009-11-28 12:37 ` steven at gcc dot gnu dot org
  2009-11-30 18:00 ` jamborm at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: steven at gcc dot gnu dot org @ 2009-11-28 12:37 UTC (permalink / raw)
  To: gcc-bugs



-- 

steven at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
   Last reconfirmed|0000-00-00 00:00:00         |2009-11-28 12:37:26
               date|                            |


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


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

* [Bug middle-end/42196] ICE when SRAing partial assigments to complex number
  2009-11-27 13:29 [Bug middle-end/42196] New: ICE when SRAing partial assigments to complex number jamborm at gcc dot gnu dot org
  2009-11-27 22:22 ` [Bug middle-end/42196] " jamborm at gcc dot gnu dot org
  2009-11-28 12:37 ` steven at gcc dot gnu dot org
@ 2009-11-30 18:00 ` jamborm at gcc dot gnu dot org
  2009-11-30 18:17 ` jamborm at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: jamborm at gcc dot gnu dot org @ 2009-11-30 18:00 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from jamborm at gcc dot gnu dot org  2009-11-30 18:00 -------
Subject: Bug 42196

Author: jamborm
Date: Mon Nov 30 17:59:57 2009
New Revision: 154834

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=154834
Log:
2009-11-30  Martin Jambor  <mjambor@suse.cz>

        PR middle-end/42196
        * tree-sra.c (struct access): New field grp_different_types.
        (dump_access): Dump grp_different_types.
        (compare_access_positions): Prefer scalars and vectors over other
        scalar types.
        (sort_and_splice_var_accesses): Set grp_different_types if appropriate.
        (sra_modify_expr): Use the original also when dealing with a complex
         or vector group accessed as multiple types.

        * testsuite/gcc.c-torture/compile/pr42196-1.c: New test.
        * testsuite/gcc.c-torture/compile/pr42196-2.c: New test.
        * testsuite/gcc.c-torture/compile/pr42196-3.c: New test.


Added:
    trunk/gcc/testsuite/gcc.c-torture/compile/pr42196-1.c
    trunk/gcc/testsuite/gcc.c-torture/compile/pr42196-2.c
    trunk/gcc/testsuite/gcc.c-torture/compile/pr42196-3.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/tree-sra.c


-- 


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


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

* [Bug middle-end/42196] ICE when SRAing partial assigments to complex number
  2009-11-27 13:29 [Bug middle-end/42196] New: ICE when SRAing partial assigments to complex number jamborm at gcc dot gnu dot org
                   ` (2 preceding siblings ...)
  2009-11-30 18:00 ` jamborm at gcc dot gnu dot org
@ 2009-11-30 18:17 ` jamborm at gcc dot gnu dot org
  2009-12-01 19:42 ` [Bug middle-end/42196] [4.5 Regression] " pinskia at gcc dot gnu dot org
  2009-12-11 23:41 ` hjl at gcc dot gnu dot org
  5 siblings, 0 replies; 7+ messages in thread
From: jamborm at gcc dot gnu dot org @ 2009-11-30 18:17 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from jamborm at gcc dot gnu dot org  2009-11-30 18:16 -------
Fixed.


-- 

jamborm at gcc dot gnu dot org changed:

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


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


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

* [Bug middle-end/42196] [4.5 Regression] ICE when SRAing partial assigments to complex number
  2009-11-27 13:29 [Bug middle-end/42196] New: ICE when SRAing partial assigments to complex number jamborm at gcc dot gnu dot org
                   ` (3 preceding siblings ...)
  2009-11-30 18:17 ` jamborm at gcc dot gnu dot org
@ 2009-12-01 19:42 ` pinskia at gcc dot gnu dot org
  2009-12-11 23:41 ` hjl at gcc dot gnu dot org
  5 siblings, 0 replies; 7+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2009-12-01 19:42 UTC (permalink / raw)
  To: gcc-bugs



-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |ice-on-valid-code
            Summary|ICE when SRAing partial     |[4.5 Regression] ICE when
                   |assigments to complex number|SRAing partial assigments to
                   |                            |complex number
   Target Milestone|---                         |4.5.0


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


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

* [Bug middle-end/42196] [4.5 Regression] ICE when SRAing partial assigments to complex number
  2009-11-27 13:29 [Bug middle-end/42196] New: ICE when SRAing partial assigments to complex number jamborm at gcc dot gnu dot org
                   ` (4 preceding siblings ...)
  2009-12-01 19:42 ` [Bug middle-end/42196] [4.5 Regression] " pinskia at gcc dot gnu dot org
@ 2009-12-11 23:41 ` hjl at gcc dot gnu dot org
  5 siblings, 0 replies; 7+ messages in thread
From: hjl at gcc dot gnu dot org @ 2009-12-11 23:41 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from hjl at gcc dot gnu dot org  2009-12-11 23:38 -------
Subject: Bug 42196

Author: hjl
Date: Fri Dec 11 23:36:24 2009
New Revision: 155184

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=155184
Log:
Backport testcases from trunk.

2009-12-11  H.J. Lu  <hongjiu.lu@intel.com>

        Backport from mainline:
        2009-12-11  Dodji Seketeli  <dodji@redhat.com>

        PR c++/42225
        * g++.dg/template/typedef24.C: New test.
        * g++.dg/template/typedef25.C: New test.

        2009-12-11  Dodji Seketeli  <dodji@redhat.com>

        PR c++/42251
        * g++.dg/template/const3.C: New test.

        2009-12-10  Jakub Jelinek  <jakub@redhat.com>

        PR c++/42317
        * g++.dg/opt/dtor2.C: New test.
        * g++.dg/opt/dtor2.h: New file.
        * g++.dg/opt/dtor2-aux.cc: New file.

        2009-12-10  Jan Hubicka  <jh@suse.cz>

        PR middle-end/42110
        * g++.dg/torture/pr42110.C: new file.

        2009-12-07  Jakub Jelinek  <jakub@redhat.com>

        PR debug/42244
        * gcc.dg/debug/pr42244.c: New test.

        2009-12-04  David Daney  <ddaney@caviumnetworks.com>

        PR rtl-optimization/42164
        * gcc.c-torture/compile/pr42164.c: New test.

        2009-12-03  Jason Merrill  <jason@redhat.com>

        PR c++/41611
        * g++.dg/abi/guard2.C: New.

        2009-12-03  Dodji Seketeli  <dodji@redhat.com>

        PR c++/42217
        * g++.dg/other/bitfield4.C: New test.

        2009-12-03  Jakub Jelinek  <jakub@redhat.com>

        PR c++/42256
        * g++.dg/inherit/thunk11.C: New test.
        * g++.dg/inherit/thunk11.h: New file.
        * g++.dg/inherit/thunk11-aux.cc: New file.

        2009-12-01  Martin Jambor  <mjambor@suse.cz>

        PR tree-optimization/42237
        * gcc.c-torture/compile/pr42237.c: New test.

        2009-12-01  Paolo Carlini  <paolo.carlini@oracle.com>

        PR c++/42057
        * g++.dg/parse/crash54.C: New.

        2009-11-30  Martin Jambor  <mjambor@suse.cz>

        PR middle-end/42196
        * gcc.c-torture/compile/pr42196-1.c: New test.
        * gcc.c-torture/compile/pr42196-2.c: New test.
        * gcc.c-torture/compile/pr42196-3.c: New test.

        2009-11-30  Dodji Seketeli  <dodji@redhat.com>

        PR c++/42069
        * g++.dg/template/typedef23.C: New test.

        2009-11-29  H.J. Lu  <hongjiu.lu@intel.com>

        PR tree-optimization/41961
        * g++.dg/tree-ssa/pr41961.C: New.

        2009-11-29  Ira Rosen  <irar@il.ibm.com>

        PR tree-optimization/42193
        * gcc.dg/vect/pr42193.c: New test.

        2009-11-28  Richard Guenther  <rguenther@suse.de>

        PR tree-optimization/42183
        * g++.dg/torture/pr42183.C: New testcase.

        2009-11-27  Martin Jambor  <mjambor@suse.cz>

        PR middle-end/42006
        * gcc.c-torture/execute/pr42006.c: New test.

        2009-11-27  Michael Matz  <matz@suse.de>

        PR rtl-optimization/42084
        * gcc.dg/pr42084.c: New test.

        2009-11-27  Michael Matz  <matz@suse.de>

        PR c++/41906
        * g++.dg/tree-ssa/pr41906.C: New testcase.

        2009-11-26  Michael Matz  <matz@suse.de>

        PR tree-optimization/41905
        * g++.dg/tree-ssa/pr41905.C: New testcase.

        2009-11-24  Richard Guenther  <rguenther@suse.de>

        PR tree-optimization/42142
        * gcc.c-torture/execute/pr42142.c: New testcase.

        2009-11-24  Martin Jambor  <mjambor@suse.cz>

        PR tree-optimization/42154
        * gcc.c-torture/execute/pr42154.c: New test.

        2009-11-21  Martin Jambor  <mjambor@suse.cz>

        PR middle-end/42025
        * gcc.c-torture/compile/pr42025-1.c: New test.
        * gcc.c-torture/compile/pr42025-2.c: New test.

        2009-11-21  Jakub Jelinek  <jakub@redhat.com>

        PR tree-optimization/42078
        * gcc.dg/pr42078.c: New test.

Added:
    branches/gcc-4_4-branch/gcc/testsuite/g++.dg/abi/guard2.C
      - copied unchanged from r155170, trunk/gcc/testsuite/g++.dg/abi/guard2.C
    branches/gcc-4_4-branch/gcc/testsuite/g++.dg/inherit/thunk11-aux.cc
      - copied unchanged from r155170,
trunk/gcc/testsuite/g++.dg/inherit/thunk11-aux.cc
    branches/gcc-4_4-branch/gcc/testsuite/g++.dg/inherit/thunk11.C
      - copied unchanged from r155170,
trunk/gcc/testsuite/g++.dg/inherit/thunk11.C
    branches/gcc-4_4-branch/gcc/testsuite/g++.dg/inherit/thunk11.h
      - copied unchanged from r155170,
trunk/gcc/testsuite/g++.dg/inherit/thunk11.h
    branches/gcc-4_4-branch/gcc/testsuite/g++.dg/opt/dtor2-aux.cc
      - copied unchanged from r155170,
trunk/gcc/testsuite/g++.dg/opt/dtor2-aux.cc
    branches/gcc-4_4-branch/gcc/testsuite/g++.dg/opt/dtor2.C
      - copied unchanged from r155170, trunk/gcc/testsuite/g++.dg/opt/dtor2.C
    branches/gcc-4_4-branch/gcc/testsuite/g++.dg/opt/dtor2.h
      - copied unchanged from r155170, trunk/gcc/testsuite/g++.dg/opt/dtor2.h
    branches/gcc-4_4-branch/gcc/testsuite/g++.dg/other/bitfield4.C
      - copied unchanged from r155170,
trunk/gcc/testsuite/g++.dg/other/bitfield4.C
    branches/gcc-4_4-branch/gcc/testsuite/g++.dg/parse/crash54.C
      - copied unchanged from r155172,
trunk/gcc/testsuite/g++.dg/parse/crash54.C
    branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/const3.C
      - copied unchanged from r155170,
trunk/gcc/testsuite/g++.dg/template/const3.C
    branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/typedef23.C
      - copied unchanged from r155181,
trunk/gcc/testsuite/g++.dg/template/typedef23.C
    branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/typedef24.C
      - copied unchanged from r155170,
trunk/gcc/testsuite/g++.dg/template/typedef24.C
    branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/typedef25.C
      - copied unchanged from r155170,
trunk/gcc/testsuite/g++.dg/template/typedef25.C
    branches/gcc-4_4-branch/gcc/testsuite/g++.dg/torture/pr42110.C
      - copied unchanged from r155170,
trunk/gcc/testsuite/g++.dg/torture/pr42110.C
    branches/gcc-4_4-branch/gcc/testsuite/g++.dg/torture/pr42183.C
      - copied unchanged from r155181,
trunk/gcc/testsuite/g++.dg/torture/pr42183.C
    branches/gcc-4_4-branch/gcc/testsuite/g++.dg/tree-ssa/pr41905.C
      - copied unchanged from r155182,
trunk/gcc/testsuite/g++.dg/tree-ssa/pr41905.C
    branches/gcc-4_4-branch/gcc/testsuite/g++.dg/tree-ssa/pr41906.C
      - copied unchanged from r155182,
trunk/gcc/testsuite/g++.dg/tree-ssa/pr41906.C
    branches/gcc-4_4-branch/gcc/testsuite/g++.dg/tree-ssa/pr41961.C
      - copied unchanged from r155181,
trunk/gcc/testsuite/g++.dg/tree-ssa/pr41961.C
    branches/gcc-4_4-branch/gcc/testsuite/gcc.c-torture/compile/pr42025-1.c
      - copied unchanged from r155182,
trunk/gcc/testsuite/gcc.c-torture/compile/pr42025-1.c
    branches/gcc-4_4-branch/gcc/testsuite/gcc.c-torture/compile/pr42025-2.c
      - copied unchanged from r155182,
trunk/gcc/testsuite/gcc.c-torture/compile/pr42025-2.c
    branches/gcc-4_4-branch/gcc/testsuite/gcc.c-torture/compile/pr42164.c
      - copied unchanged from r155170,
trunk/gcc/testsuite/gcc.c-torture/compile/pr42164.c
    branches/gcc-4_4-branch/gcc/testsuite/gcc.c-torture/compile/pr42196-1.c
      - copied unchanged from r155181,
trunk/gcc/testsuite/gcc.c-torture/compile/pr42196-1.c
    branches/gcc-4_4-branch/gcc/testsuite/gcc.c-torture/compile/pr42196-2.c
      - copied unchanged from r155181,
trunk/gcc/testsuite/gcc.c-torture/compile/pr42196-2.c
    branches/gcc-4_4-branch/gcc/testsuite/gcc.c-torture/compile/pr42196-3.c
      - copied unchanged from r155181,
trunk/gcc/testsuite/gcc.c-torture/compile/pr42196-3.c
    branches/gcc-4_4-branch/gcc/testsuite/gcc.c-torture/compile/pr42237.c
      - copied unchanged from r155171,
trunk/gcc/testsuite/gcc.c-torture/compile/pr42237.c
    branches/gcc-4_4-branch/gcc/testsuite/gcc.c-torture/execute/pr42006.c
      - copied unchanged from r155181,
trunk/gcc/testsuite/gcc.c-torture/execute/pr42006.c
    branches/gcc-4_4-branch/gcc/testsuite/gcc.c-torture/execute/pr42142.c
      - copied unchanged from r155182,
trunk/gcc/testsuite/gcc.c-torture/execute/pr42142.c
    branches/gcc-4_4-branch/gcc/testsuite/gcc.c-torture/execute/pr42154.c
      - copied unchanged from r155182,
trunk/gcc/testsuite/gcc.c-torture/execute/pr42154.c
    branches/gcc-4_4-branch/gcc/testsuite/gcc.dg/debug/pr42244.c
      - copied unchanged from r155170,
trunk/gcc/testsuite/gcc.dg/debug/pr42244.c
    branches/gcc-4_4-branch/gcc/testsuite/gcc.dg/pr42078.c
      - copied unchanged from r155182, trunk/gcc/testsuite/gcc.dg/pr42078.c
    branches/gcc-4_4-branch/gcc/testsuite/gcc.dg/pr42084.c
      - copied unchanged from r155182, trunk/gcc/testsuite/gcc.dg/pr42084.c
    branches/gcc-4_4-branch/gcc/testsuite/gcc.dg/vect/pr42193.c
      - copied unchanged from r155181,
trunk/gcc/testsuite/gcc.dg/vect/pr42193.c
Modified:
    branches/gcc-4_4-branch/gcc/testsuite/ChangeLog


-- 


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


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

end of thread, other threads:[~2009-12-11 23:40 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-11-27 13:29 [Bug middle-end/42196] New: ICE when SRAing partial assigments to complex number jamborm at gcc dot gnu dot org
2009-11-27 22:22 ` [Bug middle-end/42196] " jamborm at gcc dot gnu dot org
2009-11-28 12:37 ` steven at gcc dot gnu dot org
2009-11-30 18:00 ` jamborm at gcc dot gnu dot org
2009-11-30 18:17 ` jamborm at gcc dot gnu dot org
2009-12-01 19:42 ` [Bug middle-end/42196] [4.5 Regression] " pinskia at gcc dot gnu dot org
2009-12-11 23:41 ` hjl at gcc dot gnu dot 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).