From 6d42c0084e7a0d222699d44bbde560fab92eebef Mon Sep 17 00:00:00 2001 From: "Duncan P. N. Exon Smith" Date: Mon, 30 Mar 2015 21:19:50 +0000 Subject: [PATCH] DebugInfo: Remove dead code from old DebugLoc API Remove old API for `DebugLoc` now that all the callers have been updated. If this broke your out-of-tree build, here's a quick map from the old API to the new one: DebugLoc DebugLoc::getFromMDLocation(MDNode *) => DebugLoc::DebugLoc(MDLocation *) => explicit DebugLoc::DebugLoc(MDNode *) // works with broken code MDNode *DebugLoc::getAsMDNode(LLVMContext &) => MDLocation *DebugLoc::get() => DebugLoc::operator MDLocation *() => MDNode *DebugLoc::getAsMDNode() // works with broken code bool DebugLoc::isUnknown() => DebugLoc::operator MDLocation *() i.e.: if (MDLocation *DL = ...) => DebugLoc::operator bool() // works with broken code i.e.: if (DebugLoc DL = ...) void DebugLoc::getScopeAndInlinedAt(MDNode *&, MDNode *&) => use: MDNode *DebugLoc::getScope() and: MDLocation *DebugLoc::getInlinedAt() MDNode *DebugLoc::getScopeNode(LLVMContext &) => MDNode *DebugLoc::getInlinedAtScope() void DebugLoc::dump(LLVMContext &) => void DebugLoc::dump() void DebugLoc::getFnDebugLoc(LLVMContext &) => void DebugLoc::getFnDebugLoc() MDNode *DebugLoc::getScope(LLVMContext &) => MDNode *DebugLoc::getScope() MDNode *DebugLoc::getInlinedAt(LLVMContext &) => MDLocation *DebugLoc::getInlinedAt() I've noted above the only functions that won't crash on broken code (due to downcasting to `MDLocation`). If your code could be dealing with broken IR (i.e., you haven't run the verifier yet, or you've used a temporary node that will eventually (but not yet) get RAUW'ed to an `MDLocation`), you need to restrict yourself to those. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@233599 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/IR/DebugLoc.h | 18 ------------------ lib/IR/DebugLoc.cpp | 9 --------- 2 files changed, 27 deletions(-) diff --git a/include/llvm/IR/DebugLoc.h b/include/llvm/IR/DebugLoc.h index 12ab4546451..8f2781304a8 100644 --- a/include/llvm/IR/DebugLoc.h +++ b/include/llvm/IR/DebugLoc.h @@ -125,24 +125,6 @@ namespace llvm { /// \brief prints source location /path/to/file.exe:line:col @[inlined at] void print(raw_ostream &OS) const; - - // FIXME: Remove this old API once callers have been updated. - static DebugLoc getFromDILocation(MDNode *N) { return DebugLoc(N); } - bool isUnknown() const { return !Loc; } - MDNode *getScope(const LLVMContext &) const { return getScope(); } - MDNode *getInlinedAt(const LLVMContext &) const; - void getScopeAndInlinedAt(MDNode *&Scope, MDNode *&IA) const; - void getScopeAndInlinedAt(MDNode *&Scope, MDNode *&IA, - const LLVMContext &) const { - return getScopeAndInlinedAt(Scope, IA); - } - MDNode *getScopeNode() const { return getInlinedAtScope(); } - MDNode *getScopeNode(const LLVMContext &) const { return getScopeNode(); } - DebugLoc getFnDebugLoc(const LLVMContext &) const { - return getFnDebugLoc(); - } - MDNode *getAsMDNode(LLVMContext &) const { return getAsMDNode(); } - void dump(const LLVMContext &) const { dump(); } }; } // end namespace llvm diff --git a/lib/IR/DebugLoc.cpp b/lib/IR/DebugLoc.cpp index 515e0a2b716..5a5f201fe12 100644 --- a/lib/IR/DebugLoc.cpp +++ b/lib/IR/DebugLoc.cpp @@ -113,12 +113,3 @@ void DebugLoc::print(raw_ostream &OS) const { OS << " ]"; } } - -// FIXME: Remove this old API once callers have been updated. -MDNode *DebugLoc::getInlinedAt(const LLVMContext &) const { - return getInlinedAt(); -} -void DebugLoc::getScopeAndInlinedAt(MDNode *&Scope, MDNode *&IA) const { - Scope = getScope(); - IA = getInlinedAt(); -} -- 2.34.1