ΒΆvoid SplitModule(
std::unique_ptr<Module> M,
unsigned int N,
function_ref<void(std::unique_ptr<Module>)>
ModuleCallback,
bool PreserveLocals = false)
void SplitModule(
std::unique_ptr<Module> M,
unsigned int N,
function_ref<void(std::unique_ptr<Module>)>
ModuleCallback,
bool PreserveLocals = false)
Description
Splits the module M into N linkable partitions. The function ModuleCallback is called N times passing each individual partition as the MPart argument. FIXME: This function does not deal with the somewhat subtle symbol visibility issues around module splitting, including (but not limited to): - Internal symbols should not collide with symbols defined outside the module. - Internal symbols defined in module-level inline asm should be visible to each partition.
Declared at: llvm/include/llvm/Transforms/Utils/SplitModule.h:35
Parameters
- std::unique_ptr<Module> M
- unsigned int N
- function_ref<void(std::unique_ptr<Module>)> ModuleCallback
- bool PreserveLocals = false