diff options
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/IR/DebugInfo.cpp | 9 | ||||
| -rw-r--r-- | llvm/lib/Transforms/Utils/AddDiscriminators.cpp | 4 |
2 files changed, 3 insertions, 10 deletions
diff --git a/llvm/lib/IR/DebugInfo.cpp b/llvm/lib/IR/DebugInfo.cpp index fc302010b6e..a2d58fca67a 100644 --- a/llvm/lib/IR/DebugInfo.cpp +++ b/llvm/lib/IR/DebugInfo.cpp @@ -47,15 +47,6 @@ void DICompileUnit::replaceGlobalVariables(DIArray GlobalVariables) { get()->replaceGlobalVariables(MDGlobalVariableArray(GlobalVariables)); } -DILocation DILocation::copyWithNewScope(LLVMContext &Ctx, - DILexicalBlockFile NewScope) { - assert(NewScope && "Expected valid scope"); - - const auto *Old = cast<MDLocation>(DbgNode); - return DILocation(MDLocation::get(Ctx, Old->getLine(), Old->getColumn(), - NewScope, Old->getInlinedAt())); -} - unsigned DILocation::computeNewDiscriminator(LLVMContext &Ctx) { std::pair<const char *, unsigned> Key(getFilename().data(), getLineNumber()); return ++Ctx.pImpl->DiscriminatorTable[Key]; diff --git a/llvm/lib/Transforms/Utils/AddDiscriminators.cpp b/llvm/lib/Transforms/Utils/AddDiscriminators.cpp index e8f1d5c83c6..4197e35f267 100644 --- a/llvm/lib/Transforms/Utils/AddDiscriminators.cpp +++ b/llvm/lib/Transforms/Utils/AddDiscriminators.cpp @@ -198,7 +198,9 @@ bool AddDiscriminators::runOnFunction(Function &F) { unsigned Discriminator = FirstDIL.computeNewDiscriminator(Ctx); DILexicalBlockFile NewScope = Builder.createLexicalBlockFile(Scope, File, Discriminator); - DILocation NewDIL = FirstDIL.copyWithNewScope(Ctx, NewScope); + DILocation NewDIL = + MDLocation::get(Ctx, FirstDIL->getLine(), FirstDIL->getColumn(), + NewScope, FirstDIL->getInlinedAt()); DebugLoc newDebugLoc = NewDIL.get(); // Attach this new debug location to First and every |

