Not really that much of a genius, given that IBM was already using the same architecture on their RISC compilers research during the 70's.
Check the papers related to PL.8 compiler architecture.
Check the papers related to PL.8 compiler architecture.
The genius of LLVM is that it's a stable, well-defined IR layer in the middle of the compilation stack that lets you switch out either the frontend or the backend without having to do the entire messy, boring, critical implementation of the other piece. And you can support pretty wacky frontend languages or pretty wacky backends (people compile LLVM to C source or FPGAs, for example).