说我有一条类似%res = add i32 4, %var
的指令,我只想提取操作数%var
,因为它是一个变量。我的问题是如何确定操作数是常数还是右值,以便可以在传递过程中排除它们。
谢谢。
答案 0 :(得分:1)
使用Instruction::value_op_begin()
,Instruction::value_op_end()
或Instruction::operand_values()
覆盖指令的操作数,然后使用isa<Constant>()
测试给定的操作数是否为常数1。