LLVM 20.0.0git
|
#include "llvm/ADT/MapVector.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Bitcode/BitcodeWriterPass.h"
#include "llvm/IR/IRPrintingPasses.h"
#include "llvm/IR/LegacyPassManager.h"
#include "llvm/IR/Module.h"
#include "llvm/IR/PassInstrumentation.h"
#include "llvm/IR/PassManager.h"
#include "llvm/IR/ValueHandle.h"
#include "llvm/Pass.h"
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. | |
Enumerations | |
enum class | DebugifyMode { NoDebugify , SyntheticDebugInfo , OriginalDebugInfo } |
Used to check whether we track synthetic or original debug info. More... | |
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) |
using DebugFnMap = llvm::MapVector<const llvm::Function *, const llvm::DISubprogram *> |
Definition at line 28 of file Debugify.h.
Map pass names to a per-pass DebugifyStatistics instance.
Definition at line 148 of file Debugify.h.
using DebugInstMap = llvm::MapVector<const llvm::Instruction *, bool> |
Definition at line 30 of file Debugify.h.
using DebugVarMap = llvm::MapVector<const llvm::DILocalVariable *, unsigned> |
Definition at line 31 of file Debugify.h.
Definition at line 32 of file Debugify.h.
|
strong |
Used to check whether we track synthetic or original debug info.
Enumerator | |
---|---|
NoDebugify | |
SyntheticDebugInfo | |
OriginalDebugInfo |
Definition at line 95 of file Debugify.h.
llvm::FunctionPass * createCheckDebugifyFunctionPass | ( | bool | Strip = false , |
llvm::StringRef | NameOfWrappedPass = "" , |
||
DebugifyStatsMap * | StatsMap = nullptr , |
||
enum DebugifyMode | Mode = DebugifyMode::SyntheticDebugInfo , |
||
DebugInfoPerPass * | DebugInfoBeforePass = nullptr , |
||
llvm::StringRef | OrigDIVerifyBugsReportFilePath = "" |
||
) |
Definition at line 1025 of file Debugify.cpp.
References assert(), OriginalDebugInfo, and SyntheticDebugInfo.
Referenced by llvm::DebugifyCustomPassManager::add().
llvm::ModulePass * createCheckDebugifyModulePass | ( | bool | Strip = false , |
llvm::StringRef | NameOfWrappedPass = "" , |
||
DebugifyStatsMap * | StatsMap = nullptr , |
||
enum DebugifyMode | Mode = DebugifyMode::SyntheticDebugInfo , |
||
DebugInfoPerPass * | DebugInfoBeforePass = nullptr , |
||
llvm::StringRef | OrigDIVerifyBugsReportFilePath = "" |
||
) |
Definition at line 1013 of file Debugify.cpp.
References assert(), OriginalDebugInfo, and SyntheticDebugInfo.
Referenced by llvm::DebugifyCustomPassManager::add().
llvm::FunctionPass * createDebugifyFunctionPass | ( | enum DebugifyMode | Mode = DebugifyMode::SyntheticDebugInfo , |
llvm::StringRef | NameOfWrappedPass = "" , |
||
DebugInfoPerPass * | DebugInfoBeforePass = nullptr |
||
) |
Definition at line 990 of file Debugify.cpp.
References assert(), OriginalDebugInfo, and SyntheticDebugInfo.
Referenced by llvm::DebugifyCustomPassManager::add().
llvm::ModulePass * createDebugifyModulePass | ( | enum DebugifyMode | Mode = DebugifyMode::SyntheticDebugInfo , |
llvm::StringRef | NameOfWrappedPass = "" , |
||
DebugInfoPerPass * | DebugInfoBeforePass = nullptr |
||
) |
Definition at line 980 of file Debugify.cpp.
References assert(), OriginalDebugInfo, and SyntheticDebugInfo.
Referenced by llvm::DebugifyCustomPassManager::add().