llvm - 如何从 getelementptr 入站指令中获取@variabe_name
问题描述
我阅读了文档,但不确定如何获取此值。我能够直接阅读 getelementptr 指令。代码:
struct foo {
unsigned char position;
};
extern struct foo f1;
void hello () {
if (f1.position){
}
}
红外代码:
%struct.foo = type { i8 }
@f1 = external dso_local global %struct.foo, align 1
; Function Attrs: noinline nounwind optnone uwtable mustprogress
define dso_local void @_hello() #0 !dbg !9 {
%1 = load i8, i8* getelementptr inbounds (%struct.foo, %struct.foo* @f1, i32 0, i32 0), align 1, !dbg !13
%2 = icmp ne i8 %1, 0, !dbg !15
br i1 %2, label %3, label %4, !dbg !16
3:
br label %4, !dbg !17
4:
ret void, !dbg !19
}
我想从 getelementptr 入站指令中获取 f1 。
非常感谢。
解决方案
推荐阅读
- php - 使用php上传离子文件会注销错误文件未定义
- spring - 是否可以创建具有两个主键值的实体?
- ios - 在设置中更改应用程序名称
- asp.net-core - 如何创建在没有 IIS 的情况下启动自托管网站的 Windows 10 应用程序
- javascript - 如何在控制台中控制台记录一个大的彩色文本
- c++ - 将 lambdas 作为模板参数传递:实际推导出的类型是什么?
- javascript - 未定义 Jest 测试中的 FileReader、File 和 TextDecoder
- python - Kivy Accordion:空间不足警告
- javascript - Google reCaptcha v3 将成功返回为 false
- javascript - 即使使用 setTimeout 也无法在同一块中重新打开子窗口