[llvm-dev] how to add the location debug info for each instruction

Adrian Prantl via llvm-dev llvm-dev at lists.llvm.org
Tue Nov 3 09:21:50 PST 2015


> On Nov 3, 2015, at 8:26 AM, Hui Zhang via llvm-dev <llvm-dev at lists.llvm.org> wrote:
> 
> Hello,
> 
> For some reason,  I have to stick on llvm 3.3 for a language compiler, I find that the location debug info is attached to each instruction using !dbg, however, I found some of that information is mis-attched and need to be changed, so I want to know what functions(I checked all funcs in DIBuilder.h but didn't find a appropriate one) are used to attach those !dbg nodes to each instruction ? It would be even better if you can points to the places that clang uses to create those nodes.
> 

Have a look at IRBuilder instead:

void 	SetCurrentDebugLocation <http://llvm.org/doxygen/classllvm_1_1IRBuilderBase.html#a63fc74646456a3bed261512f21efe29c> (DebugLoc <http://llvm.org/doxygen/classllvm_1_1DebugLoc.html> L)
 	Set location information used by debugging information.   <http://llvm.org/doxygen/classllvm_1_1IRBuilderBase.html#a63fc74646456a3bed261512f21efe29c>
const <http://llvm.org/doxygen/AArch64PromoteConstant_8cpp.html#a90f8350fecae261c25be85d38b451bff> DebugLoc <http://llvm.org/doxygen/classllvm_1_1DebugLoc.html> & 	getCurrentDebugLocation <http://llvm.org/doxygen/classllvm_1_1IRBuilderBase.html#a2514366416ab188b68243c19a765603e> () const <http://llvm.org/doxygen/AArch64PromoteConstant_8cpp.html#a90f8350fecae261c25be85d38b451bff>
 	Get location information used by debugging information. 

-- adrian

PS: Isn’t it nice how we consistently name accessor functions?

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20151103/a9113c70/attachment.html>


More information about the llvm-dev mailing list