【发布时间】:2017-01-11 14:11:59
【问题描述】:
我想在 LLVM 中创建一个函数,该函数从存储指令中获取指向任意内存的指针。例如:
%x = alloca i32, align 4
%z = alloca i32*, align 8
store i32 123, i32* %x, align 4
store i32* %x, i32** %z, align 8
在这里,我想检测存储指令以调用具有内存指针的函数,该内存指针一次为 i32* 类型,一次为 i32** 类型。我只需要指向内存的“第一个指针”,我不需要取消引用指针或获取它的类型信息。所以,我需要一个类似于 C 中的 void 指针的数据类型。
如何在 LLVM 中做到这一点?
【问题讨论】:
-
bitcast从 i32* 到 i8*? -
如果没有类似 void* 的类型,那么将每个指针强制转换为 i8* 可能是最好的解决方案。你可以回答
标签: llvm