[llvm-dev] Metadata/DebugInfo in *.ll file (original) (raw)

via llvm-dev llvm-dev at lists.llvm.org
Mon Jan 14 07:48:59 PST 2019


I believe the only thing you can add directly to an Instruction is the source location (via setDebugLoc, not setMetadata). All other instruction-related debug info is currently conveyed by debug-info intrinsics, and the association is by one of the intrinsic operands being the Instruction. Is this for a front-end? Typically front-ends only add dbg.declare intrinsics, which are attached to the alloca for the relevant variable. --paulr

From: llvm-dev [mailto:llvm-dev-bounces at lists.llvm.org] On Behalf Of Norbert Dajka via llvm-dev Sent: Monday, January 14, 2019 9:26 AM To: llvm-dev at lists.llvm.org Subject: [llvm-dev] Metadata/DebugInfo in *.ll file

Hi list,

I found relevant documentation regarding DebugInfo creation in the LLVM IR bytecode. It can be done for compileunits, functions, and other constructs, with the help of DIBuilder class. However I can't save debug information related to individual llvm::Instructions. I tried DebugLoc, DILocation setting directly with setMetadata(). I tried other ways, for e.g.: insertDbgValueIntrinsic(). If I set invalid parameters for the call, then the LLVM passes warn me, correctly, so at least I see in the log, that LLVM tries to assign debuginfo to given instruction. If however I set valid parameters, then I suppose, that the passes drop the debuginfo related to an Instruction. Do you know a surefire way to avoid the drop of instruction related debuginfo?

Thanks for your time, Norbert -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190114/1c7efaab/attachment.html>



More information about the llvm-dev mailing list