Устранение ложных зависимостей - PullRequest
1 голос
/ 25 марта 2010

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

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

1 Ответ

2 голосов
/ 25 марта 2010

Оптимизирующие компиляторы делают что-то подобное, используя представление программы под названием Single Static Assignment (SSA) ...

...