Hello all,<br><br>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?<br>
<br>We're also open to alternative approaches, but we'd like to stay in LLVM IR as much as possible.<br><br>Thanks.<br>-Vitor<br>