summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-exegesis/lib/Uops.h
diff options
context:
space:
mode:
authorClement Courbet <courbet@google.com>2018-05-17 07:38:21 +0000
committerClement Courbet <courbet@google.com>2018-05-17 07:38:21 +0000
commitee110fb735651d63252f70104d39c5a0376ee20d (patch)
tree56191aacb80508141d669128159f56b5afef5879 /llvm/tools/llvm-exegesis/lib/Uops.h
parentf4b09a3a30875842ea4f8e8fce22936a2a29164e (diff)
downloadbcm5719-llvm-ee110fb735651d63252f70104d39c5a0376ee20d.tar.gz
bcm5719-llvm-ee110fb735651d63252f70104d39c5a0376ee20d.zip
[llvm-exegesis] Update to cover latency through another opcode.
Restructuring the code to measure latency and uops. The end goal is to have this program spawn another process to deal with SIGILL and other malformed programs. It is not yet the case in this redesign, it is still the main program that runs the code (and may crash). It now uses BitVector instead of Graph for performance reasons. https://reviews.llvm.org/D46821 Authored by Guillaume Chatelet llvm-svn: 332579
Diffstat (limited to 'llvm/tools/llvm-exegesis/lib/Uops.h')
-rw-r--r--llvm/tools/llvm-exegesis/lib/Uops.h10
1 files changed, 5 insertions, 5 deletions
diff --git a/llvm/tools/llvm-exegesis/lib/Uops.h b/llvm/tools/llvm-exegesis/lib/Uops.h
index e9dc181061d..d305d0124f8 100644
--- a/llvm/tools/llvm-exegesis/lib/Uops.h
+++ b/llvm/tools/llvm-exegesis/lib/Uops.h
@@ -21,19 +21,19 @@ namespace exegesis {
class UopsBenchmarkRunner : public BenchmarkRunner {
public:
+ using BenchmarkRunner::BenchmarkRunner;
~UopsBenchmarkRunner() override;
private:
const char *getDisplayName() const override;
llvm::Expected<std::vector<llvm::MCInst>>
- createCode(const LLVMState &State, unsigned OpcodeIndex,
- unsigned NumRepetitions,
- const JitFunctionContext &Context) const override;
+ createSnippet(RegisterAliasingTrackerCache &RATC, unsigned Opcode,
+ llvm::raw_ostream &Info) const override;
std::vector<BenchmarkMeasure>
- runMeasurements(const LLVMState &State, const JitFunction &Function,
- unsigned NumRepetitions) const override;
+ runMeasurements(const ExecutableFunction &EF,
+ const unsigned NumRepetitions) const override;
};
} // namespace exegesis
OpenPOWER on IntegriCloud