Skip to content

Commit 3b1146e

Browse files
[llvm-exegesis] Use MCRegister instead of unsigned to hold registers (llvm#107820)
1 parent 74ad254 commit 3b1146e

File tree

4 files changed

+9
-8
lines changed

4 files changed

+9
-8
lines changed

llvm/tools/llvm-exegesis/lib/BenchmarkResult.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ struct YamlContext {
154154
std::string LastError;
155155
raw_string_ostream ErrorStream;
156156
const DenseMap<StringRef, unsigned> &OpcodeNameToOpcodeIdx;
157-
const DenseMap<StringRef, unsigned> &RegNameToRegNo;
157+
const DenseMap<StringRef, MCRegister> &RegNameToRegNo;
158158
};
159159
} // namespace
160160

llvm/tools/llvm-exegesis/lib/LlvmState.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -111,11 +111,11 @@ LLVMState::createOpcodeNameToOpcodeIdxMapping() const {
111111
return std::move(Map);
112112
}
113113

114-
std::unique_ptr<const DenseMap<StringRef, unsigned>>
114+
std::unique_ptr<const DenseMap<StringRef, MCRegister>>
115115
LLVMState::createRegNameToRegNoMapping() const {
116116
const MCRegisterInfo &RegInfo = getRegInfo();
117117
auto Map =
118-
std::make_unique<DenseMap<StringRef, unsigned>>(RegInfo.getNumRegs());
118+
std::make_unique<DenseMap<StringRef, MCRegister>>(RegInfo.getNumRegs());
119119
// Special-case RegNo 0, which would otherwise be spelled as ''.
120120
(*Map)[kNoRegister] = 0;
121121
for (unsigned I = 1, E = RegInfo.getNumRegs(); I < E; ++I)

llvm/tools/llvm-exegesis/lib/LlvmState.h

+4-3
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
#include "llvm/MC/MCAsmInfo.h"
2020
#include "llvm/MC/MCInst.h"
2121
#include "llvm/MC/MCInstrInfo.h"
22+
#include "llvm/MC/MCRegister.h"
2223
#include "llvm/MC/MCRegisterInfo.h"
2324
#include "llvm/MC/MCSubtargetInfo.h"
2425
#include "llvm/Target/TargetMachine.h"
@@ -75,7 +76,7 @@ class LLVMState {
7576
return *OpcodeNameToOpcodeIdxMapping;
7677
};
7778

78-
const DenseMap<StringRef, unsigned> &getRegNameToRegNoMapping() const {
79+
const DenseMap<StringRef, MCRegister> &getRegNameToRegNoMapping() const {
7980
assert(RegNameToRegNoMapping);
8081
return *RegNameToRegNoMapping;
8182
}
@@ -84,7 +85,7 @@ class LLVMState {
8485
std::unique_ptr<const DenseMap<StringRef, unsigned>>
8586
createOpcodeNameToOpcodeIdxMapping() const;
8687

87-
std::unique_ptr<const DenseMap<StringRef, unsigned>>
88+
std::unique_ptr<const DenseMap<StringRef, MCRegister>>
8889
createRegNameToRegNoMapping() const;
8990

9091
LLVMState(std::unique_ptr<const TargetMachine> TM, const ExegesisTarget *ET,
@@ -97,7 +98,7 @@ class LLVMState {
9798
const PfmCountersInfo *PfmCounters;
9899
std::unique_ptr<const DenseMap<StringRef, unsigned>>
99100
OpcodeNameToOpcodeIdxMapping;
100-
std::unique_ptr<const DenseMap<StringRef, unsigned>> RegNameToRegNoMapping;
101+
std::unique_ptr<const DenseMap<StringRef, MCRegister>> RegNameToRegNoMapping;
101102
};
102103

103104
} // namespace exegesis

llvm/tools/llvm-exegesis/lib/SnippetFile.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ namespace {
3636
class BenchmarkCodeStreamer : public MCStreamer, public AsmCommentConsumer {
3737
public:
3838
explicit BenchmarkCodeStreamer(
39-
MCContext *Context, const DenseMap<StringRef, unsigned> &RegNameToRegNo,
39+
MCContext *Context, const DenseMap<StringRef, MCRegister> &RegNameToRegNo,
4040
BenchmarkCode *Result)
4141
: MCStreamer(*Context), RegNameToRegNo(RegNameToRegNo), Result(Result) {}
4242

@@ -215,7 +215,7 @@ class BenchmarkCodeStreamer : public MCStreamer, public AsmCommentConsumer {
215215
return 0;
216216
}
217217

218-
const DenseMap<StringRef, unsigned> &RegNameToRegNo;
218+
const DenseMap<StringRef, MCRegister> &RegNameToRegNo;
219219
BenchmarkCode *const Result;
220220
unsigned InvalidComments = 0;
221221
};

0 commit comments

Comments
 (0)