[llvm-dev] Retrieving DbgInfoIntrinsics for a given value

Reid Kleckner via llvm-dev llvm-dev at lists.llvm.org
Mon Nov 27 15:21:51 PST 2017


Check out llvm::findDbgValues:

void llvm::findDbgValues(SmallVectorImpl<DbgValueInst *> &DbgValues, Value
*V) {
  if (auto *L = LocalAsMetadata::getIfExists(V))
    if (auto *MDV = MetadataAsValue::getIfExists(V->getContext(), L))
      for (User *U : MDV->users())
        if (DbgValueInst *DVI = dyn_cast<DbgValueInst>(U))
          DbgValues.push_back(DVI);
}

Basically, there is a DenseMap of all values used by debug intrinsics in
the LLVM context.

On Wed, Nov 22, 2017 at 1:29 PM, Hongbin Zheng via llvm-dev <
llvm-dev at lists.llvm.org> wrote:

> Hi LLVM,
>
> If I have an llvm value "<16 x float> addrspace(1)* %in", and in the LLVM
> IR, there is a @llvm.dbg.value like:
>
> call void @llvm.dbg.value(metadata <16 x float> addrspace(1)* %in, i64 0,
> metadata !216, metadata !28), !dbg !217
>
> How I can retrieve this @llvm.dbg.value when I have "%in"?
>
> Since Metadata is not a part of the uselist anymore, is there some way
> rather than iterate over every instructions in the function to get this
> @llvm.dbg.value?
>
> Thanks
> Hongbin
>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20171127/bdf398ce/attachment.html>


More information about the llvm-dev mailing list