diff options
| author | Teresa Johnson <tejohnson@google.com> | 2016-11-11 05:46:30 +0000 |
|---|---|---|
| committer | Teresa Johnson <tejohnson@google.com> | 2016-11-11 05:46:30 +0000 |
| commit | e5de162e098daf53b840596db14e16d004e05197 (patch) | |
| tree | cd79bfa990ef37131875c3fbf13389274fd48b41 /llvm | |
| parent | 1e390897bafdb8fbeec855014a2dd625850ee583 (diff) | |
| download | bcm5719-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.h | 53 |
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 |

