Разработка компиляторов

       

Экономия общих подвыражений


Экономия общих подвыражений заключается в том, что среди всех вычисляемых на участке экономии выражений выделяются эквивалентные, и затем их вхождения заменяются на вхождение новой переменной, хранящей заранее вычисленное значение этого общего выражения.

Поскольку выделение одних подвыражений закрывает возможность выделить другие, данное преобразование является неоднозначным.

На иллюстрации показаны примеры применения этого преобразования. Во втором случае видна неоднозначность при выделении подвыражений: выражения b+c и c+d не могут быть выделены одновременно. Поскольку подвыражение b+c используется чаще, именно оно и было выделено.



Содержание раздела