ΒΆvoid WriteBitcodeToFile(
    const llvm::Module& M,
    llvm::raw_ostream& Out,
    bool ShouldPreserveUseListOrder = false,
    const llvm::ModuleSummaryIndex* Index =
        nullptr,
    bool GenerateHash = false,
    llvm::ModuleHash* ModHash = nullptr)

Description

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). If \p ModHash is non-null, when GenerateHash is true, the resulting hash is written into ModHash. When GenerateHash is false, that value is used as the hash instead of computing from the generated bitcode. Can be used to produce the same module hash for a minimized bitcode used just for the thin link as in the regular full bitcode that will be used in the backend.

Declared at: llvm/include/llvm/Bitcode/BitcodeWriter.h:129

Parameters

const llvm::Module& M
llvm::raw_ostream& Out
bool ShouldPreserveUseListOrder = false
const llvm::ModuleSummaryIndex* Index = nullptr
bool GenerateHash = false
llvm::ModuleHash* ModHash = nullptr