Skip to content

Commit 0884908

Browse files
committed
Revert "[Exegesis][RISCV] Add RISCV support for llvm-exegesis (#120419)"
This reverts commit 6993d32. Reason: buildbot breakage (https://lab.llvm.org/buildbot/#/builders/51/builds/7908) CCACHE_CPP2=yes CCACHE_HASHDIR=yes /usr/bin/ccache /home/b/sanitizer-aarch64-linux/build/llvm_build0/bin/clang++ -DGTEST_HAS_RTTI=0 -DLLVM_BUILD_STATIC -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/b/sanitizer-aarch64-linux/build/build_default/tools/llvm-exegesis/lib/RISCV -I/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/tools/llvm-exegesis/lib/RISCV -I/home/b/sanitizer-aarch64-linux/build/build_default/include -I/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/include -I/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Target/RISCV -I/home/b/sanitizer-aarch64-linux/build/build_default/lib/Target/RISCV -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG -std=c++17 -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -MD -MT tools/llvm-exegesis/lib/RISCV/CMakeFiles/LLVMExegesisRISCV.dir/Target.cpp.o -MF tools/llvm-exegesis/lib/RISCV/CMakeFiles/LLVMExegesisRISCV.dir/Target.cpp.o.d -o tools/llvm-exegesis/lib/RISCV/CMakeFiles/LLVMExegesisRISCV.dir/Target.cpp.o -c /home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/tools/llvm-exegesis/lib/RISCV/Target.cpp In file included from /home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/tools/llvm-exegesis/lib/RISCV/Target.cpp:139: /home/b/sanitizer-aarch64-linux/build/build_default/lib/Target/RISCV/RISCVGenAsmMatcher.inc:239:19: error: unused function 'MatchRegisterName' [-Werror,-Wunused-function] 239 | static MCRegister MatchRegisterName(StringRef Name) { | ^~~~~~~~~~~~~~~~~ /home/b/sanitizer-aarch64-linux/build/build_default/lib/Target/RISCV/RISCVGenAsmMatcher.inc:568:19: error: unused function 'MatchRegisterAltName' [-Werror,-Wunused-function] 568 | static MCRegister MatchRegisterAltName(StringRef Name) { | ^~~~~~~~~~~~~~~~~~~~
1 parent 0e2466f commit 0884908

File tree

12 files changed

+29
-483
lines changed

12 files changed

+29
-483
lines changed

llvm/test/tools/llvm-exegesis/RISCV/latency-by-extension-A.s

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

llvm/test/tools/llvm-exegesis/RISCV/latency-by-extension-C.s

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

llvm/test/tools/llvm-exegesis/RISCV/latency-by-opcode-name-FADD_D.s

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

llvm/test/tools/llvm-exegesis/RISCV/lit.local.cfg

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

llvm/tools/llvm-exegesis/lib/CMakeLists.txt

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,6 @@ endif()
1212
if (LLVM_TARGETS_TO_BUILD MATCHES "Mips")
1313
list(APPEND LLVM_EXEGESIS_TARGETS "Mips")
1414
endif()
15-
if(LLVM_TARGETS_TO_BUILD MATCHES "RISCV")
16-
list(APPEND LLVM_EXEGESIS_TARGETS "RISCV")
17-
endif()
1815

1916
set(LLVM_EXEGESIS_TARGETS ${LLVM_EXEGESIS_TARGETS} PARENT_SCOPE)
2017

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

Lines changed: 3 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -95,12 +95,11 @@ Instruction::Instruction(const MCInstrDesc *Description, StringRef Name,
9595
const BitVector *ImplDefRegs,
9696
const BitVector *ImplUseRegs,
9797
const BitVector *AllDefRegs,
98-
const BitVector *AllUseRegs,
99-
const BitVector *NonMemoryRegs)
98+
const BitVector *AllUseRegs)
10099
: Description(*Description), Name(Name), Operands(std::move(Operands)),
101100
Variables(std::move(Variables)), ImplDefRegs(*ImplDefRegs),
102101
ImplUseRegs(*ImplUseRegs), AllDefRegs(*AllDefRegs),
103-
AllUseRegs(*AllUseRegs), NonMemoryRegs(*NonMemoryRegs) {}
102+
AllUseRegs(*AllUseRegs) {}
104103

105104
std::unique_ptr<Instruction>
106105
Instruction::create(const MCInstrInfo &InstrInfo,
@@ -167,8 +166,6 @@ Instruction::create(const MCInstrInfo &InstrInfo,
167166
BitVector ImplUseRegs = RATC.emptyRegisters();
168167
BitVector AllDefRegs = RATC.emptyRegisters();
169168
BitVector AllUseRegs = RATC.emptyRegisters();
170-
BitVector NonMemoryRegs = RATC.emptyRegisters();
171-
172169
for (const auto &Op : Operands) {
173170
if (Op.isReg()) {
174171
const auto &AliasingBits = Op.getRegisterAliasing().aliasedBits();
@@ -180,8 +177,6 @@ Instruction::create(const MCInstrInfo &InstrInfo,
180177
ImplDefRegs |= AliasingBits;
181178
if (Op.isUse() && Op.isImplicit())
182179
ImplUseRegs |= AliasingBits;
183-
if (Op.isUse() && !Op.isMemory())
184-
NonMemoryRegs |= AliasingBits;
185180
}
186181
}
187182
// Can't use make_unique because constructor is private.
@@ -190,8 +185,7 @@ Instruction::create(const MCInstrInfo &InstrInfo,
190185
std::move(Variables), BVC.getUnique(std::move(ImplDefRegs)),
191186
BVC.getUnique(std::move(ImplUseRegs)),
192187
BVC.getUnique(std::move(AllDefRegs)),
193-
BVC.getUnique(std::move(AllUseRegs)),
194-
BVC.getUnique(std::move(NonMemoryRegs))));
188+
BVC.getUnique(std::move(AllUseRegs))));
195189
}
196190

197191
const Operand &Instruction::getPrimaryOperand(const Variable &Var) const {
@@ -246,12 +240,6 @@ bool Instruction::hasAliasingRegisters(
246240
ForbiddenRegisters);
247241
}
248242

249-
bool Instruction::hasAliasingNotMemoryRegisters(
250-
const BitVector &ForbiddenRegisters) const {
251-
return anyCommonExcludingForbidden(AllDefRegs, NonMemoryRegs,
252-
ForbiddenRegisters);
253-
}
254-
255243
bool Instruction::hasOneUseOrOneDef() const {
256244
return AllDefRegs.count() || AllUseRegs.count();
257245
}

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

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -133,12 +133,6 @@ struct Instruction {
133133
// aliasing Use and Def registers.
134134
bool hasAliasingRegisters(const BitVector &ForbiddenRegisters) const;
135135

136-
// Whether this instruction is self aliasing through some registers.
137-
// Repeating this instruction may execute sequentially by picking aliasing
138-
// Def and Not Memory Use registers. It may also execute in parallel by
139-
// picking non aliasing Def and Not Memory Use registers.
140-
bool hasAliasingNotMemoryRegisters(const BitVector &ForbiddenRegisters) const;
141-
142136
// Whether this instruction's registers alias with OtherInstr's registers.
143137
bool hasAliasingRegistersThrough(const Instruction &OtherInstr,
144138
const BitVector &ForbiddenRegisters) const;
@@ -166,15 +160,12 @@ struct Instruction {
166160
const BitVector &ImplUseRegs; // The set of aliased implicit use registers.
167161
const BitVector &AllDefRegs; // The set of all aliased def registers.
168162
const BitVector &AllUseRegs; // The set of all aliased use registers.
169-
// The set of all aliased not memory use registers.
170-
const BitVector &NonMemoryRegs;
171-
172163
private:
173164
Instruction(const MCInstrDesc *Description, StringRef Name,
174165
SmallVector<Operand, 8> Operands,
175166
SmallVector<Variable, 4> Variables, const BitVector *ImplDefRegs,
176167
const BitVector *ImplUseRegs, const BitVector *AllDefRegs,
177-
const BitVector *AllUseRegs, const BitVector *NonMemoryRegs);
168+
const BitVector *AllUseRegs);
178169
};
179170

180171
// Instructions are expensive to instantiate. This class provides a cache of

llvm/tools/llvm-exegesis/lib/RISCV/CMakeLists.txt

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

0 commit comments

Comments
 (0)