アドレスのすべてのインスタンスを定数に置き換えようとしています。
次のようにストアのアドレスを取得してテストしています(iは命令です)
//already know it's a store instruction at this point
llvm::Value *addy = i->getOperand(0);
if(llvm::ConstantInt* c = dyn_cast<llvm:::ConstantInt>(addy)){
//replace all uses of the address with the constant
//operand(1) will be the address the const would be stored at
i->getOperand(1)->replaceAllUsesWith(c);
}
これでうまくいくと思いますが、エラーが発生しています
"Assertion: New->getType()== getType() && replaceAllUses of value with new value of different type!" failed
理由はわかりません... 私のreplaceAllUsesの理解は、アドレス(i-> getOperand(1))の使用を定数で置き換えるということです?