Когда эта опция установлена, Оптимизатор многократно использует результат выражений и подвыражений, которые используются в программе больше, чем один раз.
Когда установлена опция “Удалить неиспользуемый код”, Оптимизатор подавляет коды, которые не имеют значения. Например, если запрограммировано следующее выражение: “var := 1; var := X;”, то соответствующий генерируемый код будет только: ”var := X;”.
Когда установлена опция “Оптимизировать арифметические операции”, Оптимизатор упрощает арифметические операции согласно специальным операндам. Например, выражение “А + 0” заменяется на “А”. Когда установлена опция “Оптимизировать булевские операции”, Оптимизатор упрощает логические операции согласно специальным операндам. Например, логическое выражение “A & A”
заменяется на “A”.
Когда установлена опция “Строй бинарные диаграммы принятия решения”, Оптимизатор заменяет логические уравнения (смесь операторов AND, OR, XOR и NOT) сокращенным списком операций перехода. Преобразование происходит только в том случае, если ожидаемое время последовательности переходов меньше, чем время ожидаемое для оригинального выражения.
Следующая таблица суммирует ожидаемую оптимизацию и требуемое время компиляции в соответствии с каждым параметром:
Выигрыш(произв.).. время
Оптимизация в два прохода xxxx....................... (*)