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 = llvm::MapVector< const llvm::Function *, const llvm::DISubprogram * >
using DebugInstMap = llvm::MapVector< const llvm::Instruction *, bool >
using DebugVarMap = llvm::MapVector< const llvm::DILocalVariable *, unsigned >
using WeakInstValueMap = llvm::MapVector< const llvm::Instruction *, llvm::WeakVH >
using DebugifyStatsMap = llvm::MapVector< llvm::StringRef, DebugifyStatistics >
Map pass names to a per-pass DebugifyStatistics instance.
Functions
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.
bool llvm::stripDebugifyMetadata (Module &M)
Strip out all of the metadata and debug info inserted by debugify.
bool llvm::collectDebugInfoMetadata (Module &M, iterator_range< Module::iterator > Functions, DebugInfoPerPass &DebugInfoBeforePass, StringRef Banner, StringRef NameOfWrappedPass)
Collect original debug information before a pass.
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::ModulePass * createDebugifyModulePass (enum DebugifyMode Mode=DebugifyMode::SyntheticDebugInfo, llvm::StringRef NameOfWrappedPass="", DebugInfoPerPass *DebugInfoBeforePass=nullptr)
llvm::FunctionPass * createDebugifyFunctionPass (enum DebugifyMode Mode=DebugifyMode::SyntheticDebugInfo, llvm::StringRef NameOfWrappedPass="", DebugInfoPerPass *DebugInfoBeforePass=nullptr)
llvm::ModulePass * createCheckDebugifyModulePass (bool Strip=false, llvm::StringRef NameOfWrappedPass="", DebugifyStatsMap *StatsMap=nullptr, enum DebugifyMode Mode=DebugifyMode::SyntheticDebugInfo, DebugInfoPerPass *DebugInfoBeforePass=nullptr, llvm::StringRef OrigDIVerifyBugsReportFilePath="")
llvm::FunctionPass * createCheckDebugifyFunctionPass (bool Strip=false, llvm::StringRef NameOfWrappedPass="", DebugifyStatsMap *StatsMap=nullptr, enum DebugifyMode Mode=DebugifyMode::SyntheticDebugInfo, DebugInfoPerPass *DebugInfoBeforePass=nullptr, llvm::StringRef OrigDIVerifyBugsReportFilePath="")
void llvm::exportDebugifyStats (StringRef Path, const DebugifyStatsMap &Map)

DebugFnMap

DebugifyStatsMap

DebugInstMap

DebugVarMap

WeakInstValueMap

DebugifyMode

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

Enumerator
NoDebugify
SyntheticDebugInfo
OriginalDebugInfo

Definition at line 95 of file Debugify.h.

createCheckDebugifyFunctionPass()

createCheckDebugifyModulePass()

createDebugifyFunctionPass()

createDebugifyModulePass()