class IRBuilderBase {
DebugLoc CurDbgLocation;
protected:
- /// Save the current debug location here while we are suppressing
- /// line table entries.
- llvm::DebugLoc SavedDbgLocation;
-
BasicBlock *BB;
BasicBlock::iterator InsertPt;
LLVMContext &Context;
CurDbgLocation = L;
}
- /// \brief Temporarily suppress DebugLocations from being attached
- /// to emitted instructions, until the next call to
- /// SetCurrentDebugLocation() or EnableDebugLocations(). Use this
- /// if you want an instruction to be counted towards the prologue or
- /// if there is no useful source location.
- void DisableDebugLocations() {
- llvm::DebugLoc Empty;
- SavedDbgLocation = getCurrentDebugLocation();
- SetCurrentDebugLocation(Empty);
- }
-
- /// \brief Restore the previously saved DebugLocation.
- void EnableDebugLocations() {
- assert(CurDbgLocation.isUnknown());
- SetCurrentDebugLocation(SavedDbgLocation);
- }
-
/// \brief Get location information used by debugging information.
DebugLoc getCurrentDebugLocation() const { return CurDbgLocation; }