bos/llvm — pull request #25 by scottgw (2011-12-12 20:40:16+00:00)
Title: Split into high-level and FFI repositories

This request (which I expect to be initially denied) is half of a piece of work that splits the current llvm package into llvm-high and llvm-ffi. The llvm-high branch has only the higher-level constructs and type-level voodoo. The llvm-ffi sibling-branch (which you can find under another branch in my llvm fork) has only the interfaces with the C-level bindings. It also has been updated to work with LLVM 3.0, which removes a few functions, and adds a few (structures, landing pad instruction), and I added a function to directly emit object code.

I'm doing this to try to free the high and low level ideas from each other. Every time I update something in the repository, I'm only touching (and working with) the FFI-level functions as they are all I use. I assume that other people also do not need the high-level bindings.

Also, as LLVM evolves, it seems better not to tie the high-level bindings to the changes that happen at the low level. This way, the FFI bindings can track LLVM versions and the high-level bindings can target whichever FFI bindings they find convenient.

Anyway, any thoughts you have on this would be great!