LLVM 20.0.0git
|
The RemoveRedundantDebugValues pass removes redundant DBG_VALUEs that appear in MIR after the register allocator. More...
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/DenseSet.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/CodeGen/MachineBasicBlock.h"
#include "llvm/CodeGen/MachineFunctionPass.h"
#include "llvm/CodeGen/TargetSubtargetInfo.h"
#include "llvm/IR/DebugInfoMetadata.h"
#include "llvm/IR/Function.h"
#include "llvm/InitializePasses.h"
#include "llvm/Pass.h"
#include "llvm/PassRegistry.h"
Go to the source code of this file.
Macros | |
#define | DEBUG_TYPE "removeredundantdebugvalues" |
Functions | |
STATISTIC (NumRemovedBackward, "Number of DBG_VALUEs removed (backward scan)") | |
STATISTIC (NumRemovedForward, "Number of DBG_VALUEs removed (forward scan)") | |
INITIALIZE_PASS (RemoveRedundantDebugValues, DEBUG_TYPE, "Remove Redundant DEBUG_VALUE analysis", false, false) RemoveRedundantDebugValues | |
Default construct and initialize the pass. | |
static bool | reduceDbgValsForwardScan (MachineBasicBlock &MBB) |
static bool | reduceDbgValsBackwardScan (MachineBasicBlock &MBB) |
The RemoveRedundantDebugValues pass removes redundant DBG_VALUEs that appear in MIR after the register allocator.
Definition in file RemoveRedundantDebugValues.cpp.
#define DEBUG_TYPE "removeredundantdebugvalues" |
Definition at line 27 of file RemoveRedundantDebugValues.cpp.
INITIALIZE_PASS | ( | RemoveRedundantDebugValues | , |
DEBUG_TYPE | , | ||
"Remove Redundant DEBUG_VALUE analysis" | , | ||
false | , | ||
false | |||
) |
Default construct and initialize the pass.
Definition at line 63 of file RemoveRedundantDebugValues.cpp.
References llvm::PassRegistry::getPassRegistry(), and llvm::initializeRemoveRedundantDebugValuesPass().
|
static |
Definition at line 156 of file RemoveRedundantDebugValues.cpp.
References llvm::detail::DenseSetImpl< ValueT, MapTy, ValueInfoT >::clear(), llvm::dbgs(), llvm::SmallVectorBase< Size_T >::empty(), llvm::detail::DenseSetImpl< ValueT, MapTy, ValueInfoT >::erase(), llvm::detail::DenseSetImpl< ValueT, MapTy, ValueInfoT >::insert(), llvm::MachineOperand::isReg(), LLVM_DEBUG, MBB, MI, llvm::SmallVectorTemplateBase< T, bool >::push_back(), and llvm::reverse().
|
static |
Definition at line 82 of file RemoveRedundantDebugValues.cpp.
References llvm::dbgs(), llvm::SmallVectorBase< Size_T >::empty(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::end(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::erase(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::find(), llvm::MachineBasicBlock::getParent(), llvm::MachineOperand::getReg(), llvm::TargetSubtargetInfo::getRegisterInfo(), llvm::MachineFunction::getSubtarget(), llvm::MachineOperand::isReg(), LLVM_DEBUG, MBB, MI, llvm::SmallVectorTemplateBase< T, bool >::push_back(), and TRI.
STATISTIC | ( | NumRemovedBackward | , |
"Number of DBG_VALUEs removed (backward scan)" | |||
) |
STATISTIC | ( | NumRemovedForward | , |
"Number of DBG_VALUEs removed (forward scan)" | |||
) |