Fix a severe compile time problem when forming large SCEV expressions.
[oota-llvm.git] / lib / Analysis / ScalarEvolution.cpp
index 85290d6e1b88e73a4e6490ab1b284d906acfa41f..f5d095b9781b3b43ab1de028c7d1d2e7bd95d743 100644 (file)
@@ -585,6 +585,9 @@ namespace {
 
         // Lexicographically compare n-ary expressions.
         unsigned LNumOps = LC->getNumOperands(), RNumOps = RC->getNumOperands();
+        if (LNumOps != RNumOps)
+          return (int)LNumOps - (int)RNumOps;
+
         for (unsigned i = 0; i != LNumOps; ++i) {
           if (i >= RNumOps)
             return 1;