* [Bug other/28187] '-O2 -fwrapv' exhausts memory.
2006-06-28 12:46 [Bug other/28187] New: '-O2 -fwrapv' exhausts memory pluto at agmk dot net
@ 2006-06-28 13:22 ` pluto at agmk dot net
2006-06-28 21:16 ` [Bug tree-optimization/28187] [4.1/4.2 Regression] " pinskia at gcc dot gnu dot org
` (10 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: pluto at agmk dot net @ 2006-06-28 13:22 UTC (permalink / raw)
To: gcc-bugs
------- Comment #1 from pluto at agmk dot net 2006-06-28 12:46 -------
Created an attachment (id=11768)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=11768&action=view)
i486 precompiled testcase.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28187
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug tree-optimization/28187] [4.1/4.2 Regression] '-O2 -fwrapv' exhausts memory.
2006-06-28 12:46 [Bug other/28187] New: '-O2 -fwrapv' exhausts memory pluto at agmk dot net
2006-06-28 13:22 ` [Bug other/28187] " pluto at agmk dot net
@ 2006-06-28 21:16 ` pinskia at gcc dot gnu dot org
2006-07-05 13:48 ` rguenth at gcc dot gnu dot org
` (9 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-06-28 21:16 UTC (permalink / raw)
To: gcc-bugs
------- Comment #2 from pinskia at gcc dot gnu dot org 2006-06-28 21:14 -------
I can reproduce this on the mainline with a cross to powerpc64-linux-gnu with
"-m32 -O2 -fwrapv".
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |pinskia at gcc dot gnu dot
| |org
Component|other |tree-optimization
Keywords| |memory-hog
Known to fail| |4.1.2 4.2.0
Known to work| |4.0.1
Summary|'-O2 -fwrapv' exhausts |[4.1/4.2 Regression] '-O2 -
|memory. |fwrapv' exhausts memory.
Target Milestone|--- |4.1.2
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28187
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug tree-optimization/28187] [4.1/4.2 Regression] '-O2 -fwrapv' exhausts memory.
2006-06-28 12:46 [Bug other/28187] New: '-O2 -fwrapv' exhausts memory pluto at agmk dot net
2006-06-28 13:22 ` [Bug other/28187] " pluto at agmk dot net
2006-06-28 21:16 ` [Bug tree-optimization/28187] [4.1/4.2 Regression] " pinskia at gcc dot gnu dot org
@ 2006-07-05 13:48 ` rguenth at gcc dot gnu dot org
2006-07-05 15:06 ` rguenth at gcc dot gnu dot org
` (8 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2006-07-05 13:48 UTC (permalink / raw)
To: gcc-bugs
------- Comment #3 from rguenth at gcc dot gnu dot org 2006-07-05 13:48 -------
I can reproduce it on the 4.1 branch on i686, but not on trunk. Very slowly
eating all of memory. Reducing.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28187
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug tree-optimization/28187] [4.1/4.2 Regression] '-O2 -fwrapv' exhausts memory.
2006-06-28 12:46 [Bug other/28187] New: '-O2 -fwrapv' exhausts memory pluto at agmk dot net
` (2 preceding siblings ...)
2006-07-05 13:48 ` rguenth at gcc dot gnu dot org
@ 2006-07-05 15:06 ` rguenth at gcc dot gnu dot org
2006-07-05 15:12 ` rguenth at gcc dot gnu dot org
` (7 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2006-07-05 15:06 UTC (permalink / raw)
To: gcc-bugs
------- Comment #4 from rguenth at gcc dot gnu dot org 2006-07-05 15:06 -------
Reduced testcase, -O -ftree-vrp -fwrapv
extern int foo(const char *);
extern int verbose;
struct newsgroup {
char* name;
};
extern struct newsgroup** stufftoget;
extern char *l;
void checkgroups(int last)
{
int window = 0;
int outstanding = 0;
while (window < last || outstanding) {
while (outstanding < 47 && window < last) {
if (window < last) {
outstanding++;
if (verbose > 1)
foo(stufftoget[window]->name);
foo(stufftoget[window++]->name);
}
}
if (outstanding > 0) {
if (foo(l) < 5 );
}
}
}
--
rguenth 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 |2006-07-05 15:06:20
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28187
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug tree-optimization/28187] [4.1/4.2 Regression] '-O2 -fwrapv' exhausts memory.
2006-06-28 12:46 [Bug other/28187] New: '-O2 -fwrapv' exhausts memory pluto at agmk dot net
` (3 preceding siblings ...)
2006-07-05 15:06 ` rguenth at gcc dot gnu dot org
@ 2006-07-05 15:12 ` rguenth at gcc dot gnu dot org
2006-07-05 15:20 ` rguenth at gcc dot gnu dot org
` (6 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2006-07-05 15:12 UTC (permalink / raw)
To: gcc-bugs
------- Comment #5 from rguenth at gcc dot gnu dot org 2006-07-05 15:12 -------
Visiting statement:
window_6 = ASSERT_EXPR <window_1, window_1 < last_7>;
....
)
(res = scev_not_known))
Found new range for window_6: [-INF, last_7 + -1]
Simulating statement (from ssa_edges): last_50 = ASSERT_EXPR <last_7, window_6
< last_7>;
Visiting statement:
last_50 = ASSERT_EXPR <last_7, window_6 < last_7>;
....
(res = last_7))
Found new range for last_50: [window_6 + 1, +INF]
and over and over and over.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28187
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug tree-optimization/28187] [4.1/4.2 Regression] '-O2 -fwrapv' exhausts memory.
2006-06-28 12:46 [Bug other/28187] New: '-O2 -fwrapv' exhausts memory pluto at agmk dot net
` (4 preceding siblings ...)
2006-07-05 15:12 ` rguenth at gcc dot gnu dot org
@ 2006-07-05 15:20 ` rguenth at gcc dot gnu dot org
2006-07-05 16:09 ` rguenth at gcc dot gnu dot org
` (5 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2006-07-05 15:20 UTC (permalink / raw)
To: gcc-bugs
------- Comment #6 from rguenth at gcc dot gnu dot org 2006-07-05 15:20 -------
Slightly more reduced (for 4.1.2 on i686, trunk doesn't fail here):
extern void bar(int);
void checkgroups(int last, int verbose)
{
int window = 0;
int outstanding = 0;
while (window < last || outstanding) {
while (outstanding < 47 && window < last) {
if (window < last) {
outstanding++;
if (verbose)
bar(window);
bar(window++);
}
}
if (outstanding > 0)
bar(0);
}
}
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28187
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug tree-optimization/28187] [4.1/4.2 Regression] '-O2 -fwrapv' exhausts memory.
2006-06-28 12:46 [Bug other/28187] New: '-O2 -fwrapv' exhausts memory pluto at agmk dot net
` (5 preceding siblings ...)
2006-07-05 15:20 ` rguenth at gcc dot gnu dot org
@ 2006-07-05 16:09 ` rguenth at gcc dot gnu dot org
2006-07-06 6:45 ` patchapp at dberlin dot org
` (4 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2006-07-05 16:09 UTC (permalink / raw)
To: gcc-bugs
------- Comment #7 from rguenth at gcc dot gnu dot org 2006-07-05 16:09 -------
VRP relies on pointer equivalence in update_value_range, but we get
(gdb) call debug_generic_expr (var)
windowD.1282_5
(gdb) print *old_vr
$11 = {type = VR_RANGE, min = 0xb7ce93c0, max = 0xb7cf0678, equiv = 0x88c69a0}
(gdb) print *new_vr
$12 = {type = VR_RANGE, min = 0xb7ce93c0, max = 0xb7cf072c, equiv = 0x88c6cec}
(gdb) call debug_generic_expr (old_vr->max)
lastD.1278_7 + -1
(gdb) call debug_generic_expr (new_vr->max)
lastD.1278_7 + -1
so, the fix is to use operand_equal_p here.
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|unassigned at gcc dot gnu |rguenth at gcc dot gnu dot
|dot org |org
Status|NEW |ASSIGNED
Last reconfirmed|2006-07-05 15:06:20 |2006-07-05 16:09:34
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28187
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug tree-optimization/28187] [4.1/4.2 Regression] '-O2 -fwrapv' exhausts memory.
2006-06-28 12:46 [Bug other/28187] New: '-O2 -fwrapv' exhausts memory pluto at agmk dot net
` (6 preceding siblings ...)
2006-07-05 16:09 ` rguenth at gcc dot gnu dot org
@ 2006-07-06 6:45 ` patchapp at dberlin dot org
2006-07-07 12:32 ` rguenth at gcc dot gnu dot org
` (3 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: patchapp at dberlin dot org @ 2006-07-06 6:45 UTC (permalink / raw)
To: gcc-bugs
------- Comment #8 from patchapp at dberlin dot org 2006-07-06 06:45 -------
Subject: Bug number PR28187
A patch for this bug has been added to the patch tracker.
The mailing list url for the patch is
http://gcc.gnu.org/ml/gcc-patches/2006-07/msg00195.html
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28187
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug tree-optimization/28187] [4.1/4.2 Regression] '-O2 -fwrapv' exhausts memory.
2006-06-28 12:46 [Bug other/28187] New: '-O2 -fwrapv' exhausts memory pluto at agmk dot net
` (7 preceding siblings ...)
2006-07-06 6:45 ` patchapp at dberlin dot org
@ 2006-07-07 12:32 ` rguenth at gcc dot gnu dot org
2006-07-07 12:34 ` rguenth at gcc dot gnu dot org
` (2 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2006-07-07 12:32 UTC (permalink / raw)
To: gcc-bugs
------- Comment #9 from rguenth at gcc dot gnu dot org 2006-07-07 12:32 -------
Subject: Bug 28187
Author: rguenth
Date: Fri Jul 7 12:31:29 2006
New Revision: 115255
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=115255
Log:
2006-07-07 Richard Guenther <rguenther@suse.de>
PR tree-optimization/28187
* tree-vrp.c (vrp_operand_equal_p): New function.
(vrp_bitmap_equal_p): Likewise.
(update_value_range): Use them to compare old and new
max and min values.
* gcc.dg/pr28187.c: New testcase.
Added:
trunk/gcc/testsuite/gcc.dg/pr28187.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-vrp.c
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28187
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug tree-optimization/28187] [4.1/4.2 Regression] '-O2 -fwrapv' exhausts memory.
2006-06-28 12:46 [Bug other/28187] New: '-O2 -fwrapv' exhausts memory pluto at agmk dot net
` (8 preceding siblings ...)
2006-07-07 12:32 ` rguenth at gcc dot gnu dot org
@ 2006-07-07 12:34 ` rguenth at gcc dot gnu dot org
2006-07-12 9:26 ` rguenth at gcc dot gnu dot org
2006-07-12 9:26 ` rguenth at gcc dot gnu dot org
11 siblings, 0 replies; 13+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2006-07-07 12:34 UTC (permalink / raw)
To: gcc-bugs
------- Comment #10 from rguenth at gcc dot gnu dot org 2006-07-07 12:34 -------
Fixed on the mainline. pinskia, can you verify that as of comment #2 with the
reduced and/or the original testcase? Thanks.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28187
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug tree-optimization/28187] [4.1/4.2 Regression] '-O2 -fwrapv' exhausts memory.
2006-06-28 12:46 [Bug other/28187] New: '-O2 -fwrapv' exhausts memory pluto at agmk dot net
` (9 preceding siblings ...)
2006-07-07 12:34 ` rguenth at gcc dot gnu dot org
@ 2006-07-12 9:26 ` rguenth at gcc dot gnu dot org
2006-07-12 9:26 ` rguenth at gcc dot gnu dot org
11 siblings, 0 replies; 13+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2006-07-12 9:26 UTC (permalink / raw)
To: gcc-bugs
------- Comment #11 from rguenth at gcc dot gnu dot org 2006-07-12 09:25 -------
Subject: Bug 28187
Author: rguenth
Date: Wed Jul 12 09:25:40 2006
New Revision: 115366
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=115366
Log:
2006-07-12 Richard Guenther <rguenther@suse.de>
PR tree-optimization/28187
* tree-vrp.c (vrp_operand_equal_p): New function.
(vrp_bitmap_equal_p): Likewise.
(update_value_range): Use them to compare old and new
max and min values.
* gcc.dg/pr28187.c: New testcase.
Added:
branches/gcc-4_1-branch/gcc/testsuite/gcc.dg/pr28187.c
Modified:
branches/gcc-4_1-branch/gcc/ChangeLog
branches/gcc-4_1-branch/gcc/testsuite/ChangeLog
branches/gcc-4_1-branch/gcc/tree-vrp.c
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28187
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug tree-optimization/28187] [4.1/4.2 Regression] '-O2 -fwrapv' exhausts memory.
2006-06-28 12:46 [Bug other/28187] New: '-O2 -fwrapv' exhausts memory pluto at agmk dot net
` (10 preceding siblings ...)
2006-07-12 9:26 ` rguenth at gcc dot gnu dot org
@ 2006-07-12 9:26 ` rguenth at gcc dot gnu dot org
11 siblings, 0 replies; 13+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2006-07-12 9:26 UTC (permalink / raw)
To: gcc-bugs
------- Comment #12 from rguenth at gcc dot gnu dot org 2006-07-12 09:26 -------
Fixed.
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution| |FIXED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28187
^ permalink raw reply [flat|nested] 13+ messages in thread