public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug tree-optimization/53390] New: ICE: tree check: expected integer_cst, have nop_expr in vect_compute_data_ref_alignmen on 32-bit x86 host
@ 2012-05-17 17:13 gary at intrepid dot com
  2012-05-17 17:14 ` [Bug tree-optimization/53390] " gary at intrepid dot com
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: gary at intrepid dot com @ 2012-05-17 17:13 UTC (permalink / raw)
  To: gcc-bugs

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

             Bug #: 53390
           Summary: ICE: tree check: expected integer_cst, have nop_expr
                    in vect_compute_data_ref_alignmen on 32-bit x86 host
    Classification: Unclassified
           Product: gcc
           Version: 4.8.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: gary@intrepid.com
                CC: PHHargrove@lbl.gov
              Host: CentOS 6 x86-32
            Target: x86-32


Built on x86-32 with GCC 4.8 trunk version 187616 (2012-05-16), the attached
test case fails with following internal error (with checks enabled).

test.i: In function ‘foo’:
test.i:10:6: internal compiler error: tree check: expected integer_cst, have
nop_expr in tree_int_cst_sgn, at tree.c:6601

Back trace:

#0  internal_error (gmsgid=0x8f57f68 "tree check: %s, have %s in %s, at %s:%d")
    at gcc/diagnostic.c:955
#1  0x089e6b71 in tree_check_failed (node=0xb7c8a378, 
    file=0x8f57148 "gcc/tree.c", line=6601, 
    function=0x8f5958c "tree_int_cst_sgn")
    at gcc/tree.c:8886
#2  0x089d7c50 in tree_int_cst_sgn (t=0xb7c8a378)
    at gcc/tree.c:6601
#3  0x089d7108 in tree_int_cst_lt (t1=0xb7c8a378, t2=0xb7bec594)
    at gcc/tree.c:6503
#4  0x089d7634 in tree_int_cst_compare (t1=0xb7c8a378, t2=0xb7bec594)
    at gcc/tree.c:6525
#5  0x08e2abda in vect_compute_data_ref_alignment (dr=0x92a3768)
    at gcc/tree-vect-data-refs.c:923
#6  0x08e2ae38 in vect_compute_data_refs_alignment (loop_vinfo=0x92a37e0, 
    bb_vinfo=0x0) at gcc/tree-vect-data-refs.c:976
#7  0x08e2d99f in vect_analyze_data_refs_alignment (loop_vinfo=0x92a37e0, 
    bb_vinfo=0x0)
    at gcc/tree-vect-data-refs.c:2074

(gdb) f 5
#5  0x08e2abda in vect_compute_data_ref_alignment (dr=0x92a3768)
    at gcc/tree-vect-data-refs.c:923
923       if (tree_int_cst_compare (DR_STEP (dr), size_zero_node) < 0)
(gdb) l
918                       && DECL_ALIGN (base) >= TYPE_ALIGN (vectype)));
919
920       /* If this is a backward running DR then first access in the larger
921          vectype actually is N-1 elements before the address in the DR.
922          Adjust misalign accordingly.  */
923       if (tree_int_cst_compare (DR_STEP (dr), size_zero_node) < 0)
924         {
925           tree offset = ssize_int (TYPE_VECTOR_SUBPARTS (vectype) - 1);
926           /* DR_STEP(dr) is the same as -TYPE_SIZE of the scalar type,
927              otherwise we wouldn't be here.  */
(gdb) down
#4  0x089d7634 in tree_int_cst_compare (t1=0xb7c8a378, t2=0xb7bec594)
    at gcc/tree.c:6525
6525      if (tree_int_cst_lt (t1, t2))
(gdb) p t1
$1 = (const_tree) 0xb7c8a378
(gdb) pt
 <nop_expr 0xb7c8a378
    type <integer_type 0xb7bff0c0 ssizetype public SI
        size <integer_cst 0xb7bec55c constant 32>
        unit size <integer_cst 0xb7bec578 constant 4>
        align 32 symtab 0 alias set -1 canonical type 0xb7bff0c0 precision 32
min <integer_cst 0xb7bec620 -2147483648> max <integer_cst 0xb7bec63c
2147483647>>

    arg 0 <mult_expr 0xb7c87a80
        type <integer_type 0xb7bff3c0 unsigned int public unsigned SI size
<integer_cst 0xb7bec55c 32> unit size <integer_cst 0xb7bec578 4>
            align 32 symtab 0 alias set -1 canonical type 0xb7bff3c0 precision
32 min <integer_cst 0xb7bec86c 0> max <integer_cst 0xb7bec850 4294967295>
            pointer_to_this <pointer_type 0xb7c0b300>>

        arg 0 <nop_expr 0xb7c8a348 type <integer_type 0xb7bff3c0 unsigned int>

            arg 0 <ssa_name 0xb7c70d3c type <integer_type 0xb7bff360 int>
                visited var <var_decl 0xb7c81cc0 pretmp.12>def_stmt
pretmp.12_42 = var2;

                version 42>>
        arg 1 <integer_cst 0xb7c7fa64 constant 2>>>

I was unable to cause this to fail on an x86_64 *host* compiling with -m32, but
perhaps needed to try some other configuration options.  The failing compiler
above was built on an x86-32 (CentOS 6) host with --disable-bootstrap and
--enable-checking.


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

* [Bug tree-optimization/53390] ICE: tree check: expected integer_cst, have nop_expr in vect_compute_data_ref_alignmen on 32-bit x86 host
  2012-05-17 17:13 [Bug tree-optimization/53390] New: ICE: tree check: expected integer_cst, have nop_expr in vect_compute_data_ref_alignmen on 32-bit x86 host gary at intrepid dot com
@ 2012-05-17 17:14 ` gary at intrepid dot com
  2012-05-17 18:11 ` gary at intrepid dot com
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: gary at intrepid dot com @ 2012-05-17 17:14 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #1 from Gary Funck <gary at intrepid dot com> 2012-05-17 17:12:49 UTC ---
Created attachment 27428
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=27428
Test case to demonstrate ICE in tree check on 32-bit host

Test case attached.  Compile with "-fpreprocessed -O3".


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

* [Bug tree-optimization/53390] ICE: tree check: expected integer_cst, have nop_expr in vect_compute_data_ref_alignmen on 32-bit x86 host
  2012-05-17 17:13 [Bug tree-optimization/53390] New: ICE: tree check: expected integer_cst, have nop_expr in vect_compute_data_ref_alignmen on 32-bit x86 host gary at intrepid dot com
  2012-05-17 17:14 ` [Bug tree-optimization/53390] " gary at intrepid dot com
@ 2012-05-17 18:11 ` gary at intrepid dot com
  2012-05-17 23:34 ` hjl.tools at gmail dot com
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: gary at intrepid dot com @ 2012-05-17 18:11 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #2 from Gary Funck <gary at intrepid dot com> 2012-05-17 17:25:23 UTC ---
The following versions of the support packages were installed via RPM.

mpfr-devel-2.4.1-6.el6.i686
gmp-devel-4.3.1-7.el6.i686
libmpc-devel-0.8-3.el6.i686
binutils-2.20.51.0.2-5.28.el6.i686


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

* [Bug tree-optimization/53390] ICE: tree check: expected integer_cst, have nop_expr in vect_compute_data_ref_alignmen on 32-bit x86 host
  2012-05-17 17:13 [Bug tree-optimization/53390] New: ICE: tree check: expected integer_cst, have nop_expr in vect_compute_data_ref_alignmen on 32-bit x86 host gary at intrepid dot com
  2012-05-17 17:14 ` [Bug tree-optimization/53390] " gary at intrepid dot com
  2012-05-17 18:11 ` gary at intrepid dot com
@ 2012-05-17 23:34 ` hjl.tools at gmail dot com
  2012-05-18 11:43 ` [Bug tree-optimization/53390] [4.8 Regression] " rguenth at gcc dot gnu.org
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: hjl.tools at gmail dot com @ 2012-05-17 23:34 UTC (permalink / raw)
  To: gcc-bugs

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

H.J. Lu <hjl.tools at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2012-05-17
                 CC|                            |matz at gcc dot gnu.org
   Target Milestone|---                         |4.8.0
     Ever Confirmed|0                           |1

--- Comment #3 from H.J. Lu <hjl.tools at gmail dot com> 2012-05-17 21:03:03 UTC ---
It is caused by revision 186530:

http://gcc.gnu.org/ml/gcc-cvs/2012-04/msg00481.html


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

* [Bug tree-optimization/53390] [4.8 Regression] ICE: tree check: expected integer_cst, have nop_expr in vect_compute_data_ref_alignmen on 32-bit x86 host
  2012-05-17 17:13 [Bug tree-optimization/53390] New: ICE: tree check: expected integer_cst, have nop_expr in vect_compute_data_ref_alignmen on 32-bit x86 host gary at intrepid dot com
                   ` (2 preceding siblings ...)
  2012-05-17 23:34 ` hjl.tools at gmail dot com
@ 2012-05-18 11:43 ` rguenth at gcc dot gnu.org
  2012-05-18 12:12 ` rguenth at gcc dot gnu.org
  2012-05-18 12:13 ` rguenth at gcc dot gnu.org
  5 siblings, 0 replies; 7+ messages in thread
From: rguenth at gcc dot gnu.org @ 2012-05-18 11:43 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Target|x86-32                      |i?86-*-*
             Status|NEW                         |ASSIGNED
               Host|CentOS 6 x86-32             |
         AssignedTo|unassigned at gcc dot       |rguenth at gcc dot gnu.org
                   |gnu.org                     |
            Summary|ICE: tree check: expected   |[4.8 Regression] ICE: tree
                   |integer_cst, have nop_expr  |check: expected
                   |in                          |integer_cst, have nop_expr
                   |vect_compute_data_ref_align |in
                   |men on 32-bit x86 host      |vect_compute_data_ref_align
                   |                            |men on 32-bit x86 host

--- Comment #4 from Richard Guenther <rguenth at gcc dot gnu.org> 2012-05-18 10:47:10 UTC ---
Mine.

Index: gcc/tree-vect-data-refs.c
===================================================================
--- gcc/tree-vect-data-refs.c   (revision 187650)
+++ gcc/tree-vect-data-refs.c   (working copy)
@@ -824,6 +824,11 @@ vect_compute_data_ref_alignment (struct
   /* Initialize misalignment to unknown.  */
   SET_DR_MISALIGNMENT (dr, -1);

+  /* Strided loads perform only component accesses, misalignment information
+     is irrelevant for them.  */
+  if (STMT_VINFO_STRIDE_LOAD_P (stmt_info))
+    return true;
+
   misalign = DR_INIT (dr);
   aligned_to = DR_ALIGNED_TO (dr);
   base_addr = DR_BASE_ADDRESS (dr);


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

* [Bug tree-optimization/53390] [4.8 Regression] ICE: tree check: expected integer_cst, have nop_expr in vect_compute_data_ref_alignmen on 32-bit x86 host
  2012-05-17 17:13 [Bug tree-optimization/53390] New: ICE: tree check: expected integer_cst, have nop_expr in vect_compute_data_ref_alignmen on 32-bit x86 host gary at intrepid dot com
                   ` (3 preceding siblings ...)
  2012-05-18 11:43 ` [Bug tree-optimization/53390] [4.8 Regression] " rguenth at gcc dot gnu.org
@ 2012-05-18 12:12 ` rguenth at gcc dot gnu.org
  2012-05-18 12:13 ` rguenth at gcc dot gnu.org
  5 siblings, 0 replies; 7+ messages in thread
From: rguenth at gcc dot gnu.org @ 2012-05-18 12:12 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #5 from Richard Guenther <rguenth at gcc dot gnu.org> 2012-05-18 12:09:55 UTC ---
Author: rguenth
Date: Fri May 18 12:09:49 2012
New Revision: 187653

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=187653
Log:
2012-05-18  Richard Guenther  <rguenther@suse.de>

    PR tree-optimization/53390
    * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Ignore
    strided loads.

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

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


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

* [Bug tree-optimization/53390] [4.8 Regression] ICE: tree check: expected integer_cst, have nop_expr in vect_compute_data_ref_alignmen on 32-bit x86 host
  2012-05-17 17:13 [Bug tree-optimization/53390] New: ICE: tree check: expected integer_cst, have nop_expr in vect_compute_data_ref_alignmen on 32-bit x86 host gary at intrepid dot com
                   ` (4 preceding siblings ...)
  2012-05-18 12:12 ` rguenth at gcc dot gnu.org
@ 2012-05-18 12:13 ` rguenth at gcc dot gnu.org
  5 siblings, 0 replies; 7+ messages in thread
From: rguenth at gcc dot gnu.org @ 2012-05-18 12:13 UTC (permalink / raw)
  To: gcc-bugs

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

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

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

--- Comment #6 from Richard Guenther <rguenth at gcc dot gnu.org> 2012-05-18 12:10:12 UTC ---
Fixed.


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

end of thread, other threads:[~2012-05-18 12:12 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-05-17 17:13 [Bug tree-optimization/53390] New: ICE: tree check: expected integer_cst, have nop_expr in vect_compute_data_ref_alignmen on 32-bit x86 host gary at intrepid dot com
2012-05-17 17:14 ` [Bug tree-optimization/53390] " gary at intrepid dot com
2012-05-17 18:11 ` gary at intrepid dot com
2012-05-17 23:34 ` hjl.tools at gmail dot com
2012-05-18 11:43 ` [Bug tree-optimization/53390] [4.8 Regression] " rguenth at gcc dot gnu.org
2012-05-18 12:12 ` rguenth at gcc dot gnu.org
2012-05-18 12:13 ` 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).