gpt4 book ai didi

c++ - 替换 LLVM 指令的操作数

转载 作者:太空狗 更新时间:2023-10-29 20:15:19 26 4
gpt4 key购买 nike

在下面的代码中,我尝试替换 LLVM 指令的操作数。但是它不起作用并且没有任何改变。知道如何解决这个问题吗?

for (OI = insn->op_begin(), OE = insn->op_end(); OI != OE; ++OI)
{
Value *val = *OI;
iter = mapClonedAndOrg.find( val );

if( iter != mapClonedAndOrg.end( ) )
{
// Here I try to replace the operand, to no effect!
val = (Value*)iter->second.PN;
}
}

最佳答案

您应该使用迭代器OI 来代替它,而不是本地指针val。所以应该是这样的。

for (OI = insn->op_begin(), OE = insn->op_end(); OI != OE; ++OI)
{
Value *val = *OI;
iter = mapClonedAndOrg.find( val );

if( iter != mapClonedAndOrg.end( ) )
{
*OI = (Value*)iter->second.PN;
}
}

关于c++ - 替换 LLVM 指令的操作数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13506607/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com