Está en la página 1de 1

Un compilador es simplemente un programa que traduce otros

programas. Los compiladores clásicos traducen código fuente a código


máquina ejecutable que tu ordenador puede entender. (Algunos
compiladores traducen código fuente a otro lenguaje de programación.
Estos se denominan traductores fuente-a-fuente
o transpiladores). LLVM es un proyecto de compilador de uso
generalizado, consistente en muchas herramientas de compilación
modulares.
El diseño tradicional de compiladores consta de tres partes:

• El Frontend traduce código fuente en una representación


intermedia (IR) de éste. LLVM IR es un lenguaje de bajo nivel
parecido a ensamblador. Sin embargo omite cualquier
información específica del hardware. clang es el frontend de LLVM
para la familia de lenguajes de C.
• El Optimizador analiza la IR y la traduce a una forma más
eficiente; opt es la herramienta de optimización de LLVM.
• ElBackend genera código máquina al mapear la IR al conjunto de
instrucciones del hardware de destino; llc es la herramienta LLVM
de backend.

También podría gustarte