LLVM
From APIDesign
(Difference between revisions)
Line 2: | Line 2: | ||
* 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 | ||
- | * Emit code for various | + | * Emit code for various processor 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. | [[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. | Of course, as a loyal [[OracleLabs]] member [[I]] do believe we can beat the [[LLVM]] with our [[GraalVM]] stack. |
Current revision
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 processor 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.