[PATCH] D12719: ScalarEvolution assume hanging bugfix

Nick Lewycky via cfe-commits cfe-commits at lists.llvm.org
Tue Sep 8 20:12:48 PDT 2015


nlewycky added inline comments.

================
Comment at: lib/Analysis/ScalarEvolution.cpp:6980
@@ -6991,1 +6979,3 @@
 
+  // Check conditions due to any @llvm.assume intrinsics.
+  for (auto &AssumeVH : AC.assumptions()) {
----------------
Prazek wrote:
> nlewycky wrote:
> > What is it about this check which is a problem? Or put another way, why is this not okay but the call to isImpliedCond on line 6956 is fine? The problem is recursion through isImpliedCond->getSCEV->..., right?
> The problem is that the check wasn't covering assume loop which caused big hang.
> 
> Stacktrace looked more like this
> (isImpliedCond -> getZeroExtendExpr -> isLoopBackedgeGuardedByCond) x much
Does the code from 6953 to 6959 need to move below this check too? Is there another bug here?


http://reviews.llvm.org/D12719





More information about the cfe-commits mailing list