Remove always-true comparison, NFC.
Summary:
Looking at r241279, I noticed that UpgradedIntrinsics only gets written
to in the following code:
if (UpgradeIntrinsicFunction(&F, NewFn))
UpgradedIntrinsics[&F] = NewFn;
Looking through UpgradeIntrinsicFunction, we always return false OR
NewFn will be set to a different function from our source.
This patch pulls the F != NewFn into UpgradeIntrinsicFunction as an
assert, and removes the check from callers of UpgradeIntrinsicFunction.
Reviewers: rafael, chandlerc
Subscribers: llvm-commits-list
Differential Revision: http://reviews.llvm.org/D10915
llvm-svn: 241369
This commit is contained in:
@@ -4458,14 +4458,11 @@ std::error_code BitcodeReader::materialize(GlobalValue *GV) {
|
||||
|
||||
// Upgrade any old intrinsic calls in the function.
|
||||
for (auto &I : UpgradedIntrinsics) {
|
||||
if (I.first != I.second) {
|
||||
for (auto UI = I.first->user_begin(), UE = I.first->user_end();
|
||||
UI != UE;) {
|
||||
User *U = *UI;
|
||||
++UI;
|
||||
if (CallInst *CI = dyn_cast<CallInst>(U))
|
||||
UpgradeIntrinsicCall(CI, I.second);
|
||||
}
|
||||
for (auto UI = I.first->user_begin(), UE = I.first->user_end(); UI != UE;) {
|
||||
User *U = *UI;
|
||||
++UI;
|
||||
if (CallInst *CI = dyn_cast<CallInst>(U))
|
||||
UpgradeIntrinsicCall(CI, I.second);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4533,15 +4530,13 @@ std::error_code BitcodeReader::materializeModule(Module *M) {
|
||||
// module is materialized because there could always be another function body
|
||||
// with calls to the old function.
|
||||
for (auto &I : UpgradedIntrinsics) {
|
||||
if (I.first != I.second) {
|
||||
for (auto *U : I.first->users()) {
|
||||
if (CallInst *CI = dyn_cast<CallInst>(U))
|
||||
UpgradeIntrinsicCall(CI, I.second);
|
||||
}
|
||||
if (!I.first->use_empty())
|
||||
I.first->replaceAllUsesWith(I.second);
|
||||
I.first->eraseFromParent();
|
||||
for (auto *U : I.first->users()) {
|
||||
if (CallInst *CI = dyn_cast<CallInst>(U))
|
||||
UpgradeIntrinsicCall(CI, I.second);
|
||||
}
|
||||
if (!I.first->use_empty())
|
||||
I.first->replaceAllUsesWith(I.second);
|
||||
I.first->eraseFromParent();
|
||||
}
|
||||
UpgradedIntrinsics.clear();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user