[llvm] de059a2 - [NFC][ValueTracking] Remove calls to computeKnownBits for non-intrinsic CallInsts in isKnownNonZeroFromOperator
Dhruv Chawla via llvm-commits
llvm-commits at lists.llvm.org
Wed Aug 16 10:22:55 PDT 2023
Author: Dhruv Chawla
Date: 2023-08-16T22:52:13+05:30
New Revision: de059a2ea299845b3586d6b6e1b2441b65b1a556
URL: https://github.com/llvm/llvm-project/commit/de059a2ea299845b3586d6b6e1b2441b65b1a556
DIFF: https://github.com/llvm/llvm-project/commit/de059a2ea299845b3586d6b6e1b2441b65b1a556.diff
LOG: [NFC][ValueTracking] Remove calls to computeKnownBits for non-intrinsic CallInsts in isKnownNonZeroFromOperator
For non-intrinsic CallInsts, computeKnownBits only handles range
metadata and checking getReturnedArgOperand(). Both of these are now
handled in isKnownNonZero, so there is no need to fall through to
a call to computeKnownBits anymore.
Differential Revision: https://reviews.llvm.org/D158095
Added:
Modified:
llvm/lib/Analysis/ValueTracking.cpp
Removed:
################################################################################
diff --git a/llvm/lib/Analysis/ValueTracking.cpp b/llvm/lib/Analysis/ValueTracking.cpp
index 5711de18723311..02ea7a3369058b 100644
--- a/llvm/lib/Analysis/ValueTracking.cpp
+++ b/llvm/lib/Analysis/ValueTracking.cpp
@@ -2729,6 +2729,9 @@ static bool isKnownNonZeroFromOperator(const Operator *I,
return true;
if (const auto *RP = getArgumentAliasingToReturnedPointer(Call, true))
return isKnownNonZero(RP, Depth, Q);
+ } else if (const Value *RV = cast<CallBase>(I)->getReturnedArgOperand()) {
+ if (isKnownNonZero(RV, Depth, Q))
+ return true;
}
if (auto *II = dyn_cast<IntrinsicInst>(I)) {
@@ -2791,8 +2794,10 @@ static bool isKnownNonZeroFromOperator(const Operator *I,
default:
break;
}
+ break;
}
- break;
+
+ return false;
}
KnownBits Known(BitWidth);
More information about the llvm-commits
mailing list