LLVM
Jump to navigation
Jump to search
LLVM is an abbreviation of "Low Level Virtual Machine"; LLVM is:
- A compilation strategy
- A virtual instruction set
- A compiler infrastructure
It is developed by the University of Illinois. It is implemented on many platforms, amongst others the iPhone.
You can use this from a Haskell program using the Haskell package llvm. There is
- a cabal package at Hackage,
- a darcs repository,
- a mailing list,
- a blog article with examples,
- the article "A performance update" that describes, how LLVM can improve performance
Additional stuff
- llvm-extra provides high-level control structures (
ifThenElse
,whileLoop
,Maybe
), vector instructions, automatic adaption to target specific extensions
Applications
- synthesizer-llvm provides efficient signal processing using vector instructions, including a realtime software synthesizer