Bryce McKinlay writes:
On May 1, 2004, at 9:41 AM, Andrew Haley wrote:
The last time I investigated this, some of the optimizers (CSE?
loop?) were replacing one variable with another. This doesn't
change the semantics of the program but the new variable is no
longer marked as a user variable and doesn't carry debug info.
Lets make sure there is a PR on this. We shouldn't have to recompile
just to debug.
Well, it's been like that for a long while, and AFAIK it's a hard
problem. In theory you can generate DWARF expressions that allow you
to calculate what a variable would be if the code were not optimized,
but in the general case it's impossible. After all, the "as if" rule
allows the compiler completely to rewrite a program.