ΒΆstd::unique_ptr<Module> splitCodeGen(
    std::unique_ptr<Module> M,
    ArrayRef<llvm::raw_pwrite_stream*> OSs,
    ArrayRef<llvm::raw_pwrite_stream*> BCOSs,
    const std::function<
        std::unique_ptr<TargetMachine>()>&
        TMFactory,
    llvm::CodeGenFileType FileType =
        CGFT_ObjectFile,
    bool PreserveLocals = false)

Description

Split M into OSs.size() partitions, and generate code for each. Takes a factory function for the TargetMachine TMFactory. Writes OSs.size() output files to the output streams in OSs. The resulting output files if linked together are intended to be equivalent to the single output file that would have been code generated from M. Writes bitcode for individual partitions into output streams in BCOSs, if BCOSs is not empty.

Declared at: llvm/include/llvm/CodeGen/ParallelCG.h:39

Parameters

std::unique_ptr<Module> M
ArrayRef<llvm::raw_pwrite_stream*> OSs
ArrayRef<llvm::raw_pwrite_stream*> BCOSs
const std::function< std::unique_ptr<TargetMachine>()>& TMFactory
llvm::CodeGenFileType FileType = CGFT_ObjectFile
bool PreserveLocals = false

Returns

M if OSs.size() == 1, otherwise returns std::unique_ptr <Module >().