[LLVMdev] Source file information.

Devang Patel devang.patel at gmail.com
Thu Jul 9 10:47:11 PDT 2009

Hi David,

On Thu, Jul 9, 2009 at 10:26 AM, David Greene<dag at cray.com> wrote:
> On Thursday 09 July 2009 10:01, John Criswell wrote:
>> Dear All,
>> To add to this, what you want to do is find the appropriate debug stop
>> point intrinsic and then use it to look up the information for that
>> instruction.
> Ick.  So line number information is only available at debug stop points?
> That's bad when compiling optimized code since the debug stops kill
> optimization, don't they?

We worked hard to avoid this. Now if a debug stop point threatens to
kill optimization then the llvm optimizer will kill the debug stop
point itself! We have updated optimizer in all cases we could find.
(Try running nightly tester using TEST=dbgopt and TEST=ipodbgopt and
report failures.) However this means, in optimized code you may lose
location info here and there.

> We have our own privately-maintained way of tracking line information even
> in optimized code but it's a big hack and not something suitable for
> pushing upstream.

Would it be possible to describe the work here ?

> I thought I saw something on the list recently about someone working on
> integrating line number information directly into LLVM Instructions, SDNodes,
> MachineInstructions, etc.  Am I mis-remembering?  If not, what's the status
> of that?  We'd like to switch over to a proper scheme if we can.

Now, each MI has line number info. The work is in progress to put
debug info into LLVM instructions. The first step is to move away from
all those pesky llvm.dbg.* GVs and use metadata.


More information about the llvm-dev mailing list