Análisis de Flujo de Datos para Detección de Variables Muertas en LLVM
Visión general
De qué trata este proyecto.
Implementa en C++ un FunctionPass de LLVM que elimina variables muertas en benchmarks CINT2017. Obtén un certificado verificable.
El escenario
El proveedor (alrededor de 350 personas en MX, parte de un grupo internacional) está en una carrera de eficiencia de generación de código con un competidor; cada 2% de reducción en tamaño binario es defendible en revisión técnica con clientes embebidos.
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.
Advanced Compilers and Program Optimization
Master · Programming Languages
Strong alignment
This challenge maps to Advanced Compilers and Program Optimization at the Master level. It sharpens the same practical skills your coursework expects — but in a real industry context with actual constraints and deliverables.
Habilidades
Habilidades que demostrarás.
Cada una aparece en tu credencial verificada.
- Dataflow Analysis
Apply dataflow analysis to solve real industry problems and demonstrate production-level capability.
- Llvm
Apply llvm to solve real industry problems and demonstrate production-level capability.
- Liveness Analysis
Apply liveness analysis to solve real industry problems and demonstrate production-level capability.
- Dead Code Elimination
Apply dead code elimination to solve real industry problems and demonstrate production-level capability.
- Compiler Optimization
Apply compiler optimization to solve real industry problems and demonstrate production-level capability.
- Cpp
Apply cpp to solve real industry problems and demonstrate production-level capability.
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.
Ingeniero 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