LLVM 22.0.0git
llvm::DroppedVariableStatsMIR Class Reference

A class to collect and print dropped debug information due to MIR optimization passes. More...

#include "llvm/CodeGen/DroppedVariableStatsMIR.h"

Inheritance diagram for llvm::DroppedVariableStatsMIR:
[legend]

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.

Detailed Description

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.

Constructor & Destructor Documentation

◆ DroppedVariableStatsMIR()

llvm::DroppedVariableStatsMIR::DroppedVariableStatsMIR ( )
inline

Member Function Documentation

◆ runAfterPass()

void DroppedVariableStatsMIR::runAfterPass ( StringRef PassID,
MachineFunction * MF )

◆ runBeforePass()

void DroppedVariableStatsMIR::runBeforePass ( StringRef PassID,
MachineFunction * MF )

Definition at line 19 of file DroppedVariableStatsMIR.cpp.

References llvm::DroppedVariableStats::setup().


The documentation for this class was generated from the following files: