<div dir="ltr"><div>Hi Jeremy,</div><div><br></div><div>>There's a helper function "findDbgValues" in<br>
>llvm/lib/Transforms/Utils/Local.cpp which should do exactly what you<br>
>want, producing a collection of dbg.value intrinsics for a given<br>
>Value.</div><div><br></div><div>Thanks a lot! This function does exactly what I need.<br></div><div></div><div><br></div><div>Best regards,</div><div><br></div><div><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr">José Wesley de Souza Magalhães<div>Mestrando em Ciência da Computação</div><div>Belo Horizonte/MG - Brasil</div></div></div></div></div></div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Em seg., 2 de nov. de 2020 às 06:49, Jeremy Morse <<a href="mailto:jeremy.morse.llvm@gmail.com">jeremy.morse.llvm@gmail.com</a>> escreveu:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi José,<br>
<br>
On Thu, Oct 29, 2020 at 2:41 PM José Wesley Magalhães via llvm-dev<br>
<<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>> wrote:<br>
> If I iterate over the users of the value %2 (line 92), I cannot get the<br>
> debug instruction at line 94. Knowing that the value is used by metadata,<br>
> (method isUsedByMetadata returns true), is it possible to get the debug intrinsic<br>
> that uses value %2? Or this does not configure a Use of %2?<br>
<br>
There's a helper function "findDbgValues" in<br>
llvm/lib/Transforms/Utils/Local.cpp which should do exactly what you<br>
want, producing a collection of dbg.value intrinsics for a given<br>
Value.<br>
<br>
If you need to do something more complicated: as that function shows<br>
the extra step you're missing is calling MetadataAsValue::getIfExists.<br>
As far as I understand it, by design there's no mapping back from one<br>
metadata node to its users: debug info metadata hangs everything off a<br>
unique MetadataAsValue and tries to look it up directly. Value users<br>
of MetadataAsValue can then be looked up in the usual way.<br>
<br>
--<br>
Thanks,<br>
Jeremy<br>
</blockquote></div>