I am trying to understand the full compilation flow for each compilation target (JVM/JS/Native) but I still don’t have a clear view of the processes.
How many kotlin compilers exist?
As far as I am concerned: kotlinc (both for JVM and Native) and kotlin2js (for JavaScript).
In the Kotlin/Native documentation it states it is a LLVM backend compiler. Are all compilation targets following the same flow? Kotlin code -kotlinc-> Kotlin IR -backend compiler?-> Java bytecode/JS/Native? Does Kotlin IR even exist or is it LLVM IR?
As you can see I have many questions on the compilation processes. I have also compiled them in a StackOverflow post.
Is there any clear diagram for the compilation process of each compilation target (JVM/JS/Native)? With internal intermediate steps: from kotlin code to IR to desired output?
Thank you in advanced!