UpgradeCallsToIntrinsic() is already intended to perform remangling
in case no other upgrades are necessary. The additional
remangleIntrinsicFunction() calls are not needed and can hide bugs
in the UpgradeCallsToIntrinsic() implementation.
for (Function &F : llvm::make_early_inc_range(*M))
UpgradeCallsToIntrinsic(&F);
- // Some types could be renamed during loading if several modules are
- // loaded in the same LLVMContext (LTO scenario). In this case we should
- // remangle intrinsics names as well.
- for (Function &F : llvm::make_early_inc_range(*M)) {
- if (auto Remangled = Intrinsic::remangleIntrinsicFunction(&F)) {
- F.replaceAllUsesWith(*Remangled);
- F.eraseFromParent();
- }
- }
-
if (UpgradeDebugInfo)
llvm::UpgradeDebugInfo(*M);