LLVM: include/llvm/Transforms/Utils/Debugify.h File Reference (original) (raw)

Go to the source code of this file.

Classes
struct DebugInfoPerPass
Used to track the Debug Info Metadata information. More...
class NewPMDebugifyPass
struct DebugifyStatistics
Track how much debugify information (in the synthetic mode only) has been lost. More...
class NewPMCheckDebugifyPass
class llvm::DebugifyEachInstrumentation
class llvm::DebugifyCustomPassManager
DebugifyCustomPassManager wraps each pass with the debugify passes if needed. More...
Namespaces
namespace llvm
This is an optimization pass for GlobalISel generic memory operations.
Typedefs
using DebugFnMap
using DebugInstMap = llvm::MapVector<const llvm::Instruction *, bool>
using DebugVarMap = llvm::MapVector<const llvm::DILocalVariable *, unsigned>
using WeakInstValueMap
using DebugifyStatsMap = llvm::MapVector<llvm::StringRef, DebugifyStatistics>
Map pass names to a per-pass DebugifyStatistics instance.
Enumerations
enum class DebugifyMode { NoDebugify, SyntheticDebugInfo, OriginalDebugInfo }
Used to check whether we track synthetic or original debug info. More...
Functions
LLVM_ABI bool llvm::applyDebugifyMetadata (Module &M, iterator_range< Module::iterator > Functions, StringRef Banner, std::function< bool(DIBuilder &, Function &)> ApplyToMF)
Add synthesized debug information to a module.
LLVM_ABI bool llvm::stripDebugifyMetadata (Module &M)
Strip out all of the metadata and debug info inserted by debugify.
LLVM_ABI bool llvm::collectDebugInfoMetadata (Module &M, iterator_range< Module::iterator > Functions, DebugInfoPerPass &DebugInfoBeforePass, StringRef Banner, StringRef NameOfWrappedPass)
Collect original debug information before a pass.
LLVM_ABI bool llvm::checkDebugInfoMetadata (Module &M, iterator_range< Module::iterator > Functions, DebugInfoPerPass &DebugInfoBeforePass, StringRef Banner, StringRef NameOfWrappedPass, StringRef OrigDIVerifyBugsReportFilePath)
Check original debug information after a pass.
LLVM_ABI llvm::ModulePass * createDebugifyModulePass (enum DebugifyMode Mode=DebugifyMode::SyntheticDebugInfo, llvm::StringRef NameOfWrappedPass="", DebugInfoPerPass *DebugInfoBeforePass=nullptr)
LLVM_ABI llvm::FunctionPass * createDebugifyFunctionPass (enum DebugifyMode Mode=DebugifyMode::SyntheticDebugInfo, llvm::StringRef NameOfWrappedPass="", DebugInfoPerPass *DebugInfoBeforePass=nullptr)
LLVM_ABI llvm::ModulePass * createCheckDebugifyModulePass (bool Strip=false, llvm::StringRef NameOfWrappedPass="", DebugifyStatsMap *StatsMap=nullptr, enum DebugifyMode Mode=DebugifyMode::SyntheticDebugInfo, DebugInfoPerPass *DebugInfoBeforePass=nullptr, llvm::StringRef OrigDIVerifyBugsReportFilePath="")
LLVM_ABI llvm::FunctionPass * createCheckDebugifyFunctionPass (bool Strip=false, llvm::StringRef NameOfWrappedPass="", DebugifyStatsMap *StatsMap=nullptr, enum DebugifyMode Mode=DebugifyMode::SyntheticDebugInfo, DebugInfoPerPass *DebugInfoBeforePass=nullptr, llvm::StringRef OrigDIVerifyBugsReportFilePath="")
LLVM_ABI void llvm::exportDebugifyStats (StringRef Path, const DebugifyStatsMap &Map)

DebugFnMap

Initial value:

This class implements a map that also provides access to all stored values in a deterministic order.

Definition at line 29 of file Debugify.h.

DebugifyStatsMap

DebugInstMap

DebugVarMap

WeakInstValueMap

DebugifyMode

Used to check whether we track synthetic or original debug info.

Enumerator
NoDebugify
SyntheticDebugInfo
OriginalDebugInfo

Definition at line 98 of file Debugify.h.

createCheckDebugifyFunctionPass()

createCheckDebugifyModulePass()

createDebugifyFunctionPass()

createDebugifyModulePass()