public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug other/28187]  New: '-O2 -fwrapv' exhausts memory.
@ 2006-06-28 12:46 pluto at agmk dot net
  2006-06-28 13:22 ` [Bug other/28187] " pluto at agmk dot net
                   ` (11 more replies)
  0 siblings, 12 replies; 13+ messages in thread
From: pluto at agmk dot net @ 2006-06-28 12:46 UTC (permalink / raw)
  To: gcc-bugs

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 2169 bytes --]

[ i486 ]
gcc -O2 -fno-strict-aliasing -fwrapv -march=i486 -ggdb -DHAVE_POSIX_REGCOMP
    -c -o fetch.o fetch.c
cc1: out of memory allocating 4064 bytes after a total of 1292098548 bytes

[ powerpc ]
gcc -O2 -fno-strict-aliasing -fwrapv -fsigned-char -ggdb -DHAVE_POSIX_REGCOMP
    -c -o fetch.o fetch.c
cc: Internal error: Killed (program cc1)



flags to reporduce bug: '-O2 -fwrapv -march=i486'
note that e.g. with -march=i686 it works fine.

(gdb) bt
#0  0x00000000006bd510 in ggc_alloc_stat ()
#1  0x00000000006a3e14 in make_node_stat ()
#2  0x00000000006a6c76 in build2_stat ()
#3  0x0000000000562056 in fold_build2_stat ()
#4  0x000000000055c83c in fold_binary ()
#5  0x0000000000562040 in fold_build2_stat ()
#6  0x00000000006c5adf in extract_range_from_assert ()
#7  0x00000000006c6dcb in extract_range_from_expr ()
#8  0x00000000006c9e9e in vrp_visit_assignment ()
#9  0x00000000006cabfd in vrp_visit_stmt ()
#10 0x00000000004a08f8 in simulate_stmt ()
#11 0x00000000004a0bfa in process_ssa_edge_worklist ()
#12 0x00000000004a1916 in ssa_propagate ()
#13 0x00000000006cc3a4 in execute_vrp ()
#14 0x00000000006c0199 in execute_one_pass ()
#15 0x00000000006c022c in execute_pass_list ()
#16 0x00000000006c0240 in execute_pass_list ()
#17 0x000000000045d12e in tree_rest_of_compilation ()
#18 0x000000000040cac3 in c_expand_body ()
#19 0x00000000006fa50f in cgraph_expand_function ()
#20 0x00000000006fa646 in cgraph_expand_all_functions ()
#21 0x00000000006faa6b in cgraph_optimize ()
#22 0x000000000040debf in c_write_global_declarations ()
#23 0x00000000006a2419 in compile_file ()
#24 0x00000000006a38ed in do_compile ()
#25 0x00000000006a394e in toplev_main ()
#26 0x000000000044a601 in main ()


-- 
           Summary: '-O2 -fwrapv' exhausts memory.
           Product: gcc
           Version: 4.1.2
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: other
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: pluto at agmk dot net
 GCC build triplet: 486, powerpc
  GCC host triplet: 486, powerpc
GCC target triplet: 486, powerpc


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


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

* [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 #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

* [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 #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

end of thread, other threads:[~2006-07-12  9:26 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
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
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
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
2006-07-12  9:26 ` rguenth at gcc dot gnu dot org
2006-07-12  9:26 ` rguenth at gcc dot gnu dot 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).