[llvm] [ValueTracking] Support dominating known bits condition in and/or (PR #74728)

Nikita Popov via llvm-commits llvm-commits at lists.llvm.org
Tue Feb 6 09:03:42 PST 2024


================
@@ -34,23 +34,39 @@ static void findAffectedValues(Value *Cond,
     }
   };
 
-  ICmpInst::Predicate Pred;
-  Value *A;
-  if (match(Cond, m_ICmp(Pred, m_Value(A), m_Constant()))) {
-    AddAffected(A);
+  bool TopLevelIsAnd = match(Cond, m_LogicalAnd());
+  SmallVector<Value *, 8> Worklist;
+  SmallPtrSet<Value *, 8> Visited;
+  Worklist.push_back(Cond);
+  while (!Worklist.empty()) {
----------------
nikic wrote:

http://llvm-compile-time-tracker.com/compare.php?from=38476b063f164995b85e47472e3c2e0a9c5f9075&to=bae764a404d1fed0a844dcbd74d0ffebd74735ff&stat=instructions:u

https://github.com/llvm/llvm-project/pull/74728


More information about the llvm-commits mailing list