我正在尝试使用
获取内存访问(加载)的大小dyn_cast<LoadInst>(Inst)->getType()->getPrimitiveSizeinBits()
适用于大多数情况。
但是,对于像
这样的加载指令%18 = load i8*, i8** %11, align 8, !tbaa !10
我们有双星(**)指针访问,这样的方法只返回值0.我想知道是否有任何方法可以让我在这种情况下得到加载的大小?
提前致谢,
汤姆
答案 0 :(得分:0)
如果你想要原语的类型而不管有多少个间接级别, 你可以这样做:
{{1}}
答案 1 :(得分:0)
指针大小与目标有关,因此您需要浏览Module
的{{1}}。您可能需要M.getDataLayout().getTypeAllocSizeInBits(Ty)
之类的内容。