如何在 LLVM 中找到操作数的定义点
How do I find the definition point of an operand in LLVM?
由于LLVM使用静态单一赋值形式,因此每个操作数只被分配一次值。对于某些给定的指令,我检索其操作数,然后我想找到为操作数分配其值的指令。
这些基本上是相同的。说,你有
i32 %1 = inst1
inst2 i32 %1
当你做inst2->getOperand(0)
时,你会得到一个指向%1
的Value*
。如果您需要按照一系列说明进行操作,则需要一遍又一遍地致电getOperand
。
相关文章:
- 在提升multi_index容器中,是否定义了"default index"?
- #定义c-预处理器常量..我做错了什么
- 用C++中的一个变量定义一个常量
- 部分定义/别名模板模板参数
- C++映射:具有自定义类的运算符[]不起作用(总是返回0)
- #为""定义宏;静态";针对不同的上下文
- 如何确保C++函数在定义之前声明(如override关键字)
- 创建一个函数以在输入为负数或零时输出字符串.第一次执行用户定义的函数
- 当类在C++中定义时,有什么方法可以"register"类吗?
- 在命名空间中定义函数还是限定函数
- 此代码是否违反一个定义规则
- 编译C++时未定义的引用
- 不同翻译单元中不可重载的非内联函数定义
- <<找不到运算符,尽管定义了 Foo 类型的右操作数,但该运算符仍采用类型为 Foo 的右侧操作数
- 如何在 LLVM 中找到操作数的定义点
- “无效的操作数是二进制表达式”当使用自定义结构作为C 中的MAP索引时
- 错误 C2679:二进制"=":未定义采用类型右侧操作数的运算符
- 在 c++ 中使用字符串时出错。error C2679:二进制'<<':未定义采用类型为"类"的右操作数的运算符
- std::map中的用户定义类:二进制表达式的无效操作数
- 二进制'operator':没有定义采用 'type' 型左操作数的运算符(或者没有可接受的转换)