summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-exegesis/lib/BenchmarkRunner.h
diff options
context:
space:
mode:
authorClement Courbet <courbet@google.com>2018-07-05 13:54:51 +0000
committerClement Courbet <courbet@google.com>2018-07-05 13:54:51 +0000
commitf9a0bb330d8bb029d01ffe3d2e8fc0049b54ae0a (patch)
treefa9cb38e81aee40fd69992efdb3a358394fbc6d6 /llvm/tools/llvm-exegesis/lib/BenchmarkRunner.h
parent9e987e09174b9f56ddc30a6aae87dc3a7b797209 (diff)
downloadbcm5719-llvm-f9a0bb330d8bb029d01ffe3d2e8fc0049b54ae0a.tar.gz
bcm5719-llvm-f9a0bb330d8bb029d01ffe3d2e8fc0049b54ae0a.zip
[llvm-exegesis] Add uop computation for more X87 instruction classes.
Summary: This allows measuring comparisons (UCOM_FpIr32,UCOM_Fpr32,...), conditional moves (CMOVBE_Fp32,...) Reviewers: gchatelet Subscribers: tschuett, llvm-commits Differential Revision: https://reviews.llvm.org/D48713 llvm-svn: 336352
Diffstat (limited to 'llvm/tools/llvm-exegesis/lib/BenchmarkRunner.h')
-rw-r--r--llvm/tools/llvm-exegesis/lib/BenchmarkRunner.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/llvm/tools/llvm-exegesis/lib/BenchmarkRunner.h b/llvm/tools/llvm-exegesis/lib/BenchmarkRunner.h
index 225f267a2fd..91d2c8e2d8c 100644
--- a/llvm/tools/llvm-exegesis/lib/BenchmarkRunner.h
+++ b/llvm/tools/llvm-exegesis/lib/BenchmarkRunner.h
@@ -70,8 +70,13 @@ protected:
const LLVMState &State;
const RegisterAliasingTrackerCache RATC;
+ // Generates a single instruction prototype that has a self-dependency.
llvm::Expected<SnippetPrototype>
generateSelfAliasingPrototype(const Instruction &Instr) const;
+ // Generates a single instruction prototype without assignment constraints.
+ llvm::Expected<SnippetPrototype>
+ generateUnconstrainedPrototype(const Instruction &Instr,
+ llvm::StringRef Msg) const;
private:
// API to be implemented by subclasses.
OpenPOWER on IntegriCloud