LLVM 22.0.0git
llvm::DroppedVariableStatsIR Class Reference

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

#include "llvm/IR/DroppedVariableStatsIR.h"

Inheritance diagram for llvm::DroppedVariableStatsIR:
[legend]

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.

Detailed Description

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.

Constructor & Destructor Documentation

◆ DroppedVariableStatsIR()

llvm::DroppedVariableStatsIR::DroppedVariableStatsIR ( bool DroppedVarStatsEnabled)
inline

Member Function Documentation

◆ registerCallbacks()

◆ runAfterPass()

void DroppedVariableStatsIR::runAfterPass ( StringRef P,
Any IR )

Definition at line 36 of file DroppedVariableStatsIR.cpp.

References llvm::DroppedVariableStats::cleanup(), F, IR, and P.

Referenced by registerCallbacks().

◆ runBeforePass()

void DroppedVariableStatsIR::runBeforePass ( StringRef P,
Any IR )

Definition at line 28 of file DroppedVariableStatsIR.cpp.

References F, IR, P, and llvm::DroppedVariableStats::setup().

Referenced by registerCallbacks().


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