This patch prevent the the loop interchanging when the affine load result is the branch condtions.
In the following case, the loop interchange will change store order of the global variable.
char b[][8] = {{}, {}, {}, {}, {5}, {}, 2, 3};
int c, d;
short e;
static char f() {
for (; c <= 7; c++) { d = 4; for (; d; d--) b[d + 2][c] && (e = b[d][0]); }
}
We forbid these cases when control flow depends on the affine load value.