diff options
Diffstat (limited to 'lib/Transforms/Scalar/InstructionCombining.cpp')
-rw-r--r-- | lib/Transforms/Scalar/InstructionCombining.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/Transforms/Scalar/InstructionCombining.cpp b/lib/Transforms/Scalar/InstructionCombining.cpp index b2a6864194..44d85e706c 100644 --- a/lib/Transforms/Scalar/InstructionCombining.cpp +++ b/lib/Transforms/Scalar/InstructionCombining.cpp @@ -11144,7 +11144,8 @@ static bool isSafeToLoadUnconditionally(Value *V, Instruction *ScanFrom) { // If we see a free or a call (which might do a free) the pointer could be // marked invalid. - if (isa<FreeInst>(BBI) || isa<CallInst>(BBI)) + if (isa<FreeInst>(BBI) || + (isa<CallInst>(BBI) && !isa<DbgInfoIntrinsic>(BBI))) return false; if (LoadInst *LI = dyn_cast<LoadInst>(BBI)) { |