[LLVMdev] Implementing devirtualization

Vitor Luis Menezes vitor at utexas.edu
Thu Dec 8 09:56:12 PST 2011


Hello all,

Our compilers class has been using LLVM, and a partner and I decided to
implement devirtualization of virtual C++ calls in LLVM as a class project.
We quickly realized that existing debug metadata generated by Clang didn't
give us enough info to (precisely) implement this, and as such have already
begun modifying Clang to insert such metadata. However, for
devirtualization we also need to reconstruct the class hierarchy, which we
also seek to do through metadata. There appears to be sufficient metadata
to do this, but we can't seem to figure out how to actually access this
metadata and successfully reconstruct the class hierarchy. Can anyone help
with this?

We're also open to alternative approaches, but we'd like to stay in LLVM IR
as much as possible.

Thanks.
-Vitor
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20111208/e5dfa64d/attachment.html>


More information about the llvm-dev mailing list