LowerDbgDeclare results in redeclaration of local variable

Hi All,

Due to ‘LowerDbgDeclare’ call ( as part of ‘instruction combining’ optimization), a local variable gets declared and initialized inside the basic blocks it is used in.
Is there anyway I can avoid this ?

This is with reference with my previous question.
http://lists.cs.uiuc.edu/pipermail/llvmdev/2013-April/061644.html

Regards,
Pankaj

There was a patch committed the other day that should, at least, work
around some of the behavior you describe. Optimized debug info is an
area that's being worked on in ToT and previous releases are
particularly bad. I'd use that.

-eric

Hi Eric,

Thanks for patch information. I have checked the patch with my code and I see that it works.
But when I extract the variable and check the metadata information to retrieve the scope information,
I do not get exact scope, after optimization.
As you said that this is a work in progress, so can we expect full version on this in llvm3.3 release ?

Regards,
Pankaj

Adrian committed that patch and I'm not quite sure what's going on,
though if you file a bug with your example and cc both of us I'm sure
one of us will take a look.

-eric