[LLVMdev] LTO type uniquing: ODR assertion failure
Manman Ren
manman.ren at gmail.com
Mon Jul 14 11:32:16 PDT 2014
We still have access to types via MDNodes directly and the assertion that
assumes all accesses to DITypes are accessing the resolved DIType will fire
i.e assert(Ty == resolve(Ty.getRef()))
One example is the access to DIType via DIArray in SubroutineType. If all
elements in the type array are DITypes we can create a DITypeArray and use
that for SubroutineType's type array instead. But we currently have
unspecified parameter in the type array and it is not a DIType.
What are your thoughts? Suggestions are welcome.
Is it a good idea to canonicalize file names (i.e dA/B.h should be
equivalent to dA/../dA/B.h)? This will reduce the chance of having two
DITypes that should be equivalent with equivalent file names.
Thanks,
Manman
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140714/552c0418/attachment.html>
More information about the llvm-dev
mailing list