Повторное назначение виртуальных регистров

При исчерпании виртуальных регистров из этого пула в процессе генерации происходит их повторное назначение. Таким образом, в процессе генерации линейный участок может быть разбит на интервалы, определяемые повторным назначением конечных виртуальных регистров, образующих пул. На каждом интервале виртуальные регистры назначаются по описанным выше правилам. Однако, каждый интервал содержит одни и те же виртуальные регистры. Поэтому диапазон перестановок псевдокоманд фактически определен этими интервалами, иначе говоря, повторным использованием виртуального регистра.

Размер интервала существенно зависит от размера пула. В первом варианте предполагается использовать пул объемом 16 регистров. Как показывает опыт, это позволяет проводить перестановки в диапазоне нескольких операторов, возможно в линейном блоке целиком.

Следует также отметить, что в конце оператора все промежуточные значения перестают существовать.

Граница между интервалами может быть выровнена по концу оператора.

При этом результаты промежуточных вычислений будут размещаться на A/S регистрах или на промежуточных В/Т регистрах.

Метки: , , , ,

Связанные записи