LLVM 22.0.0git
|
A class to collect and print dropped debug information due to MIR optimization passes. More...
#include "llvm/CodeGen/DroppedVariableStatsMIR.h"
Public Member Functions | |
DroppedVariableStatsMIR () | |
void | runBeforePass (StringRef PassID, MachineFunction *MF) |
void | runAfterPass (StringRef PassID, MachineFunction *MF) |
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 MIR optimization passes.
After every MIR pass is run, it will print how many #DBG_VALUEs were dropped due to that pass.
Definition at line 26 of file DroppedVariableStatsMIR.h.
|
inline |
Definition at line 28 of file DroppedVariableStatsMIR.h.
References llvm::DroppedVariableStats::DroppedVariableStats().
void DroppedVariableStatsMIR::runAfterPass | ( | StringRef | PassID, |
MachineFunction * | MF ) |
Definition at line 27 of file DroppedVariableStatsMIR.cpp.
References llvm::DroppedVariableStats::cleanup(), llvm::MachineFunction::getName(), and llvm::StringRef::str().
void DroppedVariableStatsMIR::runBeforePass | ( | StringRef | PassID, |
MachineFunction * | MF ) |
Definition at line 19 of file DroppedVariableStatsMIR.cpp.
References llvm::DroppedVariableStats::setup().