IR: Add getRaw() helper, NFC

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@229947 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Duncan P. N. Exon Smith
2015-02-20 01:18:47 +00:00
parent 673db11fdb
commit 788b96702b

View File

@@ -928,26 +928,28 @@ public:
/// ///
/// This object is not associated with any DWARF tag. /// This object is not associated with any DWARF tag.
class DILocation : public DIDescriptor { class DILocation : public DIDescriptor {
MDLocation *getRaw() const { return dyn_cast_or_null<MDLocation>(get()); }
public: public:
explicit DILocation(const MDNode *N) : DIDescriptor(N) {} explicit DILocation(const MDNode *N) : DIDescriptor(N) {}
unsigned getLineNumber() const { unsigned getLineNumber() const {
if (auto *L = dyn_cast_or_null<MDLocation>(DbgNode)) if (auto *L = getRaw())
return L->getLine(); return L->getLine();
return 0; return 0;
} }
unsigned getColumnNumber() const { unsigned getColumnNumber() const {
if (auto *L = dyn_cast_or_null<MDLocation>(DbgNode)) if (auto *L = getRaw())
return L->getColumn(); return L->getColumn();
return 0; return 0;
} }
DIScope getScope() const { DIScope getScope() const {
if (auto *L = dyn_cast_or_null<MDLocation>(DbgNode)) if (auto *L = getRaw())
return DIScope(dyn_cast_or_null<MDNode>(L->getScope())); return DIScope(dyn_cast_or_null<MDNode>(L->getScope()));
return DIScope(nullptr); return DIScope(nullptr);
} }
DILocation getOrigLocation() const { DILocation getOrigLocation() const {
if (auto *L = dyn_cast_or_null<MDLocation>(DbgNode)) if (auto *L = getRaw())
return DILocation(dyn_cast_or_null<MDNode>(L->getInlinedAt())); return DILocation(dyn_cast_or_null<MDNode>(L->getInlinedAt()));
return DILocation(nullptr); return DILocation(nullptr);
} }