public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug ada/53592] New: ICE when hitting assigment to component of SSE vector_type
@ 2012-06-06 14:27 georggcc at googlemail dot com
  2012-06-11 10:15 ` [Bug ada/53592] " rguenth at gcc dot gnu.org
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: georggcc at googlemail dot com @ 2012-06-06 14:27 UTC (permalink / raw)
  To: gcc-bugs

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

             Bug #: 53592
           Summary: ICE when hitting assigment to component of SSE
                    vector_type
    Classification: Unclassified
           Product: gcc
           Version: 4.8.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: ada
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: georggcc@googlemail.com


Created attachment 27564
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=27564
complete source text (ssa_view.ada)

The subject line is a guess from GCC's final error message:

gnatchop  -w ssa_view.ada && gnatmake -gnatwa ssa_view.adb
splitting ssa_view.ada into:
   ssa_view.ads
   ssa_view.adb
gcc -c -gnatwa ssa_view.adb
ssa_view.adb:4:36: warning: formal parameter "x1" is not referenced
ssa_view.adb: In function 'Ssa_View.Test_View_Ssa_Lhs':
ssa_view.adb:11:1: error: conversion of an SSA_NAME on the left hand side
VIEW_CONVERT_EXPR<ssa_view__fpt[2]>(result_2);

VIEW_CONVERT_EXPR<ssa_view__fpt[2]>(result_2)[0] = x0_1(D);

+===========================GNAT BUG DETECTED==============================+
| 4.8.0 20120525 (experimental) (x86_64-unknown-linux-gnu) GCC error:      |
| verify_gimple failed                                                     |
| Error detected around ssa_view.adb:11:1                                  |
| Please submit a bug report; see http://gcc.gnu.org/bugs.html.            |
| Use a subject line meaningful to you and us to track the bug.            |
| Include the entire contents of this bug box in the report.               |
| Include the exact gcc or gnatmake command that you entered.              |
| Also include sources listed below in gnatchop format                     |
| (concatenated together with no headers between files).                   |
+==========================================================================+

Please include these source files with error report
Note that list may not be accurate in some cases,
so please double check that the problem can still
be reproduced with the set of files listed.
Consider also -gnatd.n switch (see debug.adb).

ssa_view.adb
ssa_view.ads


raised TYPES.UNRECOVERABLE_ERROR : comperr.adb:432
gnatmake: "ssa_view.adb" compilation error

Compilation exited abnormally with code 4 at Wed Jun  6 16:16:34


Linux newnews 3.2.0-24-generic #39-Ubuntu SMP Mon May 21 16:52:17 UTC 2012
x86_64 x86_64 x86_64 GNU/Linux

Intel(R) Core(TM)2 Duo CPU     E6750  @ 2.66GHz

$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/home/bauhaus/mine/libexec/gcc/x86_64-unknown-linux-gnu/4.8.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: /home/bauhaus/src/gcc/trunk/configure
--prefix=/home/bauhaus/mine --disable-nls --disable-libstdcxx-pch
--enable-languages=c,ada,c++
Thread model: posix
gcc version 4.8.0 20120525 (experimental) (GCC)


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

* [Bug ada/53592] ICE when hitting assigment to component of SSE vector_type
  2012-06-06 14:27 [Bug ada/53592] New: ICE when hitting assigment to component of SSE vector_type georggcc at googlemail dot com
@ 2012-06-11 10:15 ` rguenth at gcc dot gnu.org
  2012-06-12 16:15 ` ebotcazou at gcc dot gnu.org
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: rguenth at gcc dot gnu.org @ 2012-06-11 10:15 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2012-06-11
                 CC|                            |rguenth at gcc dot gnu.org
     Ever Confirmed|0                           |1

--- Comment #1 from Richard Guenther <rguenth at gcc dot gnu.org> 2012-06-11 10:15:22 UTC ---
The gimplifier marks 'result' as DECL_GIMPLE_REG_P here:

/* Gimplify a BIND_EXPR.  Just voidify and recurse.  */

static enum gimplify_status
gimplify_bind_expr (tree *expr_p, gimple_seq *pre_p)
{
...
      /* Preliminarily mark non-addressed complex variables as eligible
         for promotion to gimple registers.  We'll transform their uses
         as we find them.  */
      if ((TREE_CODE (TREE_TYPE (t)) == COMPLEX_TYPE
           || TREE_CODE (TREE_TYPE (t)) == VECTOR_TYPE)
          && !TREE_THIS_VOLATILE (t)
          && (TREE_CODE (t) == VAR_DECL && !DECL_HARD_REGISTER (t))
          && !needs_to_live_in_memory (t))
        DECL_GIMPLE_REG_P (t) = 1;

which means it expects the Frontends to have marked 'result' as
TREE_ADDRESSABLE
if they assign to it in this way.  GENERIC from the frontend looks like

Ssa_View.Test_View_Ssa_Lhs (const ssa_view__fpt x0, const ssa_view__fpt x1)
{
  ssa_view__vec result;

    ssa_view__vec result;
  VIEW_CONVERT_EXPR<ssa_view__fpt[2]>(result)[0] = (ssa_view__fpt) x0;
  return result;
}

another possibility is, as the comment explains, that this is supposed to
be done for COMPLEX_TYPE only, as only component-accesses to those are
"transformed" properly.  But note that an access like the above, via
a VIEW_CONVERTed type are not necessarily handled.

Well.  Confirmed.


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

* [Bug ada/53592] ICE when hitting assigment to component of SSE vector_type
  2012-06-06 14:27 [Bug ada/53592] New: ICE when hitting assigment to component of SSE vector_type georggcc at googlemail dot com
  2012-06-11 10:15 ` [Bug ada/53592] " rguenth at gcc dot gnu.org
@ 2012-06-12 16:15 ` ebotcazou at gcc dot gnu.org
  2012-06-15 10:41 ` [Bug ada/53592] ICE on assignment to component of vector_type ebotcazou at gcc dot gnu.org
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: ebotcazou at gcc dot gnu.org @ 2012-06-12 16:15 UTC (permalink / raw)
  To: gcc-bugs

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

Eric Botcazou <ebotcazou at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
                 CC|                            |ebotcazou at gcc dot
                   |                            |gnu.org
         AssignedTo|unassigned at gcc dot       |ebotcazou at gcc dot
                   |gnu.org                     |gnu.org

--- Comment #2 from Eric Botcazou <ebotcazou at gcc dot gnu.org> 2012-06-12 16:15:14 UTC ---
Fixing.


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

* [Bug ada/53592] ICE on assignment to component of vector_type
  2012-06-06 14:27 [Bug ada/53592] New: ICE when hitting assigment to component of SSE vector_type georggcc at googlemail dot com
  2012-06-11 10:15 ` [Bug ada/53592] " rguenth at gcc dot gnu.org
  2012-06-12 16:15 ` ebotcazou at gcc dot gnu.org
@ 2012-06-15 10:41 ` ebotcazou at gcc dot gnu.org
  2012-06-15 10:46 ` ebotcazou at gcc dot gnu.org
  2012-06-15 10:51 ` ebotcazou at gcc dot gnu.org
  4 siblings, 0 replies; 6+ messages in thread
From: ebotcazou at gcc dot gnu.org @ 2012-06-15 10:41 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #3 from Eric Botcazou <ebotcazou at gcc dot gnu.org> 2012-06-15 10:41:19 UTC ---
Author: ebotcazou
Date: Fri Jun 15 10:41:13 2012
New Revision: 188653

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=188653
Log:
    PR ada/53592
    * gcc-interface/gigi.h (maybe_vector_array): Make static inline.
    * gcc-interface/utils.c (maybe_vector_array): Delete.
    * gcc-interface/trans.c (gnat_to_gnu) <N_Indexed_Component>: Mark the
    array object as addressable if it has vector type and is on the LHS.

Added:
    trunk/gcc/testsuite/gnat.dg/vect8.adb
    trunk/gcc/testsuite/gnat.dg/vect8.ads
Modified:
    trunk/gcc/ada/ChangeLog
    trunk/gcc/ada/gcc-interface/gigi.h
    trunk/gcc/ada/gcc-interface/trans.c
    trunk/gcc/ada/gcc-interface/utils.c
    trunk/gcc/testsuite/ChangeLog


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

* [Bug ada/53592] ICE on assignment to component of vector_type
  2012-06-06 14:27 [Bug ada/53592] New: ICE when hitting assigment to component of SSE vector_type georggcc at googlemail dot com
                   ` (2 preceding siblings ...)
  2012-06-15 10:41 ` [Bug ada/53592] ICE on assignment to component of vector_type ebotcazou at gcc dot gnu.org
@ 2012-06-15 10:46 ` ebotcazou at gcc dot gnu.org
  2012-06-15 10:51 ` ebotcazou at gcc dot gnu.org
  4 siblings, 0 replies; 6+ messages in thread
From: ebotcazou at gcc dot gnu.org @ 2012-06-15 10:46 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #4 from Eric Botcazou <ebotcazou at gcc dot gnu.org> 2012-06-15 10:46:16 UTC ---
Author: ebotcazou
Date: Fri Jun 15 10:46:12 2012
New Revision: 188654

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=188654
Log:
    PR ada/53592
    * gcc-interface/gigi.h (maybe_vector_array): Make static inline.
    * gcc-interface/utils.c (maybe_vector_array): Delete.
    * gcc-interface/trans.c (gnat_to_gnu) <N_Indexed_Component>: Mark the
    array object as addressable if it has vector type and is on the LHS.

Added:
    branches/gcc-4_7-branch/gcc/testsuite/gnat.dg/vect8.adb
      - copied unchanged from r188653, trunk/gcc/testsuite/gnat.dg/vect8.adb
    branches/gcc-4_7-branch/gcc/testsuite/gnat.dg/vect8.ads
      - copied unchanged from r188653, trunk/gcc/testsuite/gnat.dg/vect8.ads
Modified:
    branches/gcc-4_7-branch/gcc/ada/ChangeLog
    branches/gcc-4_7-branch/gcc/ada/gcc-interface/gigi.h
    branches/gcc-4_7-branch/gcc/ada/gcc-interface/trans.c
    branches/gcc-4_7-branch/gcc/ada/gcc-interface/utils.c
    branches/gcc-4_7-branch/gcc/testsuite/ChangeLog


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

* [Bug ada/53592] ICE on assignment to component of vector_type
  2012-06-06 14:27 [Bug ada/53592] New: ICE when hitting assigment to component of SSE vector_type georggcc at googlemail dot com
                   ` (3 preceding siblings ...)
  2012-06-15 10:46 ` ebotcazou at gcc dot gnu.org
@ 2012-06-15 10:51 ` ebotcazou at gcc dot gnu.org
  4 siblings, 0 replies; 6+ messages in thread
From: ebotcazou at gcc dot gnu.org @ 2012-06-15 10:51 UTC (permalink / raw)
  To: gcc-bugs

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

Eric Botcazou <ebotcazou at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED
   Target Milestone|---                         |4.7.2

--- Comment #5 from Eric Botcazou <ebotcazou at gcc dot gnu.org> 2012-06-15 10:51:13 UTC ---
.


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

end of thread, other threads:[~2012-06-15 10:51 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-06-06 14:27 [Bug ada/53592] New: ICE when hitting assigment to component of SSE vector_type georggcc at googlemail dot com
2012-06-11 10:15 ` [Bug ada/53592] " rguenth at gcc dot gnu.org
2012-06-12 16:15 ` ebotcazou at gcc dot gnu.org
2012-06-15 10:41 ` [Bug ada/53592] ICE on assignment to component of vector_type ebotcazou at gcc dot gnu.org
2012-06-15 10:46 ` ebotcazou at gcc dot gnu.org
2012-06-15 10:51 ` ebotcazou 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).