summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-exegesis/lib/SnippetFile.h
diff options
context:
space:
mode:
authorClement Courbet <courbet@google.com>2019-09-30 12:50:25 +0000
committerClement Courbet <courbet@google.com>2019-09-30 12:50:25 +0000
commit3e13816be286b6d50650da466368953966716c8c (patch)
tree80414eb2934639b4bcb2da989cc8e6e0251bf0e1 /llvm/tools/llvm-exegesis/lib/SnippetFile.h
parentdab6f0746d17dc087a846c2d42f380c98e5513fe (diff)
downloadbcm5719-llvm-3e13816be286b6d50650da466368953966716c8c.tar.gz
bcm5719-llvm-3e13816be286b6d50650da466368953966716c8c.zip
[llvm-exegesis][NFC] Refactor snippet file reading out of tool main.
Summary: Add unit tests. Reviewers: gchatelet Subscribers: mgorny, tschuett, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68212 llvm-svn: 373202
Diffstat (limited to 'llvm/tools/llvm-exegesis/lib/SnippetFile.h')
-rw-r--r--llvm/tools/llvm-exegesis/lib/SnippetFile.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/llvm/tools/llvm-exegesis/lib/SnippetFile.h b/llvm/tools/llvm-exegesis/lib/SnippetFile.h
new file mode 100644
index 00000000000..e5ece91917f
--- /dev/null
+++ b/llvm/tools/llvm-exegesis/lib/SnippetFile.h
@@ -0,0 +1,35 @@
+//===-- SnippetFile.cpp -----------------------------------------*- C++ -*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+///
+/// \file
+/// Utilities to read a snippet file.
+/// Snippet files are just asm files with additional comments to specify which
+/// registers should be defined or are live on entry.
+///
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_TOOLS_LLVM_EXEGESIS_SNIPPETFILE_H
+#define LLVM_TOOLS_LLVM_EXEGESIS_SNIPPETFILE_H
+
+#include "BenchmarkCode.h"
+#include "LlvmState.h"
+#include "llvm/Support/Error.h"
+
+#include <vector>
+
+namespace llvm {
+namespace exegesis {
+
+// Reads code snippets from file `Filename`.
+Expected<std::vector<BenchmarkCode>> readSnippets(const LLVMState &State,
+ StringRef Filename);
+
+} // namespace exegesis
+} // namespace llvm
+
+#endif \ No newline at end of file
OpenPOWER on IntegriCloud