Cut off crazy computation. This helps PR1622 slightly.
[oota-llvm.git] / lib / Transforms / Scalar / InstructionCombining.cpp
index 416e1f012a64eaca2cfaf8ce18f44f4c485c5d2f..218da9773d1ddb7e03294cf3d4d29f623d9c7984 100644 (file)
@@ -8283,6 +8283,10 @@ static bool DeadPHICycle(PHINode *PN,
   // Remember this node, and if we find the cycle, return.
   if (!PotentiallyDeadPHIs.insert(PN))
     return true;
+  
+  // Don't scan crazily complex things.
+  if (PotentiallyDeadPHIs.size() == 16)
+    return false;
 
   if (PHINode *PU = dyn_cast<PHINode>(PN->use_back()))
     return DeadPHICycle(PU, PotentiallyDeadPHIs);