15 #ifndef LLVM_IR_DEBUGLOC_H
16 #define LLVM_IR_DEBUGLOC_H
19 #include "llvm/Support/DataTypes.h"
42 Loc = std::move(
X.Loc);
77 explicit operator bool()
const {
return Loc; }
90 static DebugLoc get(
unsigned Line,
unsigned Col,
const MDNode *Scope,
91 const MDNode *InlinedAt =
nullptr);
MDNode * getScope() const
DILocation * operator->() const
bool operator==(const DebugLoc &DL) const
DebugLoc & operator=(DebugLoc &&X)
DebugLoc getFnDebugLoc() const
Find the debug info location for the start of the function.
void print(raw_ostream &OS) const
prints source location /path/to/file.exe:line:col @[inlined at]
bool hasTrivialDestructor() const
Check whether this has a trivial destructor.
bool hasTrivialDestructor() const
Check whether this has a trivial destructor.
static GCMetadataPrinterRegistry::Add< ErlangGCPrinter > X("erlang","erlang-compatible garbage collector")
MDNode * getInlinedAtScope() const
Get the fully inlined-at scope for a DebugLoc.
DILocation * getInlinedAt() const
bool operator!=(const DebugLoc &DL) const
DebugLoc & operator=(const DebugLoc &X)
MDNode * getAsMDNode() const
Return this as a bar MDNode.
DILocation & operator*() const
DebugLoc(const DebugLoc &X)
This class implements an extremely fast bulk output stream that can only output to a stream...