http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55467
--- Comment #9 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-11-27 09:27:06 UTC --- Created attachment 28789 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=28789 gcc48-pr55467.patch The following patch tweaks the testcases to have explicit dependency between the two asms and use NOP from nop.h. Additionally it adds two modified testcases, which contain volatile asm everywhere but on the first occurrence in foo. That shouldn't cause any debug info degradation, some information will be lost after the volatile asm, but the breakpoint is still where the information should be present. But it seems e.g. on i686-linux, all the arg[1-7] vars lose their locations already much earlier, on the fp setter instruction. I've tracked it down to cselib_reset_table not actually resetting the REG/MEM locations in the table for values that aren't dropped completely from the hash table.