http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59519
--- Comment #11 from Jakub Jelinek <jakub at gcc dot gnu.org> --- I've tried even: struct S { int f0; } d; int a[8] = { 0 }, b, c, e, f; void foo (void) { for (; e < 1; e++) { for (b = 0; b < 7; b++) { c |= (a[b + 1] != 0); if (d.f0) break; } f += b; } } where I've hoped get_current_def would be called on the problematic loop_arg, but apparently it isn't (the only calls are the one changed in the patch).