[llvm] 23e3e10 - [GVN] GVNPass::ValueTable::lookupOrAdd - merge isa<> and cast<> into single dyn_cast<>. NFCI.
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Wed Dec 14 11:49:03 PST 2022
Author: Simon Pilgrim
Date: 2022-12-14T19:47:57Z
New Revision: 23e3e107dceb1fd8c1fb81d1229f6aab09a1fce2
URL: https://github.com/llvm/llvm-project/commit/23e3e107dceb1fd8c1fb81d1229f6aab09a1fce2
DIFF: https://github.com/llvm/llvm-project/commit/23e3e107dceb1fd8c1fb81d1229f6aab09a1fce2.diff
LOG: [GVN] GVNPass::ValueTable::lookupOrAdd - merge isa<> and cast<> into single dyn_cast<>. NFCI.
Avoid calling separate isa<> and cast<> if we can - dyn_cast<> can more efficiently check for a safe cast and give the casted pointer.
Added:
Modified:
llvm/lib/Transforms/Scalar/GVN.cpp
Removed:
################################################################################
diff --git a/llvm/lib/Transforms/Scalar/GVN.cpp b/llvm/lib/Transforms/Scalar/GVN.cpp
index d51fee78597b..96c0aa16e085 100644
--- a/llvm/lib/Transforms/Scalar/GVN.cpp
+++ b/llvm/lib/Transforms/Scalar/GVN.cpp
@@ -580,12 +580,12 @@ uint32_t GVNPass::ValueTable::lookupOrAdd(Value *V) {
if (VI != valueNumbering.end())
return VI->second;
- if (!isa<Instruction>(V)) {
+ auto *I = dyn_cast<Instruction>(V);
+ if (!I) {
valueNumbering[V] = nextValueNumber;
return nextValueNumber++;
}
- Instruction* I = cast<Instruction>(V);
Expression exp;
switch (I->getOpcode()) {
case Instruction::Call:
More information about the llvm-commits
mailing list