From: Duncan P. N. Exon Smith Date: Tue, 14 Apr 2015 00:34:30 +0000 (+0000) Subject: AddDiscriminators: Create new MDLocation directly X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=31bbd1ac1e62a25a751bc43c04d3dd6def02de2e;p=oota-llvm.git AddDiscriminators: Create new MDLocation directly I don't see a reason to add the `copyWithNewScope()` API over to `MDLocation` -- it seems to be a holdover from when creating locations required knowing details of operand layout -- so change `AddDiscriminators` to call `MDLocation::get()` directly. Should be no functionality change here. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@234824 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/llvm/IR/DebugInfo.h b/include/llvm/IR/DebugInfo.h index 0d489bba3cb..40b21717a0d 100644 --- a/include/llvm/IR/DebugInfo.h +++ b/include/llvm/IR/DebugInfo.h @@ -705,9 +705,6 @@ public: /// \brief Generate a new discriminator value for this location. unsigned computeNewDiscriminator(LLVMContext &Ctx); - - /// \brief Return a copy of this location with a different scope. - DILocation copyWithNewScope(LLVMContext &Ctx, DILexicalBlockFile NewScope); }; class DIObjCProperty : public DIDescriptor { diff --git a/lib/IR/DebugInfo.cpp b/lib/IR/DebugInfo.cpp index fc302010b6e..a2d58fca67a 100644 --- a/lib/IR/DebugInfo.cpp +++ b/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(DbgNode); - return DILocation(MDLocation::get(Ctx, Old->getLine(), Old->getColumn(), - NewScope, Old->getInlinedAt())); -} - unsigned DILocation::computeNewDiscriminator(LLVMContext &Ctx) { std::pair Key(getFilename().data(), getLineNumber()); return ++Ctx.pImpl->DiscriminatorTable[Key]; diff --git a/lib/Transforms/Utils/AddDiscriminators.cpp b/lib/Transforms/Utils/AddDiscriminators.cpp index e8f1d5c83c6..4197e35f267 100644 --- a/lib/Transforms/Utils/AddDiscriminators.cpp +++ b/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