diff options
| author | Owen Anderson <resistor@mac.com> | 2008-07-02 18:15:31 +0000 |
|---|---|---|
| committer | Owen Anderson <resistor@mac.com> | 2008-07-02 18:15:31 +0000 |
| commit | 6acc782dadc390afea23a0b9df93aa430fe6d581 (patch) | |
| tree | 347b8939acc62f7b3b0387819581a5ae52df370b /llvm/lib | |
| parent | bdbe6130f4d8121d729236fc568eb468b36dc19c (diff) | |
| download | bcm5719-llvm-6acc782dadc390afea23a0b9df93aa430fe6d581.tar.gz bcm5719-llvm-6acc782dadc390afea23a0b9df93aa430fe6d581.zip | |
Avoid a redundant call.
llvm-svn: 53040
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/Transforms/Scalar/GVN.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/llvm/lib/Transforms/Scalar/GVN.cpp b/llvm/lib/Transforms/Scalar/GVN.cpp index 590227c27f9..498785e327a 100644 --- a/llvm/lib/Transforms/Scalar/GVN.cpp +++ b/llvm/lib/Transforms/Scalar/GVN.cpp @@ -808,10 +808,10 @@ Value *GVN::GetValueForBlock(BasicBlock *BB, LoadInst* orig, DenseMap<BasicBlock*, Value*>::iterator V = Phis.find(BB); if (V != Phis.end() && !top_level) return V->second; - if (!getAnalysis<DominatorTree>().isReachableFromEntry(BB)) { - Phis[BB] = UndefValue::get(orig->getType()); - return UndefValue::get(orig->getType()); - } + // If the block is unreachable, just return undef, since this path + // can't actually occur at runtime. + if (!getAnalysis<DominatorTree>().isReachableFromEntry(BB)) + return Phis[BB] = UndefValue::get(orig->getType()); BasicBlock* singlePred = BB->getSinglePredecessor(); if (singlePred) { |

