diff options
Diffstat (limited to 'lib/Bytecode/Reader')
-rw-r--r-- | lib/Bytecode/Reader/Reader.cpp | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/lib/Bytecode/Reader/Reader.cpp b/lib/Bytecode/Reader/Reader.cpp index f9ac0bab1b..501bd62d6e 100644 --- a/lib/Bytecode/Reader/Reader.cpp +++ b/lib/Bytecode/Reader/Reader.cpp @@ -1865,11 +1865,8 @@ void BytecodeReader::ParseFunctionBody(Function* F) { if (CallInst* CI = dyn_cast<CallInst>(II)) { std::map<Function*,Function*>::iterator FI = upgradedFunctions.find(CI->getCalledFunction()); - if (FI != upgradedFunctions.end()) { - Instruction* newI = UpgradeIntrinsicCall(CI,FI->second); - CI->replaceAllUsesWith(newI); - CI->eraseFromParent(); - } + if (FI != upgradedFunctions.end()) + UpgradeIntrinsicCall(CI, FI->second); } } @@ -2444,7 +2441,7 @@ void BytecodeReader::ParseBytecode(BufPtr Buf, unsigned Length, for (Module::iterator FI = TheModule->begin(), FE = TheModule->end(); FI != FE; ++FI) if (Function* newF = UpgradeIntrinsicFunction(FI)) { - upgradedFunctions.insert(std::make_pair(FI,newF)); + upgradedFunctions.insert(std::make_pair(FI, newF)); FI->setName(""); } |