Skip to content

Commit 41e41e1

Browse files
committed
Use IndexedMap where it is straightforward to do so
1 parent 1fc9d77 commit 41e41e1

File tree

2 files changed

+10
-10
lines changed

2 files changed

+10
-10
lines changed

llvm/include/llvm/CodeGen/RDFRegisters.h

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
#define LLVM_CODEGEN_RDFREGISTERS_H
1111

1212
#include "llvm/ADT/BitVector.h"
13+
#include "llvm/ADT/IndexedMap.h"
1314
#include "llvm/ADT/STLExtras.h"
1415
#include "llvm/ADT/iterator_range.h"
1516
#include "llvm/CodeGen/TargetRegisterInfo.h"
@@ -154,8 +155,7 @@ struct PhysicalRegisterInfo {
154155
std::set<RegisterId> getAliasSet(RegisterId Reg) const;
155156

156157
RegisterRef getRefForUnit(MCRegUnit U) const {
157-
return RegisterRef(UnitInfos[static_cast<unsigned>(U)].Reg,
158-
UnitInfos[static_cast<unsigned>(U)].Mask);
158+
return RegisterRef(UnitInfos[U].Reg, UnitInfos[U].Mask);
159159
}
160160

161161
const BitVector &getMaskUnits(RegisterId MaskId) const {
@@ -165,7 +165,7 @@ struct PhysicalRegisterInfo {
165165
std::set<RegisterId> getUnits(RegisterRef RR) const;
166166

167167
const BitVector &getUnitAliases(MCRegUnit U) const {
168-
return AliasInfos[static_cast<unsigned>(U)].Regs;
168+
return AliasInfos[U].Regs;
169169
}
170170

171171
RegisterRef mapTo(RegisterRef RR, unsigned R) const;
@@ -195,9 +195,9 @@ struct PhysicalRegisterInfo {
195195
const TargetRegisterInfo &TRI;
196196
IndexedSet<const uint32_t *> RegMasks;
197197
std::vector<RegInfo> RegInfos;
198-
std::vector<UnitInfo> UnitInfos;
198+
IndexedMap<UnitInfo, MCRegUnitToIndex> UnitInfos;
199199
std::vector<MaskInfo> MaskInfos;
200-
std::vector<AliasInfo> AliasInfos;
200+
IndexedMap<AliasInfo, MCRegUnitToIndex> AliasInfos;
201201
};
202202

203203
struct RegisterRefEqualTo {

llvm/lib/CodeGen/RDFRegisters.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -47,19 +47,19 @@ PhysicalRegisterInfo::PhysicalRegisterInfo(const TargetRegisterInfo &tri,
4747
UnitInfos.resize(TRI.getNumRegUnits());
4848

4949
for (MCRegUnit U : TRI.regunits()) {
50-
if (UnitInfos[static_cast<unsigned>(U)].Reg != 0)
50+
if (UnitInfos[U].Reg != 0)
5151
continue;
5252
MCRegUnitRootIterator R(U, &TRI);
5353
assert(R.isValid());
5454
RegisterId F = *R;
5555
++R;
5656
if (R.isValid()) {
57-
UnitInfos[static_cast<unsigned>(U)].Mask = LaneBitmask::getAll();
58-
UnitInfos[static_cast<unsigned>(U)].Reg = F;
57+
UnitInfos[U].Mask = LaneBitmask::getAll();
58+
UnitInfos[U].Reg = F;
5959
} else {
6060
for (MCRegUnitMaskIterator I(F, &TRI); I.isValid(); ++I) {
6161
std::pair<MCRegUnit, LaneBitmask> P = *I;
62-
UnitInfo &UI = UnitInfos[static_cast<unsigned>(P.first)];
62+
UnitInfo &UI = UnitInfos[P.first];
6363
UI.Reg = F;
6464
UI.Mask = P.second;
6565
}
@@ -93,7 +93,7 @@ PhysicalRegisterInfo::PhysicalRegisterInfo(const TargetRegisterInfo &tri,
9393
for (MCRegUnitRootIterator R(U, &TRI); R.isValid(); ++R)
9494
for (MCPhysReg S : TRI.superregs_inclusive(*R))
9595
AS.set(S);
96-
AliasInfos[static_cast<unsigned>(U)].Regs = AS;
96+
AliasInfos[U].Regs = AS;
9797
}
9898
}
9999

0 commit comments

Comments
 (0)