замена всех с не работает

SWL — это карта, где у меня есть адрес магазина в качестве ключа и константа в качестве соответствующего значения. Однако, когда я проверяю это хранилище, используемое в нагрузке, я пытаюсь заменить использование инструкции хранилища константой. Это не заменяет инструкции. После выполнения этого прохода байтовый код не изменяется.

std::map<Value*,Value*> SWL;
for (User::op_iterator OI = I.op_begin(); OI != I.op_end();  ++OI)
{
Value *v = *OI;
std::map<Value*,Value*> :: iterator re = SWL.find(v);

if(re != SWL.end() && isa<LoadInst>(&I))
{
I.replaceAllUsesWith(re->second);
bRet = true;
}
}

0

Решение

Я делал opt -load sample.dylib -passname sample.bc> / dev / null вместо того, чтобы направлять его в другой файл как> change.bc. Когда я делаю это и делаю llvm-dis из change.bc, я вижу изменения.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]