LLVM
From APIDesign
(Difference between revisions)
(New page: Is an acronym for low level virtual machine - a name not used anymore. The original vision was to repeat the success of JVM - e.g. define a bytecode (called LLVM...) |
|||
Line 1: | Line 1: | ||
- | + | [[LLVM]] is an acronym for [[wikipedia:LLVM|low level virtual machine]] - a name not used anymore. The original vision was to repeat the success of [[JVM]] - e.g. define a bytecode (called [[LLVM]] bitcode) and tools to process it: | |
* Generate it from various languages [[C]] (via '''clang'''), [[Java]] (via [[RoboVM]]), almost any language | * Generate it from various languages [[C]] (via '''clang'''), [[Java]] (via [[RoboVM]]), almost any language | ||
* Optimize it | * Optimize it |
Revision as of 06:34, 27 September 2018
LLVM is an acronym for low level virtual machine - a name not used anymore. The original vision was to repeat the success of JVM - e.g. define a bytecode (called LLVM bitcode) and tools to process it:
- Generate it from various languages C (via clang), Java (via RoboVM), almost any language
- Optimize it
- Emit code for various assembly architectures from it
LLVM started as a competing project to GCC stack and tools. Given that LLVM has been adopted by Apple (for it Mac and iOS tooling) and many other companies, it is a great success.
Of course, as a loyal OracleLabs member I do believe we can beat the LLVM with our GraalVM stack.