[cfe-users] Get Source Location details from IR code (Function Pass)

David Blaikie via cfe-users cfe-users at lists.llvm.org
Sun Jan 17 11:20:20 PST 2021


Not sure I understand the question - llvm.dbg.declare can be
queried/examined/etc through the usual LLVM IR APIs, yes - it's an
intrinsic call, with operands, etc. It's a DbgVariableIntrinsic (
https://llvm.org/doxygen/classllvm_1_1DbgVariableIntrinsic.html ) you
can interrogate for information.

On Fri, Jan 15, 2021 at 7:17 PM Bella V <bellavistaghome at gmail.com> wrote:
>
> Thank you. Also Is there a pragmatically way to access the metadata info for local variables within the llvm.dbg.declare.
> ( llvm::Value does not have local variables).
>
> On Tue, Jan 12, 2021 at 1:55 PM David Blaikie <dblaikie at gmail.com> wrote:
>>
>> You'd have to get IR from somewhere that has attached debug info - such as clang -g
>>
>> On Tue, Jan 12, 2021 at 1:22 PM Bella V <bellavistaghome at gmail.com> wrote:
>>>
>>> Do we have to initially attach some metadata to the Value? Because in function pass, when I do F.getAllMetadata(MDs), i do not see any metadata appending to MDS.
>>> F.hasMetadata() also returns false. What would be the way to get debugLoc in these scenario?
>>>
>>> Thanks and Regards.
>>>
>>> On Mon, Jan 11, 2021 at 6:31 PM David Blaikie <dblaikie at gmail.com> wrote:
>>>>
>>>>
>>>>
>>>> On Mon, Jan 11, 2021 at 4:33 PM Ayush Mittal via cfe-users <cfe-users at lists.llvm.org> wrote:
>>>>>
>>>>> Hello Cfe Users,
>>>>>
>>>>> Could you please point to an effective way to get Source Location details from an IR code.
>>>>> From the documentation, I think this could be a way:
>>>>> Function Pass-> LLVM Value-> MDN->DILocation-> Source Location.
>>>>
>>>>
>>>> Yep, that's about it (I mean, you can do it in a pass, or not - but  yes, find an llvm::Value and get the debugLoc from that)
>>>>
>>>>>
>>>>> Please include any example if the above approach is correct too.
>>>>>
>>>>> Thanks and Regards.
>>>>> _______________________________________________
>>>>> cfe-users mailing list
>>>>> cfe-users at lists.llvm.org
>>>>> https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-users


More information about the cfe-users mailing list