[Bug tree-optimization/28187] [4.1/4.2 Regression] '-O2 -fwrapv' exhausts memory.

2006-07-12 Thread rguenth at gcc dot gnu dot org


--- 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



[Bug tree-optimization/28187] [4.1/4.2 Regression] '-O2 -fwrapv' exhausts memory.

2006-07-12 Thread rguenth at gcc dot gnu dot org


--- 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  <[EMAIL PROTECTED]>

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



[Bug tree-optimization/28187] [4.1/4.2 Regression] '-O2 -fwrapv' exhausts memory.

2006-07-07 Thread rguenth at gcc dot gnu dot org


--- 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



[Bug tree-optimization/28187] [4.1/4.2 Regression] '-O2 -fwrapv' exhausts memory.

2006-07-07 Thread rguenth at gcc dot gnu dot org


--- 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  <[EMAIL PROTECTED]>

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



[Bug tree-optimization/28187] [4.1/4.2 Regression] '-O2 -fwrapv' exhausts memory.

2006-07-05 Thread patchapp at dberlin dot org


--- 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



[Bug tree-optimization/28187] [4.1/4.2 Regression] '-O2 -fwrapv' exhausts memory.

2006-07-05 Thread rguenth at gcc dot gnu dot org


--- 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



[Bug tree-optimization/28187] [4.1/4.2 Regression] '-O2 -fwrapv' exhausts memory.

2006-07-05 Thread rguenth at gcc dot gnu dot org


--- 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



[Bug tree-optimization/28187] [4.1/4.2 Regression] '-O2 -fwrapv' exhausts memory.

2006-07-05 Thread rguenth at gcc dot gnu dot org


--- Comment #5 from rguenth at gcc dot gnu dot org  2006-07-05 15:12 ---
Visiting statement:
window_6 = ASSERT_EXPR ;



)
  (res = scev_not_known))
Found new range for window_6: [-INF, last_7 + -1]

Simulating statement (from ssa_edges): last_50 = ASSERT_EXPR ;

Visiting statement:
last_50 = ASSERT_EXPR ;



  (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



[Bug tree-optimization/28187] [4.1/4.2 Regression] '-O2 -fwrapv' exhausts memory.

2006-07-05 Thread rguenth at gcc dot gnu dot org


--- 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|-00-00 00:00:00 |2006-07-05 15:06:20
   date||


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



[Bug tree-optimization/28187] [4.1/4.2 Regression] '-O2 -fwrapv' exhausts memory.

2006-07-05 Thread rguenth at gcc dot gnu dot org


--- 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



[Bug tree-optimization/28187] [4.1/4.2 Regression] '-O2 -fwrapv' exhausts memory.

2006-06-28 Thread pinskia at gcc dot gnu dot org


--- 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