aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Analysis/ValueTracking.cpp
diff options
context:
space:
mode:
authorNikita Popov <nikita.ppv@gmail.com>2021-04-30 23:05:41 +0200
committerNikita Popov <nikita.ppv@gmail.com>2021-04-30 23:05:41 +0200
commitfe230dc197b1cc259e497b88a6bc9c717318eebb (patch)
tree260bc8a27d1a663f8fe12fe37cf0ae72e41c5aee /llvm/lib/Analysis/ValueTracking.cpp
parent2cd78686055f1badb9aa55cb95e189548ffc82f0 (diff)
downloadllvm-fe230dc197b1cc259e497b88a6bc9c717318eebb.zip
llvm-fe230dc197b1cc259e497b88a6bc9c717318eebb.tar.gz
llvm-fe230dc197b1cc259e497b88a6bc9c717318eebb.tar.bz2
[ValueTracking] Slightly clean up programUndefinedIfUndefOrPoison() (NFC)
Use contains() to check set membership, and adjust an oddly structured loop.
Diffstat (limited to 'llvm/lib/Analysis/ValueTracking.cpp')
-rw-r--r--llvm/lib/Analysis/ValueTracking.cpp21
1 files changed, 8 insertions, 13 deletions
diff --git a/llvm/lib/Analysis/ValueTracking.cpp b/llvm/lib/Analysis/ValueTracking.cpp
index e2c7253..369ac42 100644
--- a/llvm/lib/Analysis/ValueTracking.cpp
+++ b/llvm/lib/Analysis/ValueTracking.cpp
@@ -5400,10 +5400,9 @@ static bool programUndefinedIfUndefOrPoison(const Value *V,
SmallPtrSet<const Value *, 4> WellDefinedOps;
getGuaranteedWellDefinedOps(&I, WellDefinedOps);
- for (auto *Op : WellDefinedOps) {
- if (Op == V)
- return true;
- }
+ if (WellDefinedOps.contains(V))
+ return true;
+
if (!isGuaranteedToTransferExecutionToSuccessor(&I))
break;
}
@@ -5439,16 +5438,12 @@ static bool programUndefinedIfUndefOrPoison(const Value *V,
for_each(I.users(), Propagate);
}
- if (auto *NextBB = BB->getSingleSuccessor()) {
- if (Visited.insert(NextBB).second) {
- BB = NextBB;
- Begin = BB->getFirstNonPHI()->getIterator();
- End = BB->end();
- continue;
- }
- }
+ BB = BB->getSingleSuccessor();
+ if (!BB || !Visited.insert(BB).second)
+ break;
- break;
+ Begin = BB->getFirstNonPHI()->getIterator();
+ End = BB->end();
}
return false;
}