Проект / инфраструктура LLVM: Это зонтик для нескольких
проекты, которые вместе образуют полный компилятор: внешние интерфейсы,
бэкэнды, оптимизаторы, ассемблеры, компоновщики, libc ++, compiler-rt и
JIT двигатель. Слово «LLVM» имеет это значение, например, в
следующее предложение: «LLVM состоит из нескольких проектов».
Компилятор на основе LLVM: Это компилятор, построенный частично или
полностью с инфраструктурой LLVM. Например, компилятор может
используйте LLVM для внешнего и внутреннего интерфейса, но используйте систему GCC и GNU
библиотеки для выполнения окончательной ссылки. LLVM имеет это значение в
следующее предложение, например: «Я использовал LLVM для компиляции программ на C
платформа MIPS ".
Библиотеки LLVM: Это повторно используемая часть кода
инфраструктуры LLVM. Например, LLVM имеет это значение в
предложение: «Мой проект использует LLVM для генерации кода через его
Каркас компиляции Just-in-Time ".
LLVM ядро: Оптимизация
что происходит на промежуточном уровне языка и бэкэнда
Алгоритмы образуют ядро LLVM, с которого начался проект. У LLVM есть это
значение в следующем предложении: «LLVM и Clang два разных
проекты».
IR LLVM: Это промежуточное звено компилятора LLVM
представление. LLVM имеет это значение при использовании в таких предложениях, как
«Я создал интерфейс, который переводит мой собственный язык на LLVM».