ΒΆ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)
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 >().