Hi, I'd like to get an explanation why ifcvt.c checks whether 1 of the 2 successors of the IF-header block has a stmt that exits from the loop? Why does it prevent the if-conversion? I'm referring to the following code:
/* Nor exit the loop. */ if ((then_edge->flags & EDGE_LOOP_EXIT) || (else_edge->flags & EDGE_LOOP_EXIT)) return NULL; Thanks, Tehila.