summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-exegesis/lib/Uops.cpp
diff options
context:
space:
mode:
authorClement Courbet <courbet@google.com>2018-06-26 08:49:30 +0000
committerClement Courbet <courbet@google.com>2018-06-26 08:49:30 +0000
commit4860b9844375c608a465f2c25c77d013d5ce570e (patch)
treef98c861964d14b083a1bb1379732527238329e64 /llvm/tools/llvm-exegesis/lib/Uops.cpp
parent36cbbff48e5e69e93c1691360d5f35ac80c760f8 (diff)
downloadbcm5719-llvm-4860b9844375c608a465f2c25c77d013d5ce570e.tar.gz
bcm5719-llvm-4860b9844375c608a465f2c25c77d013d5ce570e.zip
[llvm-exegesis] Get the BenchmarkRunner from the ExegesisTarget.
Summary: This allows targets to override code generation for some instructions. As an example of override, this also moves ad-hoc instruction filtering for X86 into the X86 ExegesisTarget. Reviewers: gchatelet Subscribers: mgorny, tschuett, llvm-commits Differential Revision: https://reviews.llvm.org/D48587 llvm-svn: 335582
Diffstat (limited to 'llvm/tools/llvm-exegesis/lib/Uops.cpp')
-rw-r--r--llvm/tools/llvm-exegesis/lib/Uops.cpp6
1 files changed, 0 insertions, 6 deletions
diff --git a/llvm/tools/llvm-exegesis/lib/Uops.cpp b/llvm/tools/llvm-exegesis/lib/Uops.cpp
index 677a9d3a104..0125b6cb099 100644
--- a/llvm/tools/llvm-exegesis/lib/Uops.cpp
+++ b/llvm/tools/llvm-exegesis/lib/Uops.cpp
@@ -91,8 +91,6 @@ static bool hasMemoryOperand(const llvm::MCOperandInfo &OpInfo) {
llvm::Error
UopsBenchmarkRunner::isInfeasible(const llvm::MCInstrDesc &MCInstrDesc) const {
- if (MCInstrDesc.isPseudo())
- return llvm::make_error<BenchmarkFailure>("Infeasible : is pseudo");
if (llvm::any_of(MCInstrDesc.operands(), hasUnknownOperand))
return llvm::make_error<BenchmarkFailure>(
"Infeasible : has unknown operands");
@@ -133,10 +131,6 @@ static void remove(llvm::BitVector &a, const llvm::BitVector &b) {
UopsBenchmarkRunner::~UopsBenchmarkRunner() = default;
-InstructionBenchmark::ModeE UopsBenchmarkRunner::getMode() const {
- return InstructionBenchmark::Uops;
-}
-
llvm::Expected<SnippetPrototype>
UopsBenchmarkRunner::generatePrototype(unsigned Opcode) const {
const auto &InstrDesc = State.getInstrInfo().get(Opcode);
OpenPOWER on IntegriCloud