ΒΆ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