aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorOwen Anderson <resistor@mac.com>2008-07-11 20:05:13 +0000
committerOwen Anderson <resistor@mac.com>2008-07-11 20:05:13 +0000
commit14c612fd90573554d09f7bef39b14f4afe7771fe (patch)
tree832d13e6ed2ddc913eb392162358f4a998cfb6d2 /lib
parent758ef8357de3f04f8c7a2cbd9b9571a322c035da (diff)
downloadexternal_llvm-14c612fd90573554d09f7bef39b14f4afe7771fe.tar.gz
external_llvm-14c612fd90573554d09f7bef39b14f4afe7771fe.tar.bz2
external_llvm-14c612fd90573554d09f7bef39b14f4afe7771fe.zip
Don't call lookupNumber more than we have to.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53470 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r--lib/Transforms/Scalar/GVN.cpp13
1 files changed, 8 insertions, 5 deletions
diff --git a/lib/Transforms/Scalar/GVN.cpp b/lib/Transforms/Scalar/GVN.cpp
index 86a8238ee4..18a9661684 100644
--- a/lib/Transforms/Scalar/GVN.cpp
+++ b/lib/Transforms/Scalar/GVN.cpp
@@ -1267,11 +1267,14 @@ bool GVN::performPRE(Function& F) {
Value* op = BI->getOperand(i);
if (isa<Argument>(op) || isa<Constant>(op) || isa<GlobalValue>(op))
PREInstr->setOperand(i, op);
- else if (!lookupNumber(PREPred, VN.lookup(op))) {
- success = false;
- break;
- } else
- PREInstr->setOperand(i, lookupNumber(PREPred, VN.lookup(op)));
+ else {
+ Value* V = lookupNumber(PREPred, VN.lookup(op));
+ if (!V) {
+ success = false;
+ break;
+ } else
+ PREInstr->setOperand(i, V);
+ }
}
// Fail out if we encounter an operand that is not available in