[ValueTracking] Turn a test into an assertion.
authorDavide Italiano <davide@freebsd.org>
Wed, 9 Aug 2017 16:06:54 +0000 (16:06 +0000)
committerDavide Italiano <davide@freebsd.org>
Wed, 9 Aug 2017 16:06:54 +0000 (16:06 +0000)
As discussed with Chad, this should never happen, but this
assertion is basically free, so, keep it around just in case.

llvm-svn: 310493

llvm/lib/Analysis/ValueTracking.cpp

index 995b3e0..b81bf9e 100644 (file)
@@ -4531,9 +4531,7 @@ static Optional<bool> isImpliedCondAndOr(const BinaryOperator *LHS,
           LHS->getOpcode() == Instruction::Or) &&
          "Expected LHS to be 'and' or 'or'.");
 
-  // The remaining tests are all recursive, so bail out if we hit the limit.
-  if (Depth == MaxDepth)
-    return None;
+  assert(Depth <= MaxDepth && "Hit recursion limit");
 
   // If the result of an 'or' is false, then we know both legs of the 'or' are
   // false.  Similarly, if the result of an 'and' is true, then we know both