[llvm-dev] Get the Metadata User of a Value

José Wesley Magalhães via llvm-dev llvm-dev at lists.llvm.org
Thu Oct 29 07:41:07 PDT 2020


Dear LLVM devs,

I'm working on a project in which I need to associate some Values with LLVM
Debug Info.
LLVM provides methods to easily iterate over both def-use and use-def chains
of a Value, but I'm having a problem when some of these Users is a debug
intrisic.

I have the following situation

92 %call.i = tail call noalias dereferenceable_or_null(16) i8* @malloc(i64
16) #3, !dbg !90
93 %2 = bitcast i8* %call.i to %struct.Node*, !dbg !86
94 call void @llvm.dbg.value(metadata %struct.Node* %2, metadata !24,
metadata !DIExpression()) #3, !dbg !89

If I iterate over the users of the value %2 (line 92), I cannot get the
debug instruction at line 94. Knowing that the value is used by metadata,
(method isUsedByMetadata returns true), is it possible to get the debug
intrinsic
that uses value %2? Or this does not configure a Use of %2?

Any help would be appreciated.

Best regards,

José Wesley de Souza Magalhães
MSc Student in Computer Science
Federal University of Minas Gerais - Brazil
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20201029/ad15efa4/attachment.html>


More information about the llvm-dev mailing list