public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug bootstrap/26361]  New: bootstrap failure on Alpha: xgcc runs out of memory compiling libiberty/md5.c
@ 2006-02-19 13:56 falk at debian dot org
  2006-02-19 15:34 ` [Bug bootstrap/26361] " falk at debian dot org
                   ` (26 more replies)
  0 siblings, 27 replies; 28+ messages in thread
From: falk at debian dot org @ 2006-02-19 13:56 UTC (permalink / raw)
  To: gcc-bugs

% ../configure --enable-languages=c && nice make bootstrap
[...]
/src/gcc-2006.02.19/build/./prev-gcc/xgcc
-B/src/gcc-2006.02.19/build/./prev-gcc/
-B/usr/local/alphaev68-unknown-linux-gnu/bin/ -c -DHAVE_CONFIG_H -g -O2 -I.
-I../../libiberty/../include  -W -Wall -pedantic -Wwrite-strings
-Wstrict-prototypes -Wc++-compat ../../libiberty/md5.c -o md5.o
virtual memory exhausted: Cannot allocate memory
make[3]: *** [md5.o] Error 1
make[3]: Leaving directory `/src/gcc-2006.02.19/build/libiberty'

see also log at
http://buildd.debian.org/fetch.php?pkg=gcc-snapshot&arch=alpha&ver=20060218-2&stamp=1140318890&file=log

must have been introduced between 2006-02-01 and 2006-02-18


-- 
           Summary: bootstrap failure on Alpha: xgcc runs out of memory
                    compiling libiberty/md5.c
           Product: gcc
           Version: 4.2.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: bootstrap
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: falk at debian dot org
 GCC build triplet: alphaev68-linux-gnu
  GCC host triplet: alphaev68-linux-gnu
GCC target triplet: alphaev68-linux-gnu


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


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

* [Bug bootstrap/26361] bootstrap failure on Alpha: xgcc runs out of memory compiling libiberty/md5.c
  2006-02-19 13:56 [Bug bootstrap/26361] New: bootstrap failure on Alpha: xgcc runs out of memory compiling libiberty/md5.c falk at debian dot org
@ 2006-02-19 15:34 ` falk at debian dot org
  2006-02-19 15:37 ` [Bug bootstrap/26361] [4.2 regression] " pinskia at gcc dot gnu dot org
                   ` (25 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: falk at debian dot org @ 2006-02-19 15:34 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from falk at debian dot org  2006-02-19 15:34 -------
Apparently, it is triggered by the attempt to emit a stack probe, as in:

void f(char *p);

void md5_stream(void) {
    char buf[4096-15];
    f(buf);
}

(doesn't happen with 4096-16, because then no stack probe is needed).


-- 


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


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

* [Bug bootstrap/26361] [4.2 regression] bootstrap failure on Alpha: xgcc runs out of memory compiling libiberty/md5.c
  2006-02-19 13:56 [Bug bootstrap/26361] New: bootstrap failure on Alpha: xgcc runs out of memory compiling libiberty/md5.c falk at debian dot org
  2006-02-19 15:34 ` [Bug bootstrap/26361] " falk at debian dot org
@ 2006-02-19 15:37 ` pinskia at gcc dot gnu dot org
  2006-02-19 15:38 ` pinskia at gcc dot gnu dot org
                   ` (24 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-02-19 15:37 UTC (permalink / raw)
  To: gcc-bugs



-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |build, ice-on-valid-code,
                   |                            |memory-hog
            Summary|bootstrap failure on Alpha: |[4.2 regression] bootstrap
                   |xgcc runs out of memory     |failure on Alpha: xgcc runs
                   |compiling libiberty/md5.c   |out of memory compiling
                   |                            |libiberty/md5.c
   Target Milestone|---                         |4.2.0


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


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

* [Bug bootstrap/26361] [4.2 regression] bootstrap failure on Alpha: xgcc runs out of memory compiling libiberty/md5.c
  2006-02-19 13:56 [Bug bootstrap/26361] New: bootstrap failure on Alpha: xgcc runs out of memory compiling libiberty/md5.c falk at debian dot org
  2006-02-19 15:34 ` [Bug bootstrap/26361] " falk at debian dot org
  2006-02-19 15:37 ` [Bug bootstrap/26361] [4.2 regression] " pinskia at gcc dot gnu dot org
@ 2006-02-19 15:38 ` pinskia at gcc dot gnu dot org
  2006-02-19 15:57 ` falk at debian dot org
                   ` (23 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-02-19 15:38 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from pinskia at gcc dot gnu dot org  2006-02-19 15:38 -------
I wonder if this is related to at all PR 26348.


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  BugsThisDependsOn|                            |26348


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


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

* [Bug bootstrap/26361] [4.2 regression] bootstrap failure on Alpha: xgcc runs out of memory compiling libiberty/md5.c
  2006-02-19 13:56 [Bug bootstrap/26361] New: bootstrap failure on Alpha: xgcc runs out of memory compiling libiberty/md5.c falk at debian dot org
                   ` (2 preceding siblings ...)
  2006-02-19 15:38 ` pinskia at gcc dot gnu dot org
@ 2006-02-19 15:57 ` falk at debian dot org
  2006-02-19 16:30 ` pinskia at gcc dot gnu dot org
                   ` (22 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: falk at debian dot org @ 2006-02-19 15:57 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from falk at debian dot org  2006-02-19 15:57 -------
(In reply to comment #2)
> I wonder if this is related to at all PR 26348.

Probably not, because it already happens without any options (forgot to mention
that).


-- 

falk at debian dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|4.2.0                       |---


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


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

* [Bug bootstrap/26361] [4.2 regression] bootstrap failure on Alpha: xgcc runs out of memory compiling libiberty/md5.c
  2006-02-19 13:56 [Bug bootstrap/26361] New: bootstrap failure on Alpha: xgcc runs out of memory compiling libiberty/md5.c falk at debian dot org
                   ` (3 preceding siblings ...)
  2006-02-19 15:57 ` falk at debian dot org
@ 2006-02-19 16:30 ` pinskia at gcc dot gnu dot org
  2006-02-19 18:19 ` falk at debian dot org
                   ` (21 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-02-19 16:30 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from pinskia at gcc dot gnu dot org  2006-02-19 16:30 -------
[11:22] < mellum> The Alpha bootstrap bug seems to be due to
alpha_expand_prologue being miscompiled
[11:23] < mellum> there's a loop
[11:24] < mellum> for (probed = 4096; probed < frame_size; probed += 8192) {
[11:24] < mellum> fprintf(stderr, "probed = %d, frame_size = %ld\n", probed,
frame_size);
[11:24] < mellum> and this gives
[11:24] < mellum> probed = 4096, frame_size = 4112
[11:24] < mellum> probed = 12288, frame_size = 4112
[11:24] < mellum> probed = 20480, frame_size = 4112
[11:24] < mellum> etc so the loop exit isn't taken
[11:24] < mellum> does this look like a known problem?

>From that description, this looks like PR 25985.


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  BugsThisDependsOn|26348                       |25985
   Target Milestone|---                         |4.2.0


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


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

* [Bug bootstrap/26361] [4.2 regression] bootstrap failure on Alpha: xgcc runs out of memory compiling libiberty/md5.c
  2006-02-19 13:56 [Bug bootstrap/26361] New: bootstrap failure on Alpha: xgcc runs out of memory compiling libiberty/md5.c falk at debian dot org
                   ` (4 preceding siblings ...)
  2006-02-19 16:30 ` pinskia at gcc dot gnu dot org
@ 2006-02-19 18:19 ` falk at debian dot org
  2006-02-19 18:56 ` steven at gcc dot gnu dot org
                   ` (20 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: falk at debian dot org @ 2006-02-19 18:19 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from falk at debian dot org  2006-02-19 18:19 -------
The problem apparently comes from using negation on an induction variable,
in a context where widening is needed:

falk@juist:/tmp% cat alpha.c
void abort(void);
int printf(const char *format, ...);

__attribute__((noinline))
void gen_rtx_CONST_INT(long x) {
    if (-x > 10)
        abort();
}

__attribute__((noinline))
int alpha_expand_prologue(long frame_size)
{
    int probed;
    for (probed = 1; probed < frame_size; probed += 2) {
        printf("probed = %d, frame_size = %ld\n",
               probed, frame_size);
        gen_rtx_CONST_INT (-probed);
    }
}

int main(void) {
    alpha_expand_prologue(10);
    return 0;
}


falk@juist:/tmp% /src/gcc-2006.02.19/build/prev-gcc/xgcc
-B/src/gcc-2006.02.19/build/prev-gcc/ -g -O2 alpha.c && ./a.out 
probed = 1, frame_size = 10
probed = 3, frame_size = 10
probed = 5, frame_size = 10
probed = 7, frame_size = 10
probed = 9, frame_size = 10
probed = 11, frame_size = 10
zsh: abort (core dumped)  ./a.out


falk@juist:/tmp% /src/gcc-2006.02.19/build/prev-gcc/xgcc
-B/src/gcc-2006.02.19/build/prev-gcc/ -g -O2 -fno-ivopts alpha.c && ./a.out 
probed = 1, frame_size = 10
probed = 3, frame_size = 10
probed = 5, frame_size = 10
probed = 7, frame_size = 10
probed = 9, frame_size = 10


-- 


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


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

* [Bug bootstrap/26361] [4.2 regression] bootstrap failure on Alpha: xgcc runs out of memory compiling libiberty/md5.c
  2006-02-19 13:56 [Bug bootstrap/26361] New: bootstrap failure on Alpha: xgcc runs out of memory compiling libiberty/md5.c falk at debian dot org
                   ` (5 preceding siblings ...)
  2006-02-19 18:19 ` falk at debian dot org
@ 2006-02-19 18:56 ` steven at gcc dot gnu dot org
  2006-02-19 18:58 ` falk at debian dot org
                   ` (19 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: steven at gcc dot gnu dot org @ 2006-02-19 18:56 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #6 from steven at gcc dot gnu dot org  2006-02-19 18:56 -------
Also fails on AMD64.


-- 

steven 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-02-19 18:56:19
               date|                            |


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


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

* [Bug bootstrap/26361] [4.2 regression] bootstrap failure on Alpha: xgcc runs out of memory compiling libiberty/md5.c
  2006-02-19 13:56 [Bug bootstrap/26361] New: bootstrap failure on Alpha: xgcc runs out of memory compiling libiberty/md5.c falk at debian dot org
                   ` (6 preceding siblings ...)
  2006-02-19 18:56 ` steven at gcc dot gnu dot org
@ 2006-02-19 18:58 ` falk at debian dot org
  2006-02-19 19:36 ` pinskia at gcc dot gnu dot org
                   ` (18 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: falk at debian dot org @ 2006-02-19 18:58 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #7 from falk at debian dot org  2006-02-19 18:58 -------
not really ice-on-valid-code nor memory-hog, those were only due to miscompiled
xgcc


-- 

falk at debian dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|ice-on-valid-code, memory-  |
                   |hog                         |


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


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

* [Bug bootstrap/26361] [4.2 regression] bootstrap failure on Alpha: xgcc runs out of memory compiling libiberty/md5.c
  2006-02-19 13:56 [Bug bootstrap/26361] New: bootstrap failure on Alpha: xgcc runs out of memory compiling libiberty/md5.c falk at debian dot org
                   ` (7 preceding siblings ...)
  2006-02-19 18:58 ` falk at debian dot org
@ 2006-02-19 19:36 ` pinskia at gcc dot gnu dot org
  2006-02-19 22:46 ` falk at debian dot org
                   ` (17 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-02-19 19:36 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #8 from pinskia at gcc dot gnu dot org  2006-02-19 19:36 -------
This looks more related to PR 26304.


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  BugsThisDependsOn|                            |26304


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


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

* [Bug bootstrap/26361] [4.2 regression] bootstrap failure on Alpha: xgcc runs out of memory compiling libiberty/md5.c
  2006-02-19 13:56 [Bug bootstrap/26361] New: bootstrap failure on Alpha: xgcc runs out of memory compiling libiberty/md5.c falk at debian dot org
                   ` (8 preceding siblings ...)
  2006-02-19 19:36 ` pinskia at gcc dot gnu dot org
@ 2006-02-19 22:46 ` falk at debian dot org
  2006-02-20  3:11 ` roger at eyesopen dot com
                   ` (16 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: falk at debian dot org @ 2006-02-19 22:46 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #9 from falk at debian dot org  2006-02-19 22:46 -------
This bug was introduced with:

r111175 | law | 2006-02-17 05:15:32 +0100 (Fri, 17 Feb 2006) | 33 lines

        * tree-vrp.c (set_value_range_to_nonnegative): New function.
        (vrp_expr_computes_nonnegative, ssa_name_nonnegative_p): Likewise.
        (ssa_name_nonzero_p): Likewise.
        (get_value_range): Return NULL if VRP is not running.
        (extract_range_from_expr): Fallback to tree_expr_XXX_p if
        VRP routines do not discover a range.
        (vrp_finalize): Clear VR_VALUE to indicate VRP is not running.
        * tree.h (ssa_name_nonzero_p, ssa_name_nonnegative_p): Prototype.
        * fold-const.c (tree_expr_nonzero_p): For SSA_NAMEs, query VRP.
        (tree_expr_nonnegative_p): Similarly.
        * tree-ssa-dom.c (nonzero_vars, nonzero_vars_stack): Remove.
        (restore_nonzero_vars_to_original_value): Remove.
        (unsafe_associative_fp_binop): Remove.
        (tree_ssa_dominator_optimize): Remove initialization and
        finalization of nonzero_vars and nonzero_vars_stack.
        (dom_opt_initialize_block): No longer push marker on
        nonzero_vars_stack.
        (dom_opt_finalize_block): No longer call
        restore_nonzero_vars_to_original_value.
        (record_equivalences_from_phis): No longer look for
        nonzero PHI arguments.
        (cprop_into_successor_phis): No longer propagate nonzero
        property into PHI arguments.  Lose unused argument.  Caller
        updated.
        (record_equivalences_from_stmt): No longer record nonzero
        values for SSA_NAMEs.
        (lookup_avail_expr): No longer use nonzero_vars.

        * gcc.dg/tree-ssa/vrp24.c: Update expected output.
        * gcc.dg/tree-ssa/vrp26.c: New test.


-- 

falk at debian dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |law at gcc dot gnu dot org


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


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

* [Bug bootstrap/26361] [4.2 regression] bootstrap failure on Alpha: xgcc runs out of memory compiling libiberty/md5.c
  2006-02-19 13:56 [Bug bootstrap/26361] New: bootstrap failure on Alpha: xgcc runs out of memory compiling libiberty/md5.c falk at debian dot org
                   ` (9 preceding siblings ...)
  2006-02-19 22:46 ` falk at debian dot org
@ 2006-02-20  3:11 ` roger at eyesopen dot com
  2006-02-20  3:52 ` roger at eyesopen dot com
                   ` (15 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: roger at eyesopen dot com @ 2006-02-20  3:11 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #10 from roger at eyesopen dot com  2006-02-20 03:11 -------
Analyzing the code in comment #5, this looks like a bad interaction between
ivopts and vrp.  Either of -fno-ivopts or -fno-tree-vrp cures the problem.
But it looks like the output of .084t.ivopts is reasonable.


-- 

roger at eyesopen dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |roger at eyesopen dot com


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


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

* [Bug bootstrap/26361] [4.2 regression] bootstrap failure on Alpha: xgcc runs out of memory compiling libiberty/md5.c
  2006-02-19 13:56 [Bug bootstrap/26361] New: bootstrap failure on Alpha: xgcc runs out of memory compiling libiberty/md5.c falk at debian dot org
                   ` (10 preceding siblings ...)
  2006-02-20  3:11 ` roger at eyesopen dot com
@ 2006-02-20  3:52 ` roger at eyesopen dot com
  2006-02-20  4:58 ` pinskia at gcc dot gnu dot org
                   ` (14 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: roger at eyesopen dot com @ 2006-02-20  3:52 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #11 from roger at eyesopen dot com  2006-02-20 03:52 -------
Hmmm.  Looks like the problem is in .088t.vrp2....

We have
unsigned int D.1981;
unsigned int D.1982;
D.1982_9 = -D.1981_1;

D.1981_1: [0, +INF]  EQUIVALENCES: { } (0 elements)
D.1982_9: [0, 1]  EQUIVALENCES: { } (0 elements)

Seems like a bug in the interval arithmetic of NEGATE_EXPR for unsigned types.
- [0, (unsigned)-1] seems to be converted to [0, 1]!!?  I hope this helps.


-- 


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


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

* [Bug bootstrap/26361] [4.2 regression] bootstrap failure on Alpha: xgcc runs out of memory compiling libiberty/md5.c
  2006-02-19 13:56 [Bug bootstrap/26361] New: bootstrap failure on Alpha: xgcc runs out of memory compiling libiberty/md5.c falk at debian dot org
                   ` (11 preceding siblings ...)
  2006-02-20  3:52 ` roger at eyesopen dot com
@ 2006-02-20  4:58 ` pinskia at gcc dot gnu dot org
  2006-02-20  4:59 ` [Bug tree-optimization/26361] " pinskia at gcc dot gnu dot org
                   ` (13 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-02-20  4:58 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #12 from pinskia at gcc dot gnu dot org  2006-02-20 04:58 -------
Here is a testcase independent of IV-OPTs:
void abort(void);
int printf(const char *format, ...);

__attribute__((noinline))
void gen_rtx_CONST_INT(long long x) {
    if (-x > 10)
        abort();
}
__attribute__((noinline))
int alpha_expand_prologue(long frame_size)
{
    unsigned long long a;
    int probed;
    if (frame_size <= 1)  return;
    unsigned long long b = -2;
    a = -2;
    do {
        int a1 = a;
        probed = -a1;
        printf("probed = %d, frame_size = %ld\n",
               probed, frame_size);
        gen_rtx_CONST_INT (a1);
        a -= 2;
        a1 = -a;
        probed = a1;
    } while (probed < frame_size);
}

int main(void) {
    alpha_expand_prologue(10);
    return 0;
}

---------

I tried this on 4.1.0 and could not reproduce it there, though my 4.1.0 is from
20060208.


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |pinskia at gcc dot gnu dot
                   |                            |org
  BugsThisDependsOn|25985, 26304                |


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


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

* [Bug tree-optimization/26361] [4.2 regression] bootstrap failure on Alpha: xgcc runs out of memory compiling libiberty/md5.c
  2006-02-19 13:56 [Bug bootstrap/26361] New: bootstrap failure on Alpha: xgcc runs out of memory compiling libiberty/md5.c falk at debian dot org
                   ` (12 preceding siblings ...)
  2006-02-20  4:58 ` pinskia at gcc dot gnu dot org
@ 2006-02-20  4:59 ` pinskia at gcc dot gnu dot org
  2006-02-20  5:00 ` pinskia at gcc dot gnu dot org
                   ` (12 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-02-20  4:59 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #13 from pinskia at gcc dot gnu dot org  2006-02-20 04:59 -------
I forgot to mention with my reduced non ivopts depending testcase this makes
this indepenent of those two bugs.


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
          Component|bootstrap                   |tree-optimization


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


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

* [Bug tree-optimization/26361] [4.2 regression] bootstrap failure on Alpha: xgcc runs out of memory compiling libiberty/md5.c
  2006-02-19 13:56 [Bug bootstrap/26361] New: bootstrap failure on Alpha: xgcc runs out of memory compiling libiberty/md5.c falk at debian dot org
                   ` (13 preceding siblings ...)
  2006-02-20  4:59 ` [Bug tree-optimization/26361] " pinskia at gcc dot gnu dot org
@ 2006-02-20  5:00 ` pinskia at gcc dot gnu dot org
  2006-02-20  5:09 ` pinskia at gcc dot gnu dot org
                   ` (11 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-02-20  5:00 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #14 from pinskia at gcc dot gnu dot org  2006-02-20 05:00 -------
Also forgot to mention my testcase is indepenent of 64 bitness of the target.


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  GCC build triplet|alphaev68-linux-gnu         |
   GCC host triplet|alphaev68-linux-gnu         |
 GCC target triplet|alphaev68-linux-gnu         |


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


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

* [Bug tree-optimization/26361] [4.2 regression] bootstrap failure on Alpha: xgcc runs out of memory compiling libiberty/md5.c
  2006-02-19 13:56 [Bug bootstrap/26361] New: bootstrap failure on Alpha: xgcc runs out of memory compiling libiberty/md5.c falk at debian dot org
                   ` (14 preceding siblings ...)
  2006-02-20  5:00 ` pinskia at gcc dot gnu dot org
@ 2006-02-20  5:09 ` pinskia at gcc dot gnu dot org
  2006-02-20  5:11 ` pinskia at gcc dot gnu dot org
                   ` (10 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-02-20  5:09 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #15 from pinskia at gcc dot gnu dot org  2006-02-20 05:09 -------
With my reduced testcase (well s/long long/long/), we get:
  D.1552_8 = -a_7;
a_7: [0, +INF]  EQUIVALENCES: { } (0 elements)
D.1552_8: [0, 1]  EQUIVALENCES: { } (0 elements)

on the mainline, while in 4.1.0 we got:
  D.1293_8 = -a_7;
a_7: VARYING
D.1293_8: VARYING


-- 


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


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

* [Bug tree-optimization/26361] [4.2 regression] bootstrap failure on Alpha: xgcc runs out of memory compiling libiberty/md5.c
  2006-02-19 13:56 [Bug bootstrap/26361] New: bootstrap failure on Alpha: xgcc runs out of memory compiling libiberty/md5.c falk at debian dot org
                   ` (15 preceding siblings ...)
  2006-02-20  5:09 ` pinskia at gcc dot gnu dot org
@ 2006-02-20  5:11 ` pinskia at gcc dot gnu dot org
  2006-02-20 17:49 ` pinskia at gcc dot gnu dot org
                   ` (9 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-02-20  5:11 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #16 from pinskia at gcc dot gnu dot org  2006-02-20 05:11 -------
(In reply to comment #15)
> With my reduced testcase (well s/long long/long/), we get:
>   D.1552_8 = -a_7;
> a_7: [0, +INF]  EQUIVALENCES: { } (0 elements)
Shouldn't that just be marked as varying instead as a_7 is unsigned?

Likewise for the orginal testcase in this bug.


-- 


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


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

* [Bug tree-optimization/26361] [4.2 regression] bootstrap failure on Alpha: xgcc runs out of memory compiling libiberty/md5.c
  2006-02-19 13:56 [Bug bootstrap/26361] New: bootstrap failure on Alpha: xgcc runs out of memory compiling libiberty/md5.c falk at debian dot org
                   ` (16 preceding siblings ...)
  2006-02-20  5:11 ` pinskia at gcc dot gnu dot org
@ 2006-02-20 17:49 ` pinskia at gcc dot gnu dot org
  2006-02-20 20:32 ` law at redhat dot com
                   ` (8 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-02-20 17:49 UTC (permalink / raw)
  To: gcc-bugs



-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|normal                      |blocker


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


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

* [Bug tree-optimization/26361] [4.2 regression] bootstrap failure on Alpha: xgcc runs out of memory compiling libiberty/md5.c
  2006-02-19 13:56 [Bug bootstrap/26361] New: bootstrap failure on Alpha: xgcc runs out of memory compiling libiberty/md5.c falk at debian dot org
                   ` (17 preceding siblings ...)
  2006-02-20 17:49 ` pinskia at gcc dot gnu dot org
@ 2006-02-20 20:32 ` law at redhat dot com
  2006-02-20 20:35 ` pinskia at gcc dot gnu dot org
                   ` (7 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: law at redhat dot com @ 2006-02-20 20:32 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #17 from law at redhat dot com  2006-02-20 20:32 -------
Subject: Re:  [4.2 regression] bootstrap
        failure on Alpha: xgcc runs out of memory compiling libiberty/md5.c

On Mon, 2006-02-20 at 05:11 +0000, pinskia at gcc dot gnu dot org wrote:
> 
> ------- Comment #16 from pinskia at gcc dot gnu dot org  2006-02-20 05:11 -------
> (In reply to comment #15)
> > With my reduced testcase (well s/long long/long/), we get:
> >   D.1552_8 = -a_7;
> > a_7: [0, +INF]  EQUIVALENCES: { } (0 elements)
> Shouldn't that just be marked as varying instead as a_7 is unsigned?
No, because if it's marked as varying we will not use it to
refine any other VRP ranges.

jeff


-- 


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


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

* [Bug tree-optimization/26361] [4.2 regression] bootstrap failure on Alpha: xgcc runs out of memory compiling libiberty/md5.c
  2006-02-19 13:56 [Bug bootstrap/26361] New: bootstrap failure on Alpha: xgcc runs out of memory compiling libiberty/md5.c falk at debian dot org
                   ` (18 preceding siblings ...)
  2006-02-20 20:32 ` law at redhat dot com
@ 2006-02-20 20:35 ` pinskia at gcc dot gnu dot org
  2006-02-20 20:38 ` law at redhat dot com
                   ` (6 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-02-20 20:35 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #18 from pinskia at gcc dot gnu dot org  2006-02-20 20:34 -------
(In reply to comment #17)
> No, because if it's marked as varying we will not use it to
> refine any other VRP ranges.

But this is an unsigned value which is varrying.  [0, +INF] for an unsigned
value is varrying, I don't see why it would not be marked as such.


-- 


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


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

* [Bug tree-optimization/26361] [4.2 regression] bootstrap failure on Alpha: xgcc runs out of memory compiling libiberty/md5.c
  2006-02-19 13:56 [Bug bootstrap/26361] New: bootstrap failure on Alpha: xgcc runs out of memory compiling libiberty/md5.c falk at debian dot org
                   ` (19 preceding siblings ...)
  2006-02-20 20:35 ` pinskia at gcc dot gnu dot org
@ 2006-02-20 20:38 ` law at redhat dot com
  2006-02-20 20:39 ` law at redhat dot com
                   ` (5 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: law at redhat dot com @ 2006-02-20 20:38 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #19 from law at redhat dot com  2006-02-20 20:38 -------
Subject: Re:  [4.2 regression] bootstrap
        failure on Alpha: xgcc runs out of memory compiling libiberty/md5.c

On Mon, 2006-02-20 at 20:35 +0000, pinskia at gcc dot gnu dot org wrote:
> 
> ------- Comment #18 from pinskia at gcc dot gnu dot org  2006-02-20 20:34 -------
> (In reply to comment #17)
> > No, because if it's marked as varying we will not use it to
> > refine any other VRP ranges.
> 
> But this is an unsigned value which is varrying.  [0, +INF] for an unsigned
> value is varrying, I don't see why it would not be marked as such.
I understand your point, but if you look at how the simplifications
work in tree-vrp.c it's better to go ahead and give it an unsigned's
range rather than VR_VARYING.

Just like it's better to give an object the range [0, 1] if it's
a boolean.  It allows other simplifications that are not going to
take place with VR_VARYING.

While we could certain tweak all that code to look at the type's
information, it's far easier to use assign the object a range.

jeff


-- 


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


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

* [Bug tree-optimization/26361] [4.2 regression] bootstrap failure on Alpha: xgcc runs out of memory compiling libiberty/md5.c
  2006-02-19 13:56 [Bug bootstrap/26361] New: bootstrap failure on Alpha: xgcc runs out of memory compiling libiberty/md5.c falk at debian dot org
                   ` (20 preceding siblings ...)
  2006-02-20 20:38 ` law at redhat dot com
@ 2006-02-20 20:39 ` law at redhat dot com
  2006-02-20 21:07 ` roger at eyesopen dot com
                   ` (4 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: law at redhat dot com @ 2006-02-20 20:39 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #20 from law at redhat dot com  2006-02-20 20:39 -------
Subject: Re:  [4.2 regression] bootstrap failure on
        Alpha: xgcc runs out of memory compiling libiberty/md5.c

On Mon, 2006-02-20 at 03:11 +0000, roger at eyesopen dot com wrote:
> 
> ------- Comment #10 from roger at eyesopen dot com  2006-02-20 03:11 -------
> Analyzing the code in comment #5, this looks like a bad interaction between
> ivopts and vrp.  Either of -fno-ivopts or -fno-tree-vrp cures the problem.
> But it looks like the output of .084t.ivopts is reasonable.
FYI

I won't be able to look at this until tues or possibly wed depending
on where we stand with teh Ada regression.

jeff


-- 


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


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

* [Bug tree-optimization/26361] [4.2 regression] bootstrap failure on Alpha: xgcc runs out of memory compiling libiberty/md5.c
  2006-02-19 13:56 [Bug bootstrap/26361] New: bootstrap failure on Alpha: xgcc runs out of memory compiling libiberty/md5.c falk at debian dot org
                   ` (21 preceding siblings ...)
  2006-02-20 20:39 ` law at redhat dot com
@ 2006-02-20 21:07 ` roger at eyesopen dot com
  2006-02-20 21:33 ` roger at eyesopen dot com
                   ` (3 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: roger at eyesopen dot com @ 2006-02-20 21:07 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #21 from roger at eyesopen dot com  2006-02-20 21:07 -------
Created an attachment (id=10881)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=10881&action=view)
patch

I believe the following patch should resolve the problem.  Bootstrap and
regression test in progress.  The issue is that -[0,(unsigned)-1] is being
miscalculated in extract_range_from_unary_expr.  This was simply negating
the upper and lower bounds, and came up with [0,1].  If someone could double
check my logic in the attached patch, [x, y] -> [-y, -x] when x > 0, [0, 0]
-> [0, 0], and [0, y] -> varying, i.e. [0, (unsigned)-1] when y > 0.


-- 


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


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

* [Bug tree-optimization/26361] [4.2 regression] bootstrap failure on Alpha: xgcc runs out of memory compiling libiberty/md5.c
  2006-02-19 13:56 [Bug bootstrap/26361] New: bootstrap failure on Alpha: xgcc runs out of memory compiling libiberty/md5.c falk at debian dot org
                   ` (22 preceding siblings ...)
  2006-02-20 21:07 ` roger at eyesopen dot com
@ 2006-02-20 21:33 ` roger at eyesopen dot com
  2006-02-20 21:37 ` roger at eyesopen dot com
                   ` (2 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: roger at eyesopen dot com @ 2006-02-20 21:33 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #22 from roger at eyesopen dot com  2006-02-20 21:33 -------
Created an attachment (id=10882)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=10882&action=view)
revised patch

Doh!  Although the previous attachment contained the necessary logic, it had
a few typos which will complicate people's attempts to try it out.  Revised.


-- 

roger at eyesopen dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #10881|0                           |1
        is obsolete|                            |


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


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

* [Bug tree-optimization/26361] [4.2 regression] bootstrap failure on Alpha: xgcc runs out of memory compiling libiberty/md5.c
  2006-02-19 13:56 [Bug bootstrap/26361] New: bootstrap failure on Alpha: xgcc runs out of memory compiling libiberty/md5.c falk at debian dot org
                   ` (23 preceding siblings ...)
  2006-02-20 21:33 ` roger at eyesopen dot com
@ 2006-02-20 21:37 ` roger at eyesopen dot com
  2006-02-21  2:28 ` sayle at gcc dot gnu dot org
  2006-02-22  5:50 ` pinskia at gcc dot gnu dot org
  26 siblings, 0 replies; 28+ messages in thread
From: roger at eyesopen dot com @ 2006-02-20 21:37 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #23 from roger at eyesopen dot com  2006-02-20 21:37 -------
Created an attachment (id=10883)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=10883&action=view)
really revised patch

Grrr!  The previous attachment was identical to the original.  Third times a
charm (or I'll just give up an commit it once bootstrap and regtest complete!).


-- 

roger at eyesopen dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #10882|0                           |1
        is obsolete|                            |


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


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

* [Bug tree-optimization/26361] [4.2 regression] bootstrap failure on Alpha: xgcc runs out of memory compiling libiberty/md5.c
  2006-02-19 13:56 [Bug bootstrap/26361] New: bootstrap failure on Alpha: xgcc runs out of memory compiling libiberty/md5.c falk at debian dot org
                   ` (24 preceding siblings ...)
  2006-02-20 21:37 ` roger at eyesopen dot com
@ 2006-02-21  2:28 ` sayle at gcc dot gnu dot org
  2006-02-22  5:50 ` pinskia at gcc dot gnu dot org
  26 siblings, 0 replies; 28+ messages in thread
From: sayle at gcc dot gnu dot org @ 2006-02-21  2:28 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #24 from sayle at gcc dot gnu dot org  2006-02-21 02:28 -------
Subject: Bug 26361

Author: sayle
Date: Tue Feb 21 02:28:03 2006
New Revision: 111327

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=111327
Log:

        PR tree-optimization/26361
        * tree-vrp.c (extract_range_from_unary_expr): Handle NEGATE_EXPR
        of unsigned integer types.

        * gcc.dg/tree-ssa/vrp27.c: New test case.


Added:
    trunk/gcc/testsuite/gcc.dg/tree-ssa/vrp27.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/tree-vrp.c


-- 


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


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

* [Bug tree-optimization/26361] [4.2 regression] bootstrap failure on Alpha: xgcc runs out of memory compiling libiberty/md5.c
  2006-02-19 13:56 [Bug bootstrap/26361] New: bootstrap failure on Alpha: xgcc runs out of memory compiling libiberty/md5.c falk at debian dot org
                   ` (25 preceding siblings ...)
  2006-02-21  2:28 ` sayle at gcc dot gnu dot org
@ 2006-02-22  5:50 ` pinskia at gcc dot gnu dot org
  26 siblings, 0 replies; 28+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-02-22  5:50 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #25 from pinskia at gcc dot gnu dot org  2006-02-22 05:50 -------
Fixed.


-- 

pinskia at gcc dot gnu dot org changed:

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


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


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

end of thread, other threads:[~2006-02-22  5:50 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-02-19 13:56 [Bug bootstrap/26361] New: bootstrap failure on Alpha: xgcc runs out of memory compiling libiberty/md5.c falk at debian dot org
2006-02-19 15:34 ` [Bug bootstrap/26361] " falk at debian dot org
2006-02-19 15:37 ` [Bug bootstrap/26361] [4.2 regression] " pinskia at gcc dot gnu dot org
2006-02-19 15:38 ` pinskia at gcc dot gnu dot org
2006-02-19 15:57 ` falk at debian dot org
2006-02-19 16:30 ` pinskia at gcc dot gnu dot org
2006-02-19 18:19 ` falk at debian dot org
2006-02-19 18:56 ` steven at gcc dot gnu dot org
2006-02-19 18:58 ` falk at debian dot org
2006-02-19 19:36 ` pinskia at gcc dot gnu dot org
2006-02-19 22:46 ` falk at debian dot org
2006-02-20  3:11 ` roger at eyesopen dot com
2006-02-20  3:52 ` roger at eyesopen dot com
2006-02-20  4:58 ` pinskia at gcc dot gnu dot org
2006-02-20  4:59 ` [Bug tree-optimization/26361] " pinskia at gcc dot gnu dot org
2006-02-20  5:00 ` pinskia at gcc dot gnu dot org
2006-02-20  5:09 ` pinskia at gcc dot gnu dot org
2006-02-20  5:11 ` pinskia at gcc dot gnu dot org
2006-02-20 17:49 ` pinskia at gcc dot gnu dot org
2006-02-20 20:32 ` law at redhat dot com
2006-02-20 20:35 ` pinskia at gcc dot gnu dot org
2006-02-20 20:38 ` law at redhat dot com
2006-02-20 20:39 ` law at redhat dot com
2006-02-20 21:07 ` roger at eyesopen dot com
2006-02-20 21:33 ` roger at eyesopen dot com
2006-02-20 21:37 ` roger at eyesopen dot com
2006-02-21  2:28 ` sayle at gcc dot gnu dot org
2006-02-22  5:50 ` pinskia 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).