LLVM 22.0.0git
|
A class to collect and print dropped debug information due to LLVM IR optimization passes. More...
#include "llvm/IR/DroppedVariableStatsIR.h"
Public Member Functions | |
DroppedVariableStatsIR (bool DroppedVarStatsEnabled) | |
void | runBeforePass (StringRef P, Any IR) |
void | runAfterPass (StringRef P, Any IR) |
void | registerCallbacks (PassInstrumentationCallbacks &PIC) |
Public Member Functions inherited from llvm::DroppedVariableStats | |
LLVM_ABI | DroppedVariableStats (bool DroppedVarStatsEnabled) |
virtual | ~DroppedVariableStats () |
DroppedVariableStats (const DroppedVariableStats &)=delete | |
void | operator= (const DroppedVariableStats &)=delete |
bool | getPassDroppedVariables () |
Additional Inherited Members | |
Protected Member Functions inherited from llvm::DroppedVariableStats | |
LLVM_ABI void | setup () |
LLVM_ABI void | cleanup () |
LLVM_ABI void | calculateDroppedStatsAndPrint (DebugVariables &DbgVariables, StringRef FuncName, StringRef PassID, StringRef FuncOrModName, StringRef PassLevel, const Function *Func) |
Calculate the number of dropped variables in an llvm::Function or llvm::MachineFunction and print the relevant information to stdout. | |
LLVM_ABI bool | updateDroppedCount (DILocation *DbgLoc, const DIScope *Scope, const DIScope *DbgValScope, DenseMap< VarID, DILocation * > &InlinedAtsMap, VarID Var, unsigned &DroppedCount) |
Check if a Var has been dropped or is a false positive. | |
LLVM_ABI void | run (DebugVariables &DbgVariables, StringRef FuncName, bool Before) |
Run code to populate relevant data structures over an llvm::Function or llvm::MachineFunction. | |
LLVM_ABI void | populateVarIDSetAndInlinedMap (const DILocalVariable *DbgVar, DebugLoc DbgLoc, DenseSet< VarID > &VarIDSet, DenseMap< StringRef, DenseMap< VarID, DILocation * > > &InlinedAtsMap, StringRef FuncName, bool Before) |
Populate the VarIDSet and InlinedAtMap with the relevant information needed for before and after pass analysis to determine dropped variable status. | |
Protected Attributes inherited from llvm::DroppedVariableStats | |
bool | DroppedVariableStatsEnabled = false |
SmallVector< DenseMap< const Function *, DebugVariables > > | DebugVariablesStack |
A stack of a DenseMap, that maps DebugVariables for every pass to an llvm::Function. | |
DenseSet< const DIScope * > | VisitedScope |
A DenseSet tracking whether a scope was visited before. | |
SmallVector< DenseMap< StringRef, DenseMap< VarID, DILocation * > > > | InlinedAts |
A stack of DenseMaps, which map the name of an llvm::Function to a DenseMap of VarIDs and their inlinedAt locations before an optimization pass has run. |
A class to collect and print dropped debug information due to LLVM IR optimization passes.
After every LLVM IR pass is run, it will print how many #dbg_values were dropped due to that pass.
Definition at line 32 of file DroppedVariableStatsIR.h.
|
inline |
Definition at line 34 of file DroppedVariableStatsIR.h.
References llvm::DroppedVariableStats::DroppedVariableStats().
void DroppedVariableStatsIR::registerCallbacks | ( | PassInstrumentationCallbacks & | PIC | ) |
Definition at line 89 of file DroppedVariableStatsIR.cpp.
References llvm::DroppedVariableStats::cleanup(), llvm::DroppedVariableStats::DroppedVariableStatsEnabled, IR, P, PIC, runAfterPass(), and runBeforePass().
Definition at line 36 of file DroppedVariableStatsIR.cpp.
References llvm::DroppedVariableStats::cleanup(), F, IR, and P.
Referenced by registerCallbacks().
Definition at line 28 of file DroppedVariableStatsIR.cpp.
References F, IR, P, and llvm::DroppedVariableStats::setup().
Referenced by registerCallbacks().