public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug tree-optimization/49632] New: ICE in compute_affine_dependence (tree-data-ref.c:4038) with -O3
@ 2011-07-04 20:36 arthur.j.odwyer at gmail dot com
  2011-07-05  8:29 ` [Bug tree-optimization/49632] " rguenth at gcc dot gnu.org
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: arthur.j.odwyer at gmail dot com @ 2011-07-04 20:36 UTC (permalink / raw)
  To: gcc-bugs

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

           Summary: ICE in compute_affine_dependence
                    (tree-data-ref.c:4038) with -O3
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: arthur.j.odwyer@gmail.com


Created attachment 24683
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=24683
Output of "ajo-gcc -std=c99 -w -march=athlon64 -O3 -fcheck-data-deps test.c -v"

Bug 49033 and/or bug 46851 might be related.

This reproduces for me with svn revision 175547 (2011-06-30). It doesn't
reproduce with gcc 4.5.1. I'm on Ubuntu 10.10, x86-64.

cat >test.c <<EOF
extern int g_107, g_123, l_98[7][7];
static int MUL(unsigned x, unsigned y) { return x*y; }
void func_95(int p) {
    for (int i = 0; i < 5; ++i) {
        for (int j = 0; j < 5; ++j) {
            for (g_123 = 4; g_123 >= 0; --g_123) {
                l_98[0][0] = (l_98[i][j+1] != -l_98[i][0])
                           + (p * MUL(g_107 || l_98[0][1], 2*l_98[0][g_123+1])
|| p);
            }
            l_98[i][j] = 0;
        }
    }
}
EOF
gcc -std=c99 -w -march=athlon64 -O3 -fcheck-data-deps test.c


(Number of distance vectors differ: Banerjee has 1, Omega has 2.
Banerjee dist vectors:
  0   1 
Omega dist vectors:
  0   1 
  0  -1 
data dependence relation:
(Data Dep: 
#(Data Ref: 
#  bb: 18 
#  stmt: D.2624_83 = l_98[i_54][pretmp.10_69];
#  ref: l_98[i_54][pretmp.10_69];
#  base_object: l_98
#  Access function 0: {1, +, 1}_2
#  Access function 1: {0, +, 1}_1
#)
#(Data Ref: 
#  bb: 29 
#  stmt: l_98[i_54][j_55] = 0;
#  ref: l_98[i_54][j_55];
#  base_object: l_98
#  Access function 0: {0, +, 1}_2
#  Access function 1: {0, +, 1}_1
#)
  access_fn_A: {1, +, 1}_2
  access_fn_B: {0, +, 1}_2

 (subscript 
  iterations_that_access_an_element_twice_in_A: [1 + 1 * x_1]
  last_conflict: 4
  iterations_that_access_an_element_twice_in_B: [0 + 1 * x_1]
  last_conflict: 4
  (Subscript distance: 1
  )
 )
  access_fn_A: {0, +, 1}_1
  access_fn_B: {0, +, 1}_1

 (subscript 
  iterations_that_access_an_element_twice_in_A: [0]
  last_conflict: scev_not_known;
  iterations_that_access_an_element_twice_in_B: [0]
  last_conflict: scev_not_known;
  (Subscript distance: 0
  )
 )
  inner loop index: 1
  loop nest: (1 2 )
  distance_vector:   0   1 
  distance_vector:   0  -1 
  direction_vector:     =    +
  direction_vector:     =    -
)
)
test.c: In function ‘func_95’:
test.c:3:6: internal compiler error: in compute_affine_dependence, at
tree-data-ref.c:4038


This test case is reduced from the output of Csmith 2.1.0 (git hash 01aa8b04,
https://github.com/Quuxplusone/csmith/), using the following command line:
csmith --no-paranoid --no-longlong --no-pointers --arrays --no-jumps
--no-consts --volatiles --checksum --divs --muls --no-bitfields --packed-struct
-s 1807040286


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

* [Bug tree-optimization/49632] ICE in compute_affine_dependence (tree-data-ref.c:4038) with -O3
  2011-07-04 20:36 [Bug tree-optimization/49632] New: ICE in compute_affine_dependence (tree-data-ref.c:4038) with -O3 arthur.j.odwyer at gmail dot com
@ 2011-07-05  8:29 ` rguenth at gcc dot gnu.org
  2011-07-08  4:56 ` spop at gcc dot gnu.org
  2015-07-18  1:19 ` spop at gcc dot gnu.org
  2 siblings, 0 replies; 4+ messages in thread
From: rguenth at gcc dot gnu.org @ 2011-07-05  8:29 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |spop at gcc dot gnu.org

--- Comment #1 from Richard Guenther <rguenth at gcc dot gnu.org> 2011-07-05 08:28:27 UTC ---
Sebastian should know.


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

* [Bug tree-optimization/49632] ICE in compute_affine_dependence (tree-data-ref.c:4038) with -O3
  2011-07-04 20:36 [Bug tree-optimization/49632] New: ICE in compute_affine_dependence (tree-data-ref.c:4038) with -O3 arthur.j.odwyer at gmail dot com
  2011-07-05  8:29 ` [Bug tree-optimization/49632] " rguenth at gcc dot gnu.org
@ 2011-07-08  4:56 ` spop at gcc dot gnu.org
  2015-07-18  1:19 ` spop at gcc dot gnu.org
  2 siblings, 0 replies; 4+ messages in thread
From: spop at gcc dot gnu.org @ 2011-07-08  4:56 UTC (permalink / raw)
  To: gcc-bugs

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

Sebastian Pop <spop at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P5
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2011.07.08 04:55:59
     Ever Confirmed|0                           |1
           Severity|normal                      |minor

--- Comment #2 from Sebastian Pop <spop at gcc dot gnu.org> 2011-07-08 04:55:59 UTC ---
Further reduced the testcase to:

extern int k, A[7][7];
void f (void)
{
  for (int i = 0; i < 5; ++i)
    for (int j = 0; j < 5; ++j)
      for (k = 4; k >= 0; --k)
    A[i][j] = A[i][j+1];
}

And with this testcase, I have the following error:

| (Number of distance vectors differ: Banerjee has 1, Omega has 2.
| Banerjee dist vectors:
|   0   1   0 
| Omega dist vectors:
|   0   1   0 
|   0  -1   0 

And here again, Omega is wrong: a distance vector has to be
lexicographically positive: i.e., the first non zero component in a
distance vector (lexicographically = from left to right) should be
positive, and so the distance vector "0  -1   0" is wrong.

As in PR46851, I will just lower the priority of this bug: Omega is
not used elsewhere than in the implementation of -fcheck-data-deps.


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

* [Bug tree-optimization/49632] ICE in compute_affine_dependence (tree-data-ref.c:4038) with -O3
  2011-07-04 20:36 [Bug tree-optimization/49632] New: ICE in compute_affine_dependence (tree-data-ref.c:4038) with -O3 arthur.j.odwyer at gmail dot com
  2011-07-05  8:29 ` [Bug tree-optimization/49632] " rguenth at gcc dot gnu.org
  2011-07-08  4:56 ` spop at gcc dot gnu.org
@ 2015-07-18  1:19 ` spop at gcc dot gnu.org
  2 siblings, 0 replies; 4+ messages in thread
From: spop at gcc dot gnu.org @ 2015-07-18  1:19 UTC (permalink / raw)
  To: gcc-bugs

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

Sebastian Pop <spop at gcc dot gnu.org> changed:

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

--- Comment #3 from Sebastian Pop <spop at gcc dot gnu.org> ---
Fixed in r225979.


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

end of thread, other threads:[~2015-07-18  1:19 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-07-04 20:36 [Bug tree-optimization/49632] New: ICE in compute_affine_dependence (tree-data-ref.c:4038) with -O3 arthur.j.odwyer at gmail dot com
2011-07-05  8:29 ` [Bug tree-optimization/49632] " rguenth at gcc dot gnu.org
2011-07-08  4:56 ` spop at gcc dot gnu.org
2015-07-18  1:19 ` spop 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).