Расщепление цикла

Расщепление цикла (англ. loop splitting) — оптимизация компилятора, которая пытается упростить цикл или устранить зависимости в цикле, разбив его на несколько частей, имеющих одно и то же тело исходного цикла и различные диапазоны счётчика.

Например, следующий код:

в результате применения оптимизации преобразовывается в:

Новый код равносилен предыдущему, однако устраняет необходимость в переменной «р» внутри тела цикла.

Впервые данная оптимизация появилась в GCC версии 3.4.

Источник: Википедия

а б в г д е ё ж з и й к л м н о п р с т у ф х ц ч ш щ э ю я