Skip to content

Commit 6be6400

Browse files
authored
[LiveDebugValues][NFC] Remove TargetPassConfig from LDVImpl (#131562)
TPC is only used to access the option `ShouldEmitDebugEntryValues`.
1 parent 0f34eba commit 6be6400

File tree

5 files changed

+31
-38
lines changed

5 files changed

+31
-38
lines changed

llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,6 @@
9999
#include "llvm/CodeGen/TargetFrameLowering.h"
100100
#include "llvm/CodeGen/TargetInstrInfo.h"
101101
#include "llvm/CodeGen/TargetLowering.h"
102-
#include "llvm/CodeGen/TargetPassConfig.h"
103102
#include "llvm/CodeGen/TargetRegisterInfo.h"
104103
#include "llvm/CodeGen/TargetSubtargetInfo.h"
105104
#include "llvm/Config/llvm-config.h"
@@ -270,12 +269,12 @@ class TransferTracker {
270269
TransferTracker(const TargetInstrInfo *TII, MLocTracker *MTracker,
271270
MachineFunction &MF, const DebugVariableMap &DVMap,
272271
const TargetRegisterInfo &TRI,
273-
const BitVector &CalleeSavedRegs, const TargetPassConfig &TPC)
272+
const BitVector &CalleeSavedRegs,
273+
bool ShouldEmitDebugEntryValues)
274274
: TII(TII), MTracker(MTracker), MF(MF), DVMap(DVMap), TRI(TRI),
275275
CalleeSavedRegs(CalleeSavedRegs) {
276276
TLI = MF.getSubtarget().getTargetLowering();
277-
auto &TM = TPC.getTM<TargetMachine>();
278-
ShouldEmitDebugEntryValues = TM.Options.ShouldEmitDebugEntryValues();
277+
this->ShouldEmitDebugEntryValues = ShouldEmitDebugEntryValues;
279278
}
280279

281280
bool isCalleeSaved(LocIdx L) const {
@@ -3547,9 +3546,9 @@ bool InstrRefBasedLDV::depthFirstVLocAndEmit(
35473546
const ScopeToVarsT &ScopeToVars, ScopeToAssignBlocksT &ScopeToAssignBlocks,
35483547
LiveInsT &Output, FuncValueTable &MOutLocs, FuncValueTable &MInLocs,
35493548
SmallVectorImpl<VLocTracker> &AllTheVLocs, MachineFunction &MF,
3550-
const TargetPassConfig &TPC) {
3551-
TTracker =
3552-
new TransferTracker(TII, MTracker, MF, DVMap, *TRI, CalleeSavedRegs, TPC);
3549+
bool ShouldEmitDebugEntryValues) {
3550+
TTracker = new TransferTracker(TII, MTracker, MF, DVMap, *TRI,
3551+
CalleeSavedRegs, ShouldEmitDebugEntryValues);
35533552
unsigned NumLocs = MTracker->getNumLocs();
35543553
VTracker = nullptr;
35553554

@@ -3692,15 +3691,14 @@ bool InstrRefBasedLDV::emitTransfers() {
36923691
/// extend ranges across basic blocks.
36933692
bool InstrRefBasedLDV::ExtendRanges(MachineFunction &MF,
36943693
MachineDominatorTree *DomTree,
3695-
TargetPassConfig *TPC,
3694+
bool ShouldEmitDebugEntryValues,
36963695
unsigned InputBBLimit,
36973696
unsigned InputDbgValLimit) {
36983697
// No subprogram means this function contains no debuginfo.
36993698
if (!MF.getFunction().getSubprogram())
37003699
return false;
37013700

37023701
LLVM_DEBUG(dbgs() << "\nDebug Range Extension\n");
3703-
this->TPC = TPC;
37043702

37053703
this->DomTree = DomTree;
37063704
TRI = MF.getSubtarget().getRegisterInfo();
@@ -3841,7 +3839,7 @@ bool InstrRefBasedLDV::ExtendRanges(MachineFunction &MF,
38413839
// the "else" block of this condition.
38423840
Changed = depthFirstVLocAndEmit(
38433841
MaxNumBlocks, ScopeToDILocation, ScopeToVars, ScopeToAssignBlocks,
3844-
SavedLiveIns, MOutLocs, MInLocs, vlocs, MF, *TPC);
3842+
SavedLiveIns, MOutLocs, MInLocs, vlocs, MF, ShouldEmitDebugEntryValues);
38453843
}
38463844

38473845
delete MTracker;

llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.h

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1160,7 +1160,6 @@ class InstrRefBasedLDV : public LDVImpl {
11601160
const MachineFrameInfo *MFI;
11611161
BitVector CalleeSavedRegs;
11621162
LexicalScopes LS;
1163-
TargetPassConfig *TPC;
11641163

11651164
// An empty DIExpression. Used default / placeholder DbgValueProperties
11661165
// objects, as we can't have null expressions.
@@ -1478,17 +1477,15 @@ class InstrRefBasedLDV : public LDVImpl {
14781477
/// block information can be fully computed before exploration finishes,
14791478
/// allowing us to emit it and free data structures earlier than otherwise.
14801479
/// It's also good for locality.
1481-
bool depthFirstVLocAndEmit(unsigned MaxNumBlocks,
1482-
const ScopeToDILocT &ScopeToDILocation,
1483-
const ScopeToVarsT &ScopeToVars,
1484-
ScopeToAssignBlocksT &ScopeToBlocks,
1485-
LiveInsT &Output, FuncValueTable &MOutLocs,
1486-
FuncValueTable &MInLocs,
1487-
SmallVectorImpl<VLocTracker> &AllTheVLocs,
1488-
MachineFunction &MF, const TargetPassConfig &TPC);
1480+
bool depthFirstVLocAndEmit(
1481+
unsigned MaxNumBlocks, const ScopeToDILocT &ScopeToDILocation,
1482+
const ScopeToVarsT &ScopeToVars, ScopeToAssignBlocksT &ScopeToBlocks,
1483+
LiveInsT &Output, FuncValueTable &MOutLocs, FuncValueTable &MInLocs,
1484+
SmallVectorImpl<VLocTracker> &AllTheVLocs, MachineFunction &MF,
1485+
bool ShouldEmitDebugEntryValues);
14891486

14901487
bool ExtendRanges(MachineFunction &MF, MachineDominatorTree *DomTree,
1491-
TargetPassConfig *TPC, unsigned InputBBLimit,
1488+
bool ShouldEmitDebugEntryValues, unsigned InputBBLimit,
14921489
unsigned InputDbgValLimit) override;
14931490

14941491
public:

llvm/lib/CodeGen/LiveDebugValues/LiveDebugValues.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -116,8 +116,10 @@ bool LiveDebugValues::runOnMachineFunction(MachineFunction &MF) {
116116
TheImpl = &*InstrRefImpl;
117117
}
118118

119-
return TheImpl->ExtendRanges(MF, DomTree, TPC, InputBBLimit,
120-
InputDbgValueLimit);
119+
return TheImpl->ExtendRanges(
120+
MF, DomTree,
121+
TPC->getTM<TargetMachine>().Options.ShouldEmitDebugEntryValues(),
122+
InputBBLimit, InputDbgValueLimit);
121123
}
122124

123125
bool llvm::debuginfoShouldUseDebugInstrRef(const Triple &T) {

llvm/lib/CodeGen/LiveDebugValues/LiveDebugValues.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,8 @@ inline namespace SharedLiveDebugValues {
2525
class LDVImpl {
2626
public:
2727
virtual bool ExtendRanges(MachineFunction &MF, MachineDominatorTree *DomTree,
28-
TargetPassConfig *TPC, unsigned InputBBLimit,
28+
bool ShouldEmitDebugEntryValues,
29+
unsigned InputBBLimit,
2930
unsigned InputDbgValLimit) = 0;
3031
virtual ~LDVImpl() = default;
3132
};

llvm/lib/CodeGen/LiveDebugValues/VarLocBasedImpl.cpp

Lines changed: 10 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,6 @@
131131
#include "llvm/CodeGen/TargetFrameLowering.h"
132132
#include "llvm/CodeGen/TargetInstrInfo.h"
133133
#include "llvm/CodeGen/TargetLowering.h"
134-
#include "llvm/CodeGen/TargetPassConfig.h"
135134
#include "llvm/CodeGen/TargetRegisterInfo.h"
136135
#include "llvm/CodeGen/TargetSubtargetInfo.h"
137136
#include "llvm/Config/llvm-config.h"
@@ -284,7 +283,7 @@ class VarLocBasedLDV : public LDVImpl {
284283
const TargetRegisterInfo *TRI;
285284
const TargetInstrInfo *TII;
286285
const TargetFrameLowering *TFI;
287-
TargetPassConfig *TPC;
286+
bool ShouldEmitDebugEntryValues;
288287
BitVector CalleeSavedRegs;
289288
LexicalScopes LS;
290289
VarLocSet::Allocator Alloc;
@@ -1088,7 +1087,7 @@ class VarLocBasedLDV : public LDVImpl {
10881087
void flushPendingLocs(VarLocInMBB &PendingInLocs, VarLocMap &VarLocIDs);
10891088

10901089
bool ExtendRanges(MachineFunction &MF, MachineDominatorTree *DomTree,
1091-
TargetPassConfig *TPC, unsigned InputBBLimit,
1090+
bool ShouldEmitDebugEntryValues, unsigned InputBBLimit,
10921091
unsigned InputDbgValLimit) override;
10931092

10941093
public:
@@ -1648,11 +1647,8 @@ void VarLocBasedLDV::transferRegisterDef(MachineInstr &MI,
16481647
collectIDsForRegs(KillSet, DeadRegs, OpenRanges.getVarLocs(), VarLocIDs);
16491648
OpenRanges.erase(KillSet, VarLocIDs, LocIndex::kUniversalLocation);
16501649

1651-
if (TPC) {
1652-
auto &TM = TPC->getTM<TargetMachine>();
1653-
if (TM.Options.ShouldEmitDebugEntryValues())
1654-
emitEntryValues(MI, OpenRanges, VarLocIDs, EntryValTransfers, KillSet);
1655-
}
1650+
if (ShouldEmitDebugEntryValues)
1651+
emitEntryValues(MI, OpenRanges, VarLocIDs, EntryValTransfers, KillSet);
16561652
}
16571653

16581654
void VarLocBasedLDV::transferWasmDef(MachineInstr &MI,
@@ -2189,11 +2185,8 @@ void VarLocBasedLDV::recordEntryValue(const MachineInstr &MI,
21892185
const DefinedRegsSet &DefinedRegs,
21902186
OpenRangesSet &OpenRanges,
21912187
VarLocMap &VarLocIDs) {
2192-
if (TPC) {
2193-
auto &TM = TPC->getTM<TargetMachine>();
2194-
if (!TM.Options.ShouldEmitDebugEntryValues())
2195-
return;
2196-
}
2188+
if (!ShouldEmitDebugEntryValues)
2189+
return;
21972190

21982191
DebugVariable V(MI.getDebugVariable(), MI.getDebugExpression(),
21992192
MI.getDebugLoc()->getInlinedAt());
@@ -2217,7 +2210,8 @@ void VarLocBasedLDV::recordEntryValue(const MachineInstr &MI,
22172210
/// extend ranges across basic blocks.
22182211
bool VarLocBasedLDV::ExtendRanges(MachineFunction &MF,
22192212
MachineDominatorTree *DomTree,
2220-
TargetPassConfig *TPC, unsigned InputBBLimit,
2213+
bool ShouldEmitDebugEntryValues,
2214+
unsigned InputBBLimit,
22212215
unsigned InputDbgValLimit) {
22222216
(void)DomTree;
22232217
LLVM_DEBUG(dbgs() << "\nDebug Range Extension: " << MF.getName() << "\n");
@@ -2235,7 +2229,8 @@ bool VarLocBasedLDV::ExtendRanges(MachineFunction &MF,
22352229
TII = MF.getSubtarget().getInstrInfo();
22362230
TFI = MF.getSubtarget().getFrameLowering();
22372231
TFI->getCalleeSaves(MF, CalleeSavedRegs);
2238-
this->TPC = TPC;
2232+
this->ShouldEmitDebugEntryValues = ShouldEmitDebugEntryValues;
2233+
22392234
LS.initialize(MF);
22402235

22412236
bool Changed = false;

0 commit comments

Comments
 (0)