Getting oriented : Consuming Java bytecode with LLVM

Hi. “New” user looking for best places to dig.

Question :
Where should I look for the current state(s) of the art for translating Java bytecode into LLVM IR?

My objective is to end up with a retargetable toolchain like this:

*.java ==(javac)==> { *.class } ==(Java bytecode frontend)==> *.bc ==(backend)==> target language

My targets are various, and I expect to have to write at least one of my backends. I’m hoping that the frontend is already a solved problem for Java bytecode. And in particular I hope that the frontend can handle imports from the Java Class Library.

I’ve built and worked with clang from time to time in the past, so I’m not completely clueless, and I’m reading what I can find on vmkit (which I’m still trying to get built on Ubuntu). All the same, please assume that I might be clueless.