Binding functions (whether they be translated CFGs or overrides) in the LLVM memory model is a bit more complex than in other frontends. We had organically grown a number of helpers that take care of various parts of this process, without actually documenting what needs to happen for everything to work as expected. This PR collects those helpers into a single module, with a top-level comment that outlines the whole process.
Along the way, it removes some superfluous helpers (bindLLVMFunPtr) and introduces some new ones (bindLLVMCFG).
Binding functions (whether they be translated CFGs or overrides) in the LLVM memory model is a bit more complex than in other frontends. We had organically grown a number of helpers that take care of various parts of this process, without actually documenting what needs to happen for everything to work as expected. This PR collects those helpers into a single module, with a top-level comment that outlines the whole process.
Along the way, it removes some superfluous helpers (
bindLLVMFunPtr
) and introduces some new ones (bindLLVMCFG
).