Index: llvm/trunk/lib/Transforms/Utils/SimplifyCFG.cpp =================================================================== --- llvm/trunk/lib/Transforms/Utils/SimplifyCFG.cpp +++ llvm/trunk/lib/Transforms/Utils/SimplifyCFG.cpp @@ -34,7 +34,7 @@ #include "llvm/IR/ConstantRange.h" #include "llvm/IR/Constants.h" #include "llvm/IR/DataLayout.h" -#include "llvm/IR/DebugLoc.h" +#include "llvm/IR/DebugInfo.h" #include "llvm/IR/DerivedTypes.h" #include "llvm/IR/GlobalValue.h" #include "llvm/IR/GlobalVariable.h" @@ -1276,10 +1276,10 @@ // If the debug loc for I1 and I2 are different, as we are combining them // into one instruction, we do not want to select debug loc randomly from - // I1 or I2. Instead, we set the 0-line DebugLoc to note that we do not - // know the debug loc of the hoisted instruction. + // I1 or I2. if (!isa(I1) && I1->getDebugLoc() != I2->getDebugLoc()) - I1->setDebugLoc(DebugLoc()); + I1->setDebugLoc( + DILocation::getMergedLocation(I1->getDebugLoc(), I2->getDebugLoc())); I2->eraseFromParent(); Changed = true;