Skip to content

Commit 9e8761f

Browse files
authored
Revert "[llvm-exegesis] Implement the loop repetition mode for AArch64" (#155423)
I see some build bot failures: - https://lab.llvm.org/buildbot/#/builders/76/builds/12434/ - https://lab.llvm.org/buildbot/#/builders/55/builds/16251/ Revert #154751 while I investigate this.
1 parent af1f06e commit 9e8761f

File tree

2 files changed

+0
-47
lines changed

2 files changed

+0
-47
lines changed

llvm/test/tools/llvm-exegesis/AArch64/loop-register.s

Lines changed: 0 additions & 17 deletions
This file was deleted.

llvm/tools/llvm-exegesis/lib/AArch64/Target.cpp

Lines changed: 0 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
#include "../Target.h"
99
#include "AArch64.h"
1010
#include "AArch64RegisterInfo.h"
11-
#include "llvm/CodeGen/MachineInstrBuilder.h"
1211

1312
#if defined(__aarch64__) && defined(__linux__)
1413
#include <sys/prctl.h> // For PR_PAC_* constants
@@ -110,10 +109,6 @@ static MCInst loadFPImmediate(MCRegister Reg, unsigned RegBitWidth,
110109

111110
namespace {
112111

113-
// Use X19 as the loop counter register since it's a callee-saved register
114-
// that's available for temporary use.
115-
constexpr const MCPhysReg kDefaultLoopCounterReg = AArch64::X19;
116-
117112
class ExegesisAArch64Target : public ExegesisTarget {
118113
public:
119114
ExegesisAArch64Target()
@@ -146,31 +141,6 @@ class ExegesisAArch64Target : public ExegesisTarget {
146141
errs() << "setRegTo is not implemented, results will be unreliable\n";
147142
return {};
148143
}
149-
MCRegister getDefaultLoopCounterRegister(const Triple &) const override {
150-
return kDefaultLoopCounterReg;
151-
}
152-
153-
void decrementLoopCounterAndJump(MachineBasicBlock &MBB,
154-
MachineBasicBlock &TargetMBB,
155-
const MCInstrInfo &MII,
156-
MCRegister LoopRegister) const override {
157-
// subs LoopRegister, LoopRegister, #1
158-
BuildMI(&MBB, DebugLoc(), MII.get(AArch64::SUBSXri))
159-
.addDef(LoopRegister)
160-
.addUse(LoopRegister)
161-
.addImm(1) // Subtract 1
162-
.addImm(0); // No shift amount
163-
// b.ne TargetMBB
164-
BuildMI(&MBB, DebugLoc(), MII.get(AArch64::Bcc))
165-
.addImm(AArch64CC::NE)
166-
.addMBB(&TargetMBB);
167-
}
168-
169-
// Registers that should not be selected for use in snippets.
170-
const MCPhysReg UnavailableRegisters[1] = {kDefaultLoopCounterReg};
171-
ArrayRef<MCPhysReg> getUnavailableRegisters() const override {
172-
return UnavailableRegisters;
173-
}
174144

175145
bool matchesArch(Triple::ArchType Arch) const override {
176146
return Arch == Triple::aarch64 || Arch == Triple::aarch64_be;

0 commit comments

Comments
 (0)