diff --git a/llvm/lib/Analysis/ValueTracking.cpp b/llvm/lib/Analysis/ValueTracking.cpp index 682baacac3a9c7..ac8386900a1145 100644 --- a/llvm/lib/Analysis/ValueTracking.cpp +++ b/llvm/lib/Analysis/ValueTracking.cpp @@ -4881,6 +4881,9 @@ static bool isGuaranteedNotToBeUndefOrPoison(const Value *V, if (Depth >= MaxAnalysisRecursionDepth) return false; + if (isa(V)) + return false; + if (const auto *A = dyn_cast(V)) { if (A->hasAttribute(Attribute::NoUndef)) return true;