------- Comment #2 from jakub at gcc dot gnu dot org 2010-03-11 12:53 ------- The problem is that with early inlining, method (&inst, 24) call is inlined into call function, then at the end of einline during arrg3 and min vars in call are removed as unused locals by remove_unused_locals (the inline asm uses 24 directly, so arrg3 is only referenced in DEBUG stmts, not sure why min didn't have any DEBUG stmts even generated). Then when in the normal inliner call is inlined into main, both arrg3 and min are non-localized because their var_ann is NULL. And for non-localized vars dwarf2out isn't able to find the dwarf2out_var_location tracked values.
-- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43329