[llvm-dev] Canonical representation for empty lists in debug info metadata

David Blaikie via llvm-dev llvm-dev at lists.llvm.org
Fri Aug 21 13:39:43 PDT 2015

While checking for serialization/deserialization without using pointee
types, I've come across a few test cases that crash at head, without my
debugging assertions for accessing pointee types.

One of them is test/Transforms/StripSymbols/2010-06-30-StripDebug.ll

Its retainedTypes metadata points to a metadata array of a single null

This crashes the dyn_cast (because it's not a dyn_cast_or_null)

Do you have a preferred/canonical representation intended in this case - an
extant, but zero-length list, or no list at all? I tend to prefer no list
at all, just because it simplifies reading of the debug info. Rather than
seeing a "retainedTypes" property, following it to the metadata, only to
find it's zero-length?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150821/7dd1eec1/attachment.html>

More information about the llvm-dev mailing list