I found several compilers related:
0. GCC
1. Zig started as LLVM frontend, finally with self-hosting, can do cross-platform codegen without LLVM.
> QBE is a compiler backend that aims to provide 70% of the performance of industrial optimizing compilers in 10% of the code. QBE fosters language innovation by offering a compact user-friendly and performant backend. The size limit constrains QBE to focus on the essential and prevents embarking on a never-ending path of diminishing returns.
> The current version of QBE can target amd64 (linux and osx), arm64, and riscv64.
"QBE vs. LLVM": https://news.ycombinator.com/item?id=25273907
Reducing the amount of unnecessary headers is also beneficial, but in comparison to merging files it barely makes a difference.
Also, Zig still uses LLVM. It's just that because LLVM is C++, the Stage 1 compiler had to be in C++ as well, and they've since slimmed it down by having LLVM expose a C API that the (now "self-hosted") Zig compiler can directly talk to instead.
In addition to QBE as many have suggested, you might take a look at AsmJit, if you are using C++.
We definitely need to see some modern alternatives