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

            Bug ID: 57993
           Summary: ICE: verify_ssa failed (definition in block n does not
                    dominate use in block m)
           Product: gcc
           Version: 4.9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: antoine.balestrat at gmail dot com

Hello !
I'm using GCC 4.9.0 as of 20130726 :

$ cat dom.c
int a, b, c, d;
char e;
unsigned g;

void f(void)
{
    int h;

    for(; d; d++)
        if(d)
lbl:
            g + a || (d = 0);

    b && (a = e);

    for(h = 0; h < 1; ++h)
    {
        h = c ? : (d = 0);
        g = a = (e | 0);
    }

    if(a)
        goto lbl;

    a = e = 0;
    goto lbl;
}

$ xgcc -w -O2 dom.c
dom.c: In function ‘f’:
dom.c:5:6: error: definition in block 11 does not dominate use in block 10
 void f(void)
      ^
for SSA_NAME: pretmp_51 in statement:
slsr_41 = PHI <pretmp_51(10), pretmp_51(9)>
PHI argument
pretmp_51
for PHI node
slsr_41 = PHI <pretmp_51(10), pretmp_51(9)>
dom.c:5:6: internal compiler error: verify_ssa failed
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.

Reply via email to