[LLVMdev] Source file information.

John Criswell criswell at cs.uiuc.edu
Thu Jul 9 08:34:29 PDT 2009


Aaron Gray 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.
>
> Here is some sample code from SAFECode that finds the debug information
> associated with a CallInst (LLVM call instruction) held in the variable
> CI.  It uses the findStopPoint() function in llvm/Analyis/DebugInfo.h:
>
>   //
>   // Get the line number and source file information for the call.
>   //
>   const DbgStopPointInst * StopPt = findStopPoint (CI);
>   Value * LineNumber;
>   Value * SourceFile;
>   if (StopPt) {
>     LineNumber = StopPt->getLineValue
>     SourceFile = StopPt->getFileName();
>   }
>
> -- John T.
>
> Hi John,
>
> What I am after is to be able to emit line number information for COFF 
> (Common Object File Format) object module files, basically it comes down to 
> paired line numbers and virtual address offsets.
>
> I have not really set out to look at this yet, just feeling ahead, and was 
> prompted by Saman's question to have a look.
>
> So any pointers or help are most welcome,
>
> Aaron
>   
So you are digging into the code generator issues.  That's beyond my ken.

The original question seemed to be interested in getting debug
information corresponding to an LLVM instruction at the LLVM IR level. 
That's what the code above does.  In your case, you need additional
information about what the code generator is doing.  Unfortunately, I
can't help you with that, but hopefully someone else can.

Sorry.

-- John T.

>
> Török Edwin wrote:
>   
>> On 2009-07-09 11:17, Aaron Gray wrote:
>>
>>     
>>>>> -----Original Message-----
>>>>> From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu]
>>>>>
>>>>>
>>>>>           
>>>> On
>>>>
>>>>
>>>>         
>>>>> Behalf Of Saman Aliari Zonouz
>>>>> Sent: Thursday, July 09, 2009 11:44 AM
>>>>> To: llvmdev at cs.uiuc.edu
>>>>> Subject: [LLVMdev] Source file information.
>>>>>
>>>>> Hi,
>>>>>
>>>>> I am new to LLVM, and need to find the line number and cpp source file
>>>>> name for each instruction in a .bc file. I suppose llvm debugger might
>>>>> have that feature but there is no documentation on it. Would you
>>>>>
>>>>>
>>>>>           
>>>> please
>>>>
>>>>
>>>>         
>>>>> give me some help how to do it?
>>>>>
>>>>>
>>>>>
>>>>>           
>>>> Compile the original .cpp file with clang -g option.
>>>> The file/line is maintained in SDNodes with DebugLoc field.
>>>>
>>>>
>>>>         
>>> Can you also get this information in LLVM ?
>>>
>>>
>>>       
>> See Analysis/DebugInfo.h, and opt -print-dbginfo for an example of how
>> to use it.
>>
>>     
>>> And what about with llvm-gcc ?
>>>
>>>
>>>       
>> Yes, if compiled with -g.
>>
>> Best regards,
>> --Edwin
>> _______________________________________________
>> LLVM Developers mailing list
>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>>
>>     
>
>
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev 
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>   






More information about the llvm-dev mailing list