Análisis de Flujo de Datos para Detección de Variables Muertas en LLVM
Visión general
De qué trata este proyecto.
Implementa la pasada como un FunctionPass de LLVM en C++. Calcula los conjuntos in/out de liveness por bloque básico hasta punto fijo, identifica stores y definiciones cuyo destino no es leído, y elimínalos preservando efectos colaterales (volátiles, llamadas con efectos). Mide reducción de instrucciones IR y tamaño binario sobre 6 benchmarks de CINT2017. Garantiza paridad de output (mismos resultados) sobre la suite de regresión. Entrega la pasada, los tests LIT y un reporte de medición.
El Briefing
Lo que harás y lo que demostrarás.
Implementar análisis de liveness y eliminación de stores muertos como FunctionPass LLVM con reducción medible y paridad de output en la suite de regresión.
Earning criteria — what you'll demonstrate
- Formular liveness como análisis de flujo de datos backward
- Iterar hasta punto fijo con eficiencia sobre el CFG (Control Flow Graph — grafo de flujo de control)
- Preservar semántica observable (volátiles, llamadas con side effects)
- Medir impacto en LLVM con metodología defendible (LIT + benchmarks)
Encaje académico
Dónde encaja esto en tus estudios.
Afina las mismas habilidades que tu titulación espera de ti.
Habilidades
Habilidades que demostrarás.
Cada una aparece en tu credencial verificada.
Carreras
Roles para los que esto te prepara.
Títulos reales. Puentes de habilidades reales. Elige el que más se acerque a tu trayectoria.
Trayectorias profesionales que esto construye
Roles canónicosIngeniero de Software
Implementar análisis de flujo de datos sobre LLVM con benchmarks honestos es una credencial directa para roles de ingeniería de software en equipos de compiladores, runtimes o lenguajes — uno de los terrenos técnicos más exigentes del sector.
Este proyecto afina
- dataflow-analysis
- llvm
- compiler-optimization
Ingeniero Backend
Razonar a nivel de CFG y punto fijo entrena el músculo de análisis estático que un ingeniero backend aplica al diseñar verificadores de configuración o motores de reglas.
Este proyecto afina
- dataflow-analysis
- liveness-analysis
- cpp
Arquitecto de Sistemas
Quien ha trabajado dentro de LLVM entiende los tradeoffs reales entre análisis precisos y compilación rápida — perspectiva clave para arquitectos de sistemas que evalúan toolchains.
Este proyecto afina
- compiler-optimization
- dataflow-analysis
- llvm