Nested modules translation and symbol table

Then you need to either put the content of the kernel module directly into the host module (possibly with some renaming to avoid clashes), or produce two different LLVM IR modules with the host module containing declarations of the functions it intends to call from the kernel module and link the modules together at JIT time.