Development

NAVIGATION
CATEGORIES
REFERRENCE
LINKS
  • New: ICE in check_loop_closed_ssa_use, at tree-ssa-loop-manip.c:398

    7 answers - 777 bytes - related search similar search Add To My Delicious Add To My Stumble Upon Add To My Google Mark Add To My Facebook Add To My Digg Add To My Reddit

    // test case, compile with
    int foo1 (void);
    void foo2 (int);
    static int foo9 (int k)
    {
    return ((k == 0x00) || (k == 0x10) || (k == 0x14));
    }
    static int foo8 (int *p)
    {
    return *p;
    }
    void foo6 (int *p)
    {
    int a, b, c, d, e = 0;
    foo8 (p);
    b = 0;
    do
    {
    b++;
    a = foo1();
    }
    while (b < 3 && (!foo9 (a)));
    repeat:
    d = 3;
    do
    {
    c = foo1 ();
    if (c)
    foo1 ();
    d--;
    }
    while (c && d);
    if (c && !e)
    {
    foo2 (c);
    return;
    }
    if (!e)
    {
    e = 1;
    goto repeat;
    }
    }
    // compiler output:
    sd.i: In function 'foo6':
    sd.i:15: internal compiler error: in check_loop_closed_ssa_use, at
    tree-ssa-loop-manip.c:398
  • No.1 | | 470 bytes | |

    Additional Comments From belyshev at depni dot sinp dot msu dot ru 2005-09-11 10:39
    // another testcase, compile with

    int b;
    void foo1 (int);

    void foo (void)
    {
    int i, j, k, l;
    short v;
    for (i = 0; i < 10; i ++)
    {
    for (l = 0; l < 10; l++)
    {
    asm volatile ("\n" : "=a" (v));
    j = v;
    if (j)
    {
    k = 1;
    goto out;
    }
    }
    if (b)
    foo1 (j);
    k = 0;
    out:
    if (!k)
    return;
    }
    }
  • No.2 | | 100 bytes | |

    Additional Comments From pinskia at gcc dot gnu dot org 2005-09-11 14:31
    Confirmed a regression.
  • No.3 | | 110 bytes | |

    Additional Comments From pinskia at gcc dot gnu dot org 2005-09-11 15:23
    This is after complete unrolling.
  • No.4 | | 402 bytes | |

    Additional Comments From rakdver at gcc dot gnu dot org 2005-09-11 15:35
    Smaller testcase:

    int b;
    void foo1 (int);

    void foo (void)
    {
    int i, j, k, l;
    short v;
    for (i = 0; i < 10; i ++)
    {
    for (l = 0; l < 10; l++)
    {
    asm volatile ("\n" : "=a" (v));
    j = v;
    if (j)
    goto out;
    }
    if (b)
    foo1 (j);
    return;
    out: ;
    }
    }
  • No.5 | | 83 bytes | |

    Additional Comments From rakdver at gcc dot gnu dot org 2005-09-12 09:32
    Patch.
  • No.6 | | 381 bytes | |

    Additional Comments From cvs-commit at gcc dot gnu dot org 2005-09-13 07:33
    Subject: Bug 23817

    CVSRT:/cvs/gcc
    Module name:gcc
    Changes by:rakdver (AT) gcc (DOT) gnu.org2005-09-13 07:33:50

    Modified files:
    gcc : ChangeLog tree-cfg.c

    Log message:
    PR tree-optimize/23817
    * tree-cfg.c (tree_merge_blocks): Preserve loop closed ssa.

    Patches:
  • No.7 | | 83 bytes | |

    Additional Comments From pinskia at gcc dot gnu dot org 2005-09-13 13:46
    Fixed.

Re: New: ICE in check_loop_closed_ssa_use, at tree-ssa-loop-manip.c:398


max 4000 letters.
Your nickname that display:
In order to stop the spam: 5 + 4 =
QUESTION ON "Development"

EMSDN.COM