diff --git a/lib/Transforms/Utils/SimplifyCFG.cpp b/lib/Transforms/Utils/SimplifyCFG.cpp index 555e30e5f02..e3fa995de8d 100644 --- a/lib/Transforms/Utils/SimplifyCFG.cpp +++ b/lib/Transforms/Utils/SimplifyCFG.cpp @@ -2000,7 +2000,7 @@ bool llvm::SimplifyCFG(BasicBlock *BB) { --BBI; // Do not delete instructions that can have side effects, like calls // (which may never return) and volatile loads and stores. - if (isa(BBI)) break; + if (isa(BBI) && !isa(BBI)) break; if (StoreInst *SI = dyn_cast(BBI)) if (SI->isVolatile())