Fair point about the LLVM backends, though I don't know their level of C struct compatibility or if they can lever internal LLVM apis to get that. Anyway, just trying to help. Code complexity jello (squeeze one place, watch others expand) is very surely not an exact science.
You've probably already considered it, and I surely don't know all the different ABIs out there for all CPUs, but I can imagine nested struct transitions being complicated for some base types at the beginnings/ends of nested structs. It also might be good for you to try get two pretty different backend CPU archs working at first to cover all your cases/tests..Maybe ARM32 and x86_64..whatever you have easy access to.
