En informática , un bloque básico extendido [1] [2] es una colección de bloques básicos del código dentro de un programa con ciertas propiedades que los hacen muy susceptibles a optimizaciones. Muchas optimizaciones del compilador operan sobre bloques básicos extendidos.
Definición
Un bloque básico extendido es una colección máxima de bloques básicos donde:
- sólo el primer bloque básico puede tener múltiples bloques básicos predecesores;
- Todos los demás bloques básicos tienen un único bloque básico predecesor, que debe estar dentro de la colección de bloques básicos.
Usos
Muchas optimizaciones locales que operan en bloques básicos se pueden extender fácilmente para operar en bloques básicos extendidos. Un ejemplo es la eliminación de subexpresiones comunes , que elimina expresiones duplicadas. En su forma más simple, es una optimización local que opera solo en bloques básicos. [3]
Véase también
Notas
- ^ Cooper, Keith D., y Torczon, Linda, Ingeniería de un compilador , Morgan Kaufmann, 2004, ISBN 1-55860-699-8 página 405
- ^ Steven S. Muchnick Diseño e implementación de compiladores avanzados, Morgan Kaufmann Publishers, 1997. ISBN 1-55860-320-4 página 175
- ^ "Extensión de numeración de valores - ReuvenLax - Página de inicio del sitio - Blogs de MSDN". Archivado desde el original el 15 de mayo de 2014. Consultado el 4 de julio de 2012 .
Enlaces externos
- Bloques básicos - Colección de compiladores GNU
- Diferencia entre bloques básicos extendidos y trazas