(resent -- the mail monster apparently ate the first one) Just to make this crazy thread even crazier, I have successfully gotten sparse to create a valid x86-64 object file from C source code (...which I then executed). The attached patch adds a code generator backend to sparse, that generates LLVM bitcode. This bitcode can then be converted to ELF .o files using standard tools -- see instructions in the header of s2l.c. Do I expect this to be used in the kernel? Not really. I'm just doing this for fun, to add a compiler backend to sparse. It was pretty easy to get integer and logical operations going. The work is based on compile-i386; as it turns out, LLVM's bitcode can be made type-aware, so I wanted to see how things would turn out generating code at a higher level. Given the higher-level constructs, I didn't feel the need to bother with linearized form. Caveats... - don't stray too far from simple, integer types - bitfields caused explosions, but you knew that anyway Cheers all, Jeff