http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48826
--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-05-04 14:10:20 UTC --- Most probably the backend is reordering insns after var-tracking, it shouldn't be doing that. ARM/SH/S390 backends all have fixed similar bugs very quickly after this patch went in.