Why not LLVM ? LLVM is open and well-optimized. Writing own backend is a suicide and wasting of energy.