LLVM: lib/Transforms/Utils/Debugify.cpp File Reference (original) (raw)

Go to the source code of this file.

Functions
static bool applyDebugify (Function &F, enum DebugifyMode Mode=DebugifyMode::SyntheticDebugInfo, DebugInfoPerPass *DebugInfoBeforePass=nullptr, StringRef NameOfWrappedPass="")
static bool applyDebugify (Module &M, enum DebugifyMode Mode=DebugifyMode::SyntheticDebugInfo, DebugInfoPerPass *DebugInfoBeforePass=nullptr, StringRef NameOfWrappedPass="")
static bool checkFunctions (const DebugFnMap &DIFunctionsBefore, const DebugFnMap &DIFunctionsAfter, StringRef NameOfWrappedPass, StringRef FileNameFromCU, bool ShouldWriteIntoJSON, llvm::json::Array &Bugs)
static bool checkInstructions (const DebugInstMap &DILocsBefore, const DebugInstMap &DILocsAfter, const WeakInstValueMap &InstToDelete, StringRef NameOfWrappedPass, StringRef FileNameFromCU, bool ShouldWriteIntoJSON, llvm::json::Array &Bugs)
static bool checkVars (const DebugVarMap &DIVarsBefore, const DebugVarMap &DIVarsAfter, StringRef NameOfWrappedPass, StringRef FileNameFromCU, bool ShouldWriteIntoJSON, llvm::json::Array &Bugs)
static void writeJSON (StringRef OrigDIVerifyBugsReportFilePath, StringRef FileNameFromCU, StringRef NameOfWrappedPass, llvm::json::Array &Bugs)
ModulePass * createDebugifyModulePass (enum DebugifyMode Mode, llvm::StringRef NameOfWrappedPass, DebugInfoPerPass *DebugInfoBeforePass)
FunctionPass * createDebugifyFunctionPass (enum DebugifyMode Mode, llvm::StringRef NameOfWrappedPass, DebugInfoPerPass *DebugInfoBeforePass)
ModulePass * createCheckDebugifyModulePass (bool Strip, StringRef NameOfWrappedPass, DebugifyStatsMap *StatsMap, enum DebugifyMode Mode, DebugInfoPerPass *DebugInfoBeforePass, StringRef OrigDIVerifyBugsReportFilePath)
FunctionPass * createCheckDebugifyFunctionPass (bool Strip, StringRef NameOfWrappedPass, DebugifyStatsMap *StatsMap, enum DebugifyMode Mode, DebugInfoPerPass *DebugInfoBeforePass, StringRef OrigDIVerifyBugsReportFilePath)
static bool isIgnoredPass (StringRef PassID)
Variables
static RegisterPass< DebugifyModulePass > DM ("debugify", "Attach debug info to everything")
static RegisterPass< CheckDebugifyModulePass > CDM ("check-debugify", "Check debug info from -debugify")
static RegisterPass< DebugifyFunctionPass > DF ("debugify-function", "Attach debug info to a function")
static RegisterPass< CheckDebugifyFunctionPass > CDF ("check-debugify-function", "Check debug info from -debugify-function")

DEBUG_TYPE

#define DEBUG_TYPE "debugify"

applyDebugify() [1/2]

applyDebugify() [2/2]

checkFunctions()

checkInstructions()

checkVars()

Definition at line 480 of file Debugify.cpp.

References llvm::MapVector< KeyT, ValueT, MapType, VectorType >::end(), llvm::MapVector< KeyT, ValueT, MapType, VectorType >::find(), getName(), getSubprogram(), and llvm::json::Array::push_back().

Referenced by llvm::checkDebugInfoMetadata().

createCheckDebugifyFunctionPass()

createCheckDebugifyModulePass()

createDebugifyFunctionPass()

createDebugifyModulePass()

isIgnoredPass()

writeJSON()

CDF

RegisterPass< CheckDebugifyFunctionPass > CDF("check-debugify-function", "Check debug info from -debugify-function") ( "check-debugify-function" , "Check debug info from -debugify-function" ) static

CDM

RegisterPass< CheckDebugifyModulePass > CDM("check-debugify", "Check debug info from -debugify") ( "check-debugify" , "Check debug info from -debugify" ) static

DF

RegisterPass< DebugifyFunctionPass > DF("debugify-function", "Attach debug info to a function") ( "debugify-function" , "Attach debug info to a function" ) static

Referenced by AttemptToFoldSymbolOffsetDifference(), llvm::RegionBase< RegionTraits< MachineFunction > >::clearNodeCache(), llvm::DILocation::cloneByMultiplyingDuplicationFactor(), llvm::DILocation::cloneWithBaseDiscriminator(), llvm::DILocation::decodeDiscriminator(), llvm::MCFragment::dump(), llvm::DWARFContext::dump(), llvm::MCObjectStreamer::emitBytes(), llvm::MCWinCOFFStreamer::emitCOFFImgRel32(), llvm::MCWinCOFFStreamer::emitCOFFSecNumber(), llvm::MCWinCOFFStreamer::emitCOFFSecOffset(), llvm::MCWinCOFFStreamer::emitCOFFSecRel32(), llvm::MCWinCOFFStreamer::emitCOFFSectionIndex(), llvm::MCObjectStreamer::emitDTPRel32Value(), llvm::MCObjectStreamer::emitDTPRel64Value(), llvm::MCObjectStreamer::emitGPRel32Value(), llvm::MCObjectStreamer::emitGPRel64Value(), llvm::MCXCOFFStreamer::emitInstToData(), llvm::MCWinCOFFStreamer::emitInstToData(), llvm::MCObjectStreamer::emitRelocDirective(), llvm::MCObjectStreamer::emitTPRel32Value(), llvm::MCObjectStreamer::emitTPRel64Value(), llvm::MCObjectStreamer::emitValueImpl(), llvm::MCXCOFFStreamer::emitXCOFFRefDirective(), llvm::DILocation::encodeDiscriminator(), llvm::RISCVAsmBackend::evaluateTargetFixup(), getOffsetAndDataFragment(), llvm::RISCVMCExpr::getPCRelHiFixup(), llvm::MCInstrInfo::InitMCInstrInfo(), isRightAfterData(), llvm::MCAssembler::layout(), llvm::MCAssembler::layoutBundle(), llvm::LoongArchAsmBackend::relaxDwarfCFA(), llvm::RISCVAsmBackend::relaxDwarfCFA(), llvm::LoongArchAsmBackend::relaxDwarfLineAddr(), llvm::RISCVAsmBackend::relaxDwarfLineAddr(), llvm::DominanceFrontierAnalysis::run(), llvm::RegionInfoAnalysis::run(), llvm::RegionInfoPass::runOnFunction(), llvm::MachineRegionInfoPass::runOnMachineFunction(), and llvm::MCAssembler::writeSectionData().

DM