Quando é útil dividir arestas críticas?


7

Alguns compiladores têm funções utilitárias que dividem arestas críticas no gráfico de fluxo de controle. Suponho que isso não seja feito como uma otimização em si, mas para simplificar outras análises e transformações. Em que casos a divisão de arestas críticas seria útil?

Respostas:


5

Uma fácil pesquisa no google é exibida em Muchnick, Advanced Compiler Design & Implementation , Seção 13.3 Eliminação de redundância parcial , pp 407-408:

Um ponto chave no algoritmo é que ele pode ser muito mais eficaz se as arestas críticas no fluxograma tiverem sido divididas antes da análise do fluxo.

Portanto, a noção é útil para aumentar a eficiência de certas análises de fluxo na eliminação de redudância, que visa encontrar partes do código com subexpressões comuns e elevá-las em um único cálculo, facilitado na ausência de arestas críticas.


obrigado pela resposta. Você pode ser mais específico sobre como o algoritmo de análise de fluxo é simplificado como resultado da divisão?
zr.
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.