Visión general
De qué trata este proyecto.
Trabaja sobre el IR existente (formato TAC, Three-Address Code, suministrado en una sintaxis simple tipo SSA). Implementa una pasada peephole que recorra ventanas deslizantes de 2-4 instrucciones y aplique 8 reglas: eliminación de movs identidad, plegado de constantes, eliminación de cargas redundantes, sustitución de mul por shift cuando proceda, etc. La pasada debe ser idempotente y dejar el IR sintácticamente válido. Mide reducción de instrucciones sobre 12 programas benchmark del repo de la startup. Entrega el código de la pasada, los tests por regla y el reporte de reducción.
El Briefing
Lo que harás y lo que demostrarás.
Implementar una pasada peephole idempotente sobre IR TAC que aplique 8 patrones de optimización y reduzca al menos un 10% el conteo de instrucciones en el benchmark interno.
Earning criteria — what you'll demonstrate
- Leer y modificar una representación intermedia tipo three-address code
- Implementar pattern-matching sobre secuencias de instrucciones
- Garantizar idempotencia y validez sintáctica tras una pasada
- Medir el impacto de una optimización sobre un benchmark real
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
Optimizar IR con pattern-matching entrena la disciplina de medir antes de optimizar — competencia que separa a un ingeniero de software senior del que solo escribe código funcional.
Este proyecto afina
- peephole-optimization
- pattern-matching
- performance-benchmarking
Ingeniero Backend
Trabajar con IR de bajo nivel y benchmarks honestos prepara para roles backend en empresas que escriben sus propios runtimes o motores de consulta.
Este proyecto afina
- compiler-backend
- ir-design
- c-programming