summaryrefslogtreecommitdiffstats
path: root/llvm/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
commit8e462e9a82a875e956eb81d66e14a3e90e5504d6 (patch)
tree37690e52f2aaac3644b732033e908abe0f745937 /llvm/lib
parentb062dcc17b79be953ea46f3c9ac5f0688e88d5f9 (diff)
downloadbcm5719-llvm-8e462e9a82a875e956eb81d66e14a3e90e5504d6.tar.gz
bcm5719-llvm-8e462e9a82a875e956eb81d66e14a3e90e5504d6.zip
Don't call lookupNumber more than we have to.
llvm-svn: 53470
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Transforms/Scalar/GVN.cpp13
1 files changed, 8 insertions, 5 deletions
diff --git a/llvm/lib/Transforms/Scalar/GVN.cpp b/llvm/lib/Transforms/Scalar/GVN.cpp
index 86a8238ee42..18a9661684f 100644
--- a/llvm/lib/Transforms/Scalar/GVN.cpp
+++ b/llvm/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
OpenPOWER on IntegriCloud