Skip to content

Commit bdf50f0

Browse files
committed
[CodeGen] Use Register or MCRegister. NFC
1 parent d0b8f5d commit bdf50f0

19 files changed

+36
-38
lines changed

llvm/include/llvm/CodeGen/DetectDeadLanes.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ namespace llvm {
3737
class MachineInstr;
3838
class MachineOperand;
3939
class MachineRegisterInfo;
40+
class Register;
4041
class TargetRegisterInfo;
4142

4243
class DeadLaneDetector {
@@ -92,8 +93,8 @@ class DeadLaneDetector {
9293
const MachineOperand &MO) const;
9394

9495
private:
95-
LaneBitmask determineInitialDefinedLanes(unsigned Reg);
96-
LaneBitmask determineInitialUsedLanes(unsigned Reg);
96+
LaneBitmask determineInitialDefinedLanes(Register Reg);
97+
LaneBitmask determineInitialUsedLanes(Register Reg);
9798

9899
const MachineRegisterInfo *MRI;
99100
const TargetRegisterInfo *TRI;

llvm/include/llvm/CodeGen/ExecutionDomainFix.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ class ExecutionDomainFix : public MachineFunctionPass {
156156
/// Translate TRI register number to a list of indices into our smaller tables
157157
/// of interesting registers.
158158
iterator_range<SmallVectorImpl<int>::const_iterator>
159-
regIndices(unsigned Reg) const;
159+
regIndices(MCRegister Reg) const;
160160

161161
/// DomainValue allocation.
162162
DomainValue *alloc(int domain = -1);

llvm/include/llvm/CodeGen/LiveRangeCalc.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@ class LiveRangeCalc {
147147
///
148148
/// PhysReg, when set, is used to verify live-in lists on basic blocks.
149149
bool findReachingDefs(LiveRange &LR, MachineBasicBlock &UseMBB, SlotIndex Use,
150-
unsigned PhysReg, ArrayRef<SlotIndex> Undefs);
150+
Register PhysReg, ArrayRef<SlotIndex> Undefs);
151151

152152
/// updateSSA - Compute the values that will be live in to all requested
153153
/// blocks in LiveIn. Create PHI-def values as required to preserve SSA form.
@@ -204,7 +204,7 @@ class LiveRangeCalc {
204204
/// inserted as required to preserve SSA form.
205205
///
206206
/// PhysReg, when set, is used to verify live-in lists on basic blocks.
207-
void extend(LiveRange &LR, SlotIndex Use, unsigned PhysReg,
207+
void extend(LiveRange &LR, SlotIndex Use, Register PhysReg,
208208
ArrayRef<SlotIndex> Undefs);
209209

210210
//===--------------------------------------------------------------------===//

llvm/include/llvm/CodeGen/LiveRegMatrix.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ class LiveRegMatrix {
5656

5757
// Cached register mask interference info.
5858
unsigned RegMaskTag = 0;
59-
unsigned RegMaskVirtReg = 0;
59+
Register RegMaskVirtReg;
6060
BitVector RegMaskUsable;
6161

6262
LiveRegMatrix()

llvm/include/llvm/CodeGen/LiveVariables.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ class LiveVariables {
135135
// register references are presumed dead across basic blocks.
136136
std::vector<MachineInstr *> PhysRegUse;
137137

138-
std::vector<SmallVector<unsigned, 4>> PHIVarInfo;
138+
std::vector<SmallVector<Register, 4>> PHIVarInfo;
139139

140140
// DistanceMap - Keep track the distance of a MI from the start of the
141141
// current basic block.

llvm/lib/CodeGen/AllocationOrder.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ using namespace llvm;
2626
#define DEBUG_TYPE "regalloc"
2727

2828
// Compare VirtRegMap::getRegAllocPref().
29-
AllocationOrder AllocationOrder::create(unsigned VirtReg, const VirtRegMap &VRM,
29+
AllocationOrder AllocationOrder::create(Register VirtReg, const VirtRegMap &VRM,
3030
const RegisterClassInfo &RegClassInfo,
3131
const LiveRegMatrix *Matrix) {
3232
const MachineFunction &MF = VRM.getMachineFunction();

llvm/lib/CodeGen/AllocationOrder.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ class LLVM_LIBRARY_VISIBILITY AllocationOrder {
8181
/// @param VirtReg Virtual register to allocate for.
8282
/// @param VRM Virtual register map for function.
8383
/// @param RegClassInfo Information about reserved and allocatable registers.
84-
static AllocationOrder create(unsigned VirtReg, const VirtRegMap &VRM,
84+
static AllocationOrder create(Register VirtReg, const VirtRegMap &VRM,
8585
const RegisterClassInfo &RegClassInfo,
8686
const LiveRegMatrix *Matrix);
8787

llvm/lib/CodeGen/DetectDeadLanes.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -265,7 +265,7 @@ LaneBitmask DeadLaneDetector::transferDefinedLanes(
265265
return DefinedLanes;
266266
}
267267

268-
LaneBitmask DeadLaneDetector::determineInitialDefinedLanes(unsigned Reg) {
268+
LaneBitmask DeadLaneDetector::determineInitialDefinedLanes(Register Reg) {
269269
// Live-In or unused registers have no definition but are considered fully
270270
// defined.
271271
if (!MRI->hasOneDef(Reg))
@@ -330,7 +330,7 @@ LaneBitmask DeadLaneDetector::determineInitialDefinedLanes(unsigned Reg) {
330330
return MRI->getMaxLaneMaskForVReg(Reg);
331331
}
332332

333-
LaneBitmask DeadLaneDetector::determineInitialUsedLanes(unsigned Reg) {
333+
LaneBitmask DeadLaneDetector::determineInitialUsedLanes(Register Reg) {
334334
LaneBitmask UsedLanes = LaneBitmask::getNone();
335335
for (const MachineOperand &MO : MRI->use_nodbg_operands(Reg)) {
336336
if (!MO.readsReg())

llvm/lib/CodeGen/ExecutionDomainFix.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ using namespace llvm;
1616
#define DEBUG_TYPE "execution-deps-fix"
1717

1818
iterator_range<SmallVectorImpl<int>::const_iterator>
19-
ExecutionDomainFix::regIndices(unsigned Reg) const {
19+
ExecutionDomainFix::regIndices(MCRegister Reg) const {
2020
assert(Reg < AliasMap.size() && "Invalid register");
2121
const auto &Entry = AliasMap[Reg];
2222
return make_range(Entry.begin(), Entry.end());

llvm/lib/CodeGen/FixupStatepointCallerSaved.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -425,7 +425,7 @@ class StatepointState {
425425
}
426426
}
427427

428-
void insertReloadBefore(unsigned Reg, MachineBasicBlock::iterator It,
428+
void insertReloadBefore(Register Reg, MachineBasicBlock::iterator It,
429429
MachineBasicBlock *MBB) {
430430
const TargetRegisterClass *RC = TRI.getMinimalPhysRegClass(Reg);
431431
int FI = RegToSlotIdx[Reg];

llvm/lib/CodeGen/GlobalISel/Localizer.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ unsigned Localizer::getNumPhiUses(MachineOperand &Op) const {
7676
bool Localizer::localizeInterBlock(MachineFunction &MF,
7777
LocalizedSetVecT &LocalizedInstrs) {
7878
bool Changed = false;
79-
DenseMap<std::pair<MachineBasicBlock *, unsigned>, unsigned> MBBWithLocalDef;
79+
DenseMap<std::pair<MachineBasicBlock *, Register>, Register> MBBWithLocalDef;
8080

8181
// Since the IRTranslator only emits constants into the entry block, and the
8282
// rest of the GISel pipeline generally emits constants close to their users,
@@ -136,7 +136,7 @@ bool Localizer::localizeInterBlock(MachineFunction &MF,
136136
Register NewReg = MRI->cloneVirtualRegister(Reg);
137137
LocalizedMI->getOperand(0).setReg(NewReg);
138138
NewVRegIt =
139-
MBBWithLocalDef.insert(std::make_pair(MBBAndReg, NewReg)).first;
139+
MBBWithLocalDef.try_emplace(MBBAndReg, NewReg).first;
140140
LLVM_DEBUG(dbgs() << "Inserted: " << *LocalizedMI);
141141
}
142142
LLVM_DEBUG(dbgs() << "Update use with: " << printReg(NewVRegIt->second)

llvm/lib/CodeGen/LiveInterval.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -869,14 +869,14 @@ void LiveInterval::clearSubRanges() {
869869
/// For each VNI in \p SR, check whether or not that value defines part
870870
/// of the mask describe by \p LaneMask and if not, remove that value
871871
/// from \p SR.
872-
static void stripValuesNotDefiningMask(unsigned Reg, LiveInterval::SubRange &SR,
872+
static void stripValuesNotDefiningMask(Register Reg, LiveInterval::SubRange &SR,
873873
LaneBitmask LaneMask,
874874
const SlotIndexes &Indexes,
875875
const TargetRegisterInfo &TRI,
876876
unsigned ComposeSubRegIdx) {
877877
// Phys reg should not be tracked at subreg level.
878878
// Same for noreg (Reg == 0).
879-
if (!Register::isVirtualRegister(Reg) || !Reg)
879+
if (!Reg || !Reg.isVirtual())
880880
return;
881881
// Remove the values that don't define those lanes.
882882
SmallVector<VNInfo *, 8> ToBeRemoved;

llvm/lib/CodeGen/LiveRangeCalc.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ void LiveRangeCalc::updateFromLiveIns() {
8383
LiveIn.clear();
8484
}
8585

86-
void LiveRangeCalc::extend(LiveRange &LR, SlotIndex Use, unsigned PhysReg,
86+
void LiveRangeCalc::extend(LiveRange &LR, SlotIndex Use, Register PhysReg,
8787
ArrayRef<SlotIndex> Undefs) {
8888
assert(Use.isValid() && "Invalid SlotIndex");
8989
assert(Indexes && "Missing SlotIndexes");
@@ -188,7 +188,7 @@ bool LiveRangeCalc::isDefOnEntry(LiveRange &LR, ArrayRef<SlotIndex> Undefs,
188188
}
189189

190190
bool LiveRangeCalc::findReachingDefs(LiveRange &LR, MachineBasicBlock &UseMBB,
191-
SlotIndex Use, unsigned PhysReg,
191+
SlotIndex Use, Register PhysReg,
192192
ArrayRef<SlotIndex> Undefs) {
193193
unsigned UseMBBNum = UseMBB.getNumber();
194194

@@ -216,7 +216,7 @@ bool LiveRangeCalc::findReachingDefs(LiveRange &LR, MachineBasicBlock &UseMBB,
216216
report_fatal_error("Use not jointly dominated by defs.");
217217
}
218218

219-
if (Register::isPhysicalRegister(PhysReg)) {
219+
if (PhysReg.isPhysical()) {
220220
const TargetRegisterInfo *TRI = MRI->getTargetRegisterInfo();
221221
bool IsLiveIn = MBB->isLiveIn(PhysReg);
222222
for (MCRegAliasIterator Alias(PhysReg, TRI, false); !IsLiveIn && Alias.isValid(); ++Alias)

llvm/lib/CodeGen/LiveRangeShrink.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ bool LiveRangeShrink::runOnMachineFunction(MachineFunction &MF) {
119119
// register is used last. When moving instructions up, we need to
120120
// make sure all its defs (including dead def) will not cross its
121121
// last use when moving up.
122-
DenseMap<unsigned, std::pair<unsigned, MachineInstr *>> UseMap;
122+
DenseMap<Register, std::pair<unsigned, MachineInstr *>> UseMap;
123123

124124
for (MachineBasicBlock &MBB : MF) {
125125
if (MBB.empty())

llvm/lib/CodeGen/LiveVariables.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -597,9 +597,9 @@ void LiveVariables::runOnBlock(MachineBasicBlock *MBB, unsigned NumRegs) {
597597
// if they have PHI nodes, and if so, we simulate an assignment at the end
598598
// of the current block.
599599
if (!PHIVarInfo[MBB->getNumber()].empty()) {
600-
SmallVectorImpl<unsigned> &VarInfoVec = PHIVarInfo[MBB->getNumber()];
600+
SmallVectorImpl<Register> &VarInfoVec = PHIVarInfo[MBB->getNumber()];
601601

602-
for (unsigned I : VarInfoVec)
602+
for (Register I : VarInfoVec)
603603
// Mark it alive only in the block we are representing.
604604
MarkVirtRegAliveInBlock(getVarInfo(I), MRI->getVRegDef(I)->getParent(),
605605
MBB);

llvm/lib/CodeGen/LocalStackSlotAllocation.cpp

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -287,13 +287,11 @@ void LocalStackSlotImpl::calculateFrameObjectOffsets(MachineFunction &Fn) {
287287
MFI.setLocalFrameMaxAlign(MaxAlign);
288288
}
289289

290-
static inline bool
291-
lookupCandidateBaseReg(unsigned BaseReg,
292-
int64_t BaseOffset,
293-
int64_t FrameSizeAdjust,
294-
int64_t LocalFrameOffset,
295-
const MachineInstr &MI,
296-
const TargetRegisterInfo *TRI) {
290+
static inline bool lookupCandidateBaseReg(Register BaseReg, int64_t BaseOffset,
291+
int64_t FrameSizeAdjust,
292+
int64_t LocalFrameOffset,
293+
const MachineInstr &MI,
294+
const TargetRegisterInfo *TRI) {
297295
// Check if the relative offset from the where the base register references
298296
// to the target address is in range for the instruction.
299297
int64_t Offset = FrameSizeAdjust + LocalFrameOffset - BaseOffset;

llvm/lib/CodeGen/MachineSSAContext.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ bool MachineSSAContext::isConstantOrUndefValuePhi(const MachineInstr &Phi) {
6767

6868
// In later passes PHI may appear with an undef operand, getVRegDef can fail.
6969
if (Phi.getOpcode() == TargetOpcode::PHI)
70-
return Phi.isConstantValuePHI();
70+
return Phi.isConstantValuePHI().isValid();
7171

7272
// For G_PHI we do equivalent of PHINode::hasConstantOrUndefValue().
7373
const MachineRegisterInfo &MRI = Phi.getMF()->getRegInfo();

llvm/lib/CodeGen/OptimizePHIs.cpp

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ class OptimizePHIs {
4444
using InstrSet = SmallPtrSet<MachineInstr *, 16>;
4545
using InstrSetIterator = SmallPtrSetIterator<MachineInstr *>;
4646

47-
bool IsSingleValuePHICycle(MachineInstr *MI, unsigned &SingleValReg,
47+
bool IsSingleValuePHICycle(MachineInstr *MI, Register &SingleValReg,
4848
InstrSet &PHIsInCycle);
4949
bool IsDeadPHICycle(MachineInstr *MI, InstrSet &PHIsInCycle);
5050
bool OptimizeBB(MachineBasicBlock &MBB);
@@ -109,7 +109,7 @@ bool OptimizePHIs::run(MachineFunction &Fn) {
109109
/// non-copy value. PHIsInCycle is a set used to keep track of the PHIs that
110110
/// have been scanned. PHIs may be grouped by cycle, several cycles or chains.
111111
bool OptimizePHIs::IsSingleValuePHICycle(MachineInstr *MI,
112-
unsigned &SingleValReg,
112+
Register &SingleValReg,
113113
InstrSet &PHIsInCycle) {
114114
assert(MI->isPHI() && "IsSingleValuePHICycle expects a PHI instruction");
115115
Register DstReg = MI->getOperand(0).getReg();
@@ -144,7 +144,7 @@ bool OptimizePHIs::IsSingleValuePHICycle(MachineInstr *MI,
144144
return false;
145145
} else {
146146
// Fail if there is more than one non-phi/non-move register.
147-
if (SingleValReg != 0 && SingleValReg != SrcReg)
147+
if (SingleValReg && SingleValReg != SrcReg)
148148
return false;
149149
SingleValReg = SrcReg;
150150
}
@@ -186,10 +186,9 @@ bool OptimizePHIs::OptimizeBB(MachineBasicBlock &MBB) {
186186
break;
187187

188188
// Check for single-value PHI cycles.
189-
unsigned SingleValReg = 0;
189+
Register SingleValReg;
190190
InstrSet PHIsInCycle;
191-
if (IsSingleValuePHICycle(MI, SingleValReg, PHIsInCycle) &&
192-
SingleValReg != 0) {
191+
if (IsSingleValuePHICycle(MI, SingleValReg, PHIsInCycle) && SingleValReg) {
193192
Register OldReg = MI->getOperand(0).getReg();
194193
if (!MRI->constrainRegClass(SingleValReg, MRI->getRegClass(OldReg)))
195194
continue;

llvm/lib/CodeGen/RenameIndependentSubregs.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -248,7 +248,7 @@ void RenameIndependentSubregs::rewriteOperands(const IntEqClasses &Classes,
248248
break;
249249
}
250250

251-
unsigned VReg = Intervals[ID]->reg();
251+
Register VReg = Intervals[ID]->reg();
252252
MO.setReg(VReg);
253253

254254
if (MO.isTied() && Reg != VReg) {

0 commit comments

Comments
 (0)