|
LLVM
4.0.0
|
#include "LiveDebugVariables.h"#include "llvm/ADT/IntervalMap.h"#include "llvm/ADT/Statistic.h"#include "llvm/CodeGen/LiveIntervalAnalysis.h"#include "llvm/CodeGen/MachineDominators.h"#include "llvm/CodeGen/MachineFunction.h"#include "llvm/CodeGen/MachineInstrBuilder.h"#include "llvm/CodeGen/MachineRegisterInfo.h"#include "llvm/CodeGen/Passes.h"#include "llvm/CodeGen/VirtRegMap.h"#include "llvm/IR/Constants.h"#include "llvm/IR/DebugInfo.h"#include "llvm/IR/Metadata.h"#include "llvm/IR/Value.h"#include "llvm/Support/CommandLine.h"#include "llvm/Support/Debug.h"#include "llvm/Support/raw_ostream.h"#include "llvm/Target/TargetInstrInfo.h"#include "llvm/Target/TargetMachine.h"#include "llvm/Target/TargetRegisterInfo.h"#include "llvm/Target/TargetSubtargetInfo.h"#include <memory>#include <utility>Go to the source code of this file.
Macros | |
| #define | DEBUG_TYPE "livedebug" |
Typedefs | |
| typedef IntervalMap< SlotIndex, unsigned, 4 > | LocMap |
| LocMap - Map of where a user value is live, and its location. More... | |
Functions | |
| STATISTIC (NumInsertedDebugValues,"Number of DBG_VALUEs inserted") | |
| INITIALIZE_PASS_BEGIN (LiveDebugVariables,"livedebugvars","Debug Variable Analysis", false, false) INITIALIZE_PASS_END(LiveDebugVariables | |
| static void | printDebugLoc (const DebugLoc &DL, raw_ostream &CommentOS, const LLVMContext &Ctx) |
| static void | printExtendedName (raw_ostream &OS, const DILocalVariable *V, const DILocation *DL) |
| static void | removeDebugValues (MachineFunction &mf) |
| static MachineBasicBlock::iterator | findInsertLocation (MachineBasicBlock *MBB, SlotIndex Idx, LiveIntervals &LIS) |
| findInsertLocation - Find an iterator for inserting a DBG_VALUE instruction. More... | |
Variables | |
| static cl::opt< bool > | EnableLDV ("live-debug-variables", cl::init(true), cl::desc("Enable the live debug variables pass"), cl::Hidden) |
| livedebugvars | |
| Debug Variable | Analysis |
| Debug Variable | false |
| #define DEBUG_TYPE "livedebug" |
Definition at line 48 of file LiveDebugVariables.cpp.
| typedef IntervalMap<SlotIndex, unsigned, 4> LocMap |
LocMap - Map of where a user value is live, and its location.
Definition at line 76 of file LiveDebugVariables.cpp.
|
static |
findInsertLocation - Find an iterator for inserting a DBG_VALUE instruction.
Definition at line 910 of file LiveDebugVariables.cpp.
References llvm::MachineBasicBlock::begin(), llvm::SlotIndex::getBaseIndex(), llvm::MachineBasicBlock::getFirstTerminator(), llvm::LiveIntervals::getInstructionFromIndex(), llvm::LiveIntervals::getMBBStartIdx(), llvm::SlotIndex::getPrevIndex(), I, llvm::MachineInstr::isTerminator(), MI, and llvm::MachineBasicBlock::SkipPHIsLabelsAndDebug().
| INITIALIZE_PASS_BEGIN | ( | LiveDebugVariables | , |
| "livedebugvars" | , | ||
| "Debug Variable Analysis" | , | ||
| false | , | ||
| false | |||
| ) |
|
static |
Definition at line 333 of file LiveDebugVariables.cpp.
References llvm::DebugLoc::getCol(), llvm::DebugLoc::getInlinedAt(), llvm::DebugLoc::getLine(), and llvm::DebugLoc::getScope().
Referenced by printExtendedName().
|
static |
Definition at line 354 of file LiveDebugVariables.cpp.
References llvm::StringRef::empty(), llvm::MDNode::getContext(), llvm::DIVariable::getLine(), llvm::DIVariable::getName(), and printDebugLoc().
|
static |
Definition at line 706 of file LiveDebugVariables.cpp.
References llvm::MachineBasicBlock::begin(), llvm::MachineBasicBlock::end(), and llvm::MachineBasicBlock::erase().
| STATISTIC | ( | NumInsertedDebugValues | , |
| "Number of DBG_VALUEs inserted" | |||
| ) |
| Debug Variable Analysis |
Definition at line 61 of file LiveDebugVariables.cpp.
|
static |
| Debug Variable false |
Definition at line 61 of file LiveDebugVariables.cpp.
| livedebugvars |
Definition at line 61 of file LiveDebugVariables.cpp.
1.8.6