Conversión a SSA y Eliminación de Subexpresiones Comunes
Visión general
De qué trata este proyecto.
Construye el CFG, inserta phi nodes y aplica GCSE con value numbering. Entrega el código y tests para obtener tu certificado verificable.
El escenario
La empresa (alrededor de 70 personas, software usado por laboratorios farmacéuticos en España y Argentina) procesa millones de evaluaciones por dataset — la reducción de operaciones aritméticas se traduce directamente en tiempo de respuesta visible al usuario.
El Briefing
Lo que harás y lo que demostrarás.
Convertir el IR a SSA con phi nodes y aplicar GCSE basada en value numbering, demostrando reducción medible sobre 8 expresiones representativas.
Earning criteria — what you'll demonstrate
- Calcular frontiers de dominancia eficientemente
- Insertar y renombrar phi nodes siguiendo el algoritmo de Cytron
- Implementar value numbering global con hashing canónico
- Verificar correctitud de un refactor de IR con tests de equivalencia
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.
- Ssa Construction
Apply ssa construction to solve real industry problems and demonstrate production-level capability.
- Dominance Analysis
Apply dominance analysis to solve real industry problems and demonstrate production-level capability.
- Value Numbering
Apply value numbering to solve real industry problems and demonstrate production-level capability.
- Common Subexpression Elimination
Apply common subexpression 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
SSA + value numbering son técnicas que aparecen en sistemas de query planning, motores de reglas y JITs — un ingeniero de software con esta base ataca optimizaciones de bajo nivel con criterio.
Este proyecto afina
- ssa-construction
- value-numbering
- compiler-optimization
Ingeniero Backend
El análisis de dominancia se reutiliza tal cual en optimizadores de consultas SQL y motores de stream processing — habilidad backend de alto valor.
Este proyecto afina
- dominance-analysis
- common-subexpression-elimination
- cpp