diff options
Diffstat (limited to 'lib/Transforms')
-rw-r--r-- | lib/Transforms/Scalar/SCCP.cpp | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/lib/Transforms/Scalar/SCCP.cpp b/lib/Transforms/Scalar/SCCP.cpp index 603a52b235..fcb508f951 100644 --- a/lib/Transforms/Scalar/SCCP.cpp +++ b/lib/Transforms/Scalar/SCCP.cpp @@ -875,7 +875,7 @@ bool SCCP::runOnFunction(Function &F) { Instruction *Inst = BI++; if (Inst->getType() != Type::VoidTy) { LatticeVal &IV = Values[Inst]; - if (IV.isConstant() || IV.isUndefined()) { + if (IV.isConstant() || IV.isUndefined() && !isa<TerminatorInst>(Inst)) { Constant *Const; if (IV.isConstant()) { Const = IV.getConstant(); @@ -900,4 +900,3 @@ bool SCCP::runOnFunction(Function &F) { return MadeChanges; } - |