15 #ifndef LLVM_SUPPORT_DEBUGLOC_H
16 #define LLVM_SUPPORT_DEBUGLOC_H
18 #include "llvm/Support/DataTypes.h"
21 template <
typename T>
struct DenseMapInfo;
60 static DebugLoc get(
unsigned Line,
unsigned Col,
73 return (LineCol << 8) >> 8;
98 return LineCol == DL.LineCol && ScopeIdx == DL.ScopeIdx;
109 static unsigned getHashValue(
const DebugLoc &Key);
bool operator==(const DebugLoc &DL) const
static bool isEqual(DebugLoc LHS, DebugLoc RHS)
MDNode * getAsMDNode(const LLVMContext &Ctx) const
void getScopeAndInlinedAt(MDNode *&Scope, MDNode *&IA, const LLVMContext &Ctx) const
getScopeAndInlinedAt - Return both the Scope and the InlinedAt values.
MDNode - a tuple of other values.
static DebugLoc getEmptyKey()
bool isUnknown() const
isUnknown - Return true if this is an unknown location.
static DebugLoc getFromDILexicalBlock(MDNode *N)
getFromDILexicalBlock - Translate the DILexicalBlock into a DebugLoc.
void dump(const LLVMContext &Ctx) const
MDNode * getInlinedAt(const LLVMContext &Ctx) const
MDNode * getScope(const LLVMContext &Ctx) const
bool operator!=(const DebugLoc &DL) const
static DebugLoc getFromDILocation(MDNode *N)
getFromDILocation - Translate the DILocation quad into a DebugLoc.
static DebugLoc getTombstoneKey()