LLVM은 프로그래밍 언어 컴파일러 집합으로, 컴파일 시간이나 런타임 시간 등 다양한 상황에서 최적화를 쉽게 구현할 수 있도록 구성되어 있다. LLVM은 원래는 저수준 가상 기계(low-level virtual machine)의 약자를 가리켰지만, LLVM이 성장하면서 다양한 목적을 가지게 되면서 현재는 이 약자는 사용하지 않는다.
LLVM의 핵심 코드는 'LLVM 라이선스'로 배포되며, 이것은 BSD 라이선스와 비슷한 속성을 가진다.[2] 즉, LLVM을 사용한 프로그램을 배포하였을 때 해당 소스 코드를 공개/배포해야 하는 의무가 없다. 단 LLVM의 프론트엔드를 GNU 컴파일러 모음(GCC) 기반으로 사용할 경우 프론트엔드는 GPL로 배포한다.
LLVM 프로젝트에서는 LLVM 라이선스를 가지는 프론트엔드를 위해, Clang이라는 프로젝트를 진행하고 있다. LLVM으로 Java와 JVM처럼 언어에 가상 머신을 생성, 가상 기계가 특정 머신 기계를 생성하고, 언어와 플랫폼에 독립적인...
원문 링크 : What is LLVM? (LLVM이란?)