diff options
author | Dan Gohman <gohman@apple.com> | 2009-06-14 22:53:57 +0000 |
---|---|---|
committer | Dan Gohman <gohman@apple.com> | 2009-06-14 22:53:57 +0000 |
commit | 7f7c4366ca61b3dceea4e37b187e5e1d4447e1b8 (patch) | |
tree | c52e12af3060a32b92899eafc399eea76ba8c6a7 /lib/Analysis | |
parent | 4dfad295475387211012f17bf640a9f8330872be (diff) | |
download | external_llvm-7f7c4366ca61b3dceea4e37b187e5e1d4447e1b8.zip external_llvm-7f7c4366ca61b3dceea4e37b187e5e1d4447e1b8.tar.gz external_llvm-7f7c4366ca61b3dceea4e37b187e5e1d4447e1b8.tar.bz2 |
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
Diffstat (limited to 'lib/Analysis')
-rw-r--r-- | lib/Analysis/ScalarEvolution.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/Analysis/ScalarEvolution.cpp b/lib/Analysis/ScalarEvolution.cpp index ee077d5..a2ab6e6 100644 --- a/lib/Analysis/ScalarEvolution.cpp +++ b/lib/Analysis/ScalarEvolution.cpp @@ -1012,8 +1012,8 @@ SCEVHandle ScalarEvolution::getAddExpr(SmallVectorImpl<SCEVHandle> &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<SCEVConstant>(Ops[0]); } |