【发布时间】:2013-02-20 11:02:21
【问题描述】:
我正在使用 llvm-py 为一些人工创建一个 DIY 编译器,并且需要在全球范围内有一个虚拟方法表。我的概念是有几个函数指针数组(每个类一个)。不幸的是,没有用于全局范围的 LLVM IR Builder,我不能使用 ptrtoint 来获得所有数组元素的统一类型(否则我会将函数地址存储为 64 位整数并在调用之前将它们转换为适当的类型)。你知道任何合理的解决方案吗?也可以用C++ LLVM api来说明,因为llvm-py很相似。
【问题讨论】:
-
你检查过 Clang 为 C++ vtables 发出了什么吗?
-
是的,它做了一些名字修饰技巧,使代码很难理解,我想避免它。
标签: python compiler-construction llvm vtable llvm-ir