Clang can emit LLVM bitcode via -emit-llvm. llvmgcc replaces RTL with LLVM IR instead, but this is not what i'm looking for. This could written as ( https://gcc.gnu.org/onlinedocs/gccint/Back-End.html) backend, where GCC compiles RTL down to LLVM IR using assembly file as output.