LLVM 구조

링크

단어 해석

  • 원래는 Low Level Virtual Machine 에서 가져옴
    • 위 그림을 보면 LLVM언어들Machine들 사이에 위치함
    • C언어보다 하드웨어에 가까운 낮은 위치(low level)에서 여러가지 Machine을 대신하여 가상으로 하나의 머신(Virtual Machine)처럼 보이게 해주는 기술인듯
  • 모듈러 / 재사용되는 컴파일러 / 툴체인 기술의 모음 (collection)
  • 전통적인 OS레벨의 가상머신과는 관계 없음
  • 현재는 두문자어(acronym)가 아니라, LLVM자체가 프로젝트의 Full name이다

    The LLVM Project is a collection of modular and reusable compiler and toolchain technologies. Despite its name, LLVM has little to do with traditional virtual machines. The name “LLVM” itself is not an acronym; it is the full name of the project.

    • 위 문단은 llvm.org 에서 LLVM Overview의 가장 첫 문단이다

내부구조

  • 프론트엔드와 백엔드로 나뉜다
    • 서브 프로젝트로 클랭