diff options
| author | Clement Courbet <courbet@google.com> | 2018-06-26 08:49:30 +0000 |
|---|---|---|
| committer | Clement Courbet <courbet@google.com> | 2018-06-26 08:49:30 +0000 |
| commit | 4860b9844375c608a465f2c25c77d013d5ce570e (patch) | |
| tree | f98c861964d14b083a1bb1379732527238329e64 /llvm/tools/llvm-exegesis/lib/Uops.cpp | |
| parent | 36cbbff48e5e69e93c1691360d5f35ac80c760f8 (diff) | |
| download | bcm5719-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.cpp | 6 |
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); |

