From: Dan Gohman Date: Sun, 14 Jun 2009 22:53:57 +0000 (+0000) Subject: Check for the short-circuiting condition before performing X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=7f7c4366ca61b3dceea4e37b187e5e1d4447e1b8;p=oota-llvm.git Check for the short-circuiting condition before performing the potentially expensive erase. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73359 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Analysis/ScalarEvolution.cpp b/lib/Analysis/ScalarEvolution.cpp index ee077d56b62..a2ab6e63da6 100644 --- a/lib/Analysis/ScalarEvolution.cpp +++ b/lib/Analysis/ScalarEvolution.cpp @@ -1012,8 +1012,8 @@ SCEVHandle ScalarEvolution::getAddExpr(SmallVectorImpl &Ops) { // We found two constants, fold them together! Ops[0] = getConstant(LHSC->getValue()->getValue() + RHSC->getValue()->getValue()); + if (Ops.size() == 2) return Ops[0]; Ops.erase(Ops.begin()+1); // Erase the folded element - if (Ops.size() == 1) return Ops[0]; LHSC = cast(Ops[0]); }