summaryrefslogtreecommitdiffstats
path: root/llvm
diff options
context:
space:
mode:
authorTeresa Johnson <tejohnson@google.com>2016-11-11 05:46:30 +0000
committerTeresa Johnson <tejohnson@google.com>2016-11-11 05:46:30 +0000
commite5de162e098daf53b840596db14e16d004e05197 (patch)
treecd79bfa990ef37131875c3fbf13389274fd48b41 /llvm
parent1e390897bafdb8fbeec855014a2dd625850ee583 (diff)
downloadbcm5719-llvm-e5de162e098daf53b840596db14e16d004e05197.tar.gz
bcm5719-llvm-e5de162e098daf53b840596db14e16d004e05197.zip
Add missing file from r286566
Add the new BitcodeWriter.h header, which was missed in my r286566 commit, and should fix all the bot failures. llvm-svn: 286569
Diffstat (limited to 'llvm')
-rw-r--r--llvm/include/llvm/Bitcode/BitcodeWriter.h53
1 files changed, 53 insertions, 0 deletions
diff --git a/llvm/include/llvm/Bitcode/BitcodeWriter.h b/llvm/include/llvm/Bitcode/BitcodeWriter.h
new file mode 100644
index 00000000000..57955dfcef0
--- /dev/null
+++ b/llvm/include/llvm/Bitcode/BitcodeWriter.h
@@ -0,0 +1,53 @@
+//===-- llvm/Bitcode/BitcodeWriter.h - Bitcode writers ----*- C++ -*-===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This header defines interfaces to write LLVM bitcode files/streams.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_BITCODE_BITCODEWRITER_H
+#define LLVM_BITCODE_BITCODEWRITER_H
+
+#include "llvm/IR/ModuleSummaryIndex.h"
+#include <string>
+
+namespace llvm {
+ class Module;
+ class raw_ostream;
+
+ /// \brief Write the specified module to the specified raw output stream.
+ ///
+ /// For streams where it matters, the given stream should be in "binary"
+ /// mode.
+ ///
+ /// If \c ShouldPreserveUseListOrder, encode the use-list order for each \a
+ /// Value in \c M. These will be reconstructed exactly when \a M is
+ /// deserialized.
+ ///
+ /// If \c Index is supplied, the bitcode will contain the summary index
+ /// (currently for use in ThinLTO optimization).
+ ///
+ /// \p GenerateHash enables hashing the Module and including the hash in the
+ /// bitcode (currently for use in ThinLTO incremental build).
+ void WriteBitcodeToFile(const Module *M, raw_ostream &Out,
+ bool ShouldPreserveUseListOrder = false,
+ const ModuleSummaryIndex *Index = nullptr,
+ bool GenerateHash = false);
+
+ /// Write the specified module summary index to the given raw output stream,
+ /// where it will be written in a new bitcode block. This is used when
+ /// writing the combined index file for ThinLTO. When writing a subset of the
+ /// index for a distributed backend, provide the \p ModuleToSummariesForIndex
+ /// map.
+ void WriteIndexToFile(const ModuleSummaryIndex &Index, raw_ostream &Out,
+ const std::map<std::string, GVSummaryMapTy>
+ *ModuleToSummariesForIndex = nullptr);
+} // End llvm namespace
+
+#endif
OpenPOWER on IntegriCloud