LLVM은 Cpp로 작성된 프로그래밍 언어 컴파일러 및 컴파일 환경 모음으로, 프로그래밍 타겟 플랫폼의 중간단계를 가상화하여 프로그래밍 과정에서 고려해야하는 타겟 플랫폼에대한 복잡한 의존성 문제 및 최적화 문제를 최소화 함으로서 개발자의 편의 도모 및 개발 시간 단축을 위한 프로그래밍을 위한 가상 플랫폼 개념에 해당한다.
LLVM은 원래 저수준 가상 기계(low-level virtual machine)의 약자로 LLVM을 채택했으나, LLVM이 성장하여 다양한 분야에 관련되면서 현재는 이 약자를 공식적으로는 버리고 그냥 LLVM 프로젝트로 불리우고 있다. 컴파일러(compiler), 최적화기(optimizer), JIT 코드생성기(Just-In-Time Code generator)를 비롯한 수많은 컴파일 관련 도구과 라이브러리를 묶어서 개발하고 있다.
기본적으로 LLVM 자체는 프론트 엔드와 백엔드 중간에 위치하는 가상개념의 플랫폼에 해당하는 개념과, 거기서 생성된 중간코드를 다루는 라이브러리 및 툴셋의 묶음이다. 그러나 LLVM프로젝트 자체에서 프론트엔드와 백엔드까지 직접 개발해나가면서 현재는 사실상 종합 컴파일러를 위한 플랫폼의 구현을 위한 프로젝트라고 받아들이면 된다.
가상머신으로서 JIT 형태로 전환된 비트코드를 바로 실행하는 LLI가 있긴하나, 성능면에서는 자바보다도 훨씬 떨어져(구조상 어쩔 수 없음) 테스트 정도는 가능하나 자바 등을 대체하기 위한 기능으로서는 사용하기에 무리가 따른다. 사실상 GCC를 대체할 BSD 라이센스 기반의 크로스 플랫폼 컴파일러로서 받아들여지고 있다고 보면 적합하다.
Chris Lattner이 처음 시작한 프로젝트로, 많은 오픈소스 개발 참여를 통해 개발되어가다가, 애플에서 해당 프로젝트를 회사 차원에서 지원하기 시작하여 개발팀 전체를 고용해 애플의 Xcode의 개발환경을 개선하기 위한 방안으로 개발되어나가고 있다. 유사 BSD라이센스로 배포되어 상업적으로나 비상업적으로나 사용에 제한이 없으며, 이 때문에 FreeBSD(프리BSD)진영을 비롯한 오픈소스 참여자나
구글 등의 기업도 많은 참여를 보이고 있다.