15 #ifndef LLVM_IR_DEBUGLOC_H 16 #define LLVM_IR_DEBUGLOC_H 67 explicit operator bool()
const {
return Loc; }
80 static DebugLoc get(
unsigned Line,
unsigned Col,
const MDNode *Scope,
81 const MDNode *InlinedAt =
nullptr,
82 bool ImplicitCode =
false);
92 bool ReplaceLast =
false);
This class represents lattice values for constants.
bool operator==(const DebugLoc &DL) const
static DebugLoc appendInlinedAt(DebugLoc DL, DILocation *InlinedAt, LLVMContext &Ctx, DenseMap< const MDNode *, MDNode *> &Cache, bool ReplaceLast=false)
Rebuild the entire inlined-at chain for this instruction so that the top of the chain now is inlined-...
void print(raw_ostream &OS) const
prints source location /path/to/file.exe:line:col @[inlined at]
bool operator!=(const DebugLoc &DL) const
MDNode * getInlinedAtScope() const
Get the fully inlined-at scope for a DebugLoc.
bool isImplicitCode() const
Check if the DebugLoc corresponds to an implicit code.
DILocation & operator*() const
This is an important class for using LLVM in a threaded context.
MDNode * getScope() const
DILocation * getInlinedAt() const
DILocation * operator->() const
MDNode * getAsMDNode() const
Return this as a bar MDNode.
DebugLoc getFnDebugLoc() const
Find the debug info location for the start of the function.
bool hasTrivialDestructor() const
Check whether this has a trivial destructor.
This class implements an extremely fast bulk output stream that can only output to a stream...
void setImplicitCode(bool ImplicitCode)
bool hasTrivialDestructor() const
Check whether this has a trivial destructor.