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 altamente susceptibles de optimización. Muchas optimizaciones del compilador operan en bloques básicos extendidos.
Definición
Un bloque básico extendido es una colección máxima de bloques básicos donde:
- solo el primer bloque básico puede tener varios 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 las expresiones duplicadas. En su forma más simple, es una optimización local, que opera solo en bloques básicos. [3]
Ver 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 avanzados del compilador , Morgan Kaufmann Publishers, 1997. ISBN 1-55860-320-4 página 175
- ^ "Copia archivada" . Archivado desde el original el 15 de mayo de 2014 . Consultado el 4 de julio de 2012 .CS1 maint: copia archivada como título ( enlace )