mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-11-01 00:11:00 +00:00
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
This commit is contained in:
parent
7b161773fd
commit
31bbd1ac1e
@ -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 {
|
||||
|
@ -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];
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user