From: Andrew Trick Date: Wed, 31 Jul 2013 02:43:40 +0000 (+0000) Subject: Fix a severe compile time problem when forming large SCEV expressions. X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c3bc8b8de64b8aa2a8d3d10c5f1a0d6a56f06010;p=platform%2Fupstream%2Fllvm.git Fix a severe compile time problem when forming large SCEV expressions. This fix is very lightweight. The same fix already existed for AddRec but was missing for NAry expressions. This is obviously an improvement and I'm unsure how to test compile time problems. Patch by Xiaoyi Guo! llvm-svn: 187475 --- diff --git a/llvm/lib/Analysis/ScalarEvolution.cpp b/llvm/lib/Analysis/ScalarEvolution.cpp index 85290d6..f5d095b 100644 --- a/llvm/lib/Analysis/ScalarEvolution.cpp +++ b/llvm/lib/Analysis/ScalarEvolution.cpp @@ -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;