Usos expuestos hacia arriba


Usos expuestos hacia arriba o usos accesibles , [1] es un concepto en la teoría del compilador que ocurre en la etapa de propagación de copias de la compilación. [2]

Durante la etapa de propagación de copias de la compilación del programa , las instancias de un destino se reemplazan con asignaciones a sus valores. Durante este proceso, es necesario que el compilador comprenda a qué instancias de un objetivo se está accediendo para que pueda ocurrir una sustitución apropiada, relacionada con el concepto de alcanzar la definición en el análisis de alcance. [3] Esto se hace con el propósito de simplificar el código antes de la ejecución: si el número de usos expuestos hacia arriba de una asignación es cero, no contribuye al resultado final del código y se puede eliminar de forma segura. [1] Esto también es útil para mejorar la seguridad del código durante las etapas de compilación. [4]

Es seguro asumir que la línea 5 nunca ocurrirá, como lo demuestra el número de usos expuestos hacia arriba para este punto que es cero. Por tanto, esto se puede simplificar:

Esto conduce a un resultado final que es menos complejo de compilar y más eficiente de ejecutar. [2] Esto también cumple con la definición de definición de alcance : en este contexto, el análisis de flujo ascendente fue la técnica utilizada para demostrar las necesidades de definición de alcance. Las técnicas adicionales permiten un análisis más complejo de problemas de control de flujo de control más profundamente entrelazados o complejos, como aquellos con diversas formas de bucles. [4]