Loop splitting

http://dbpedia.org/resource/Loop_splitting an entity of type: TopicalConcept

Loop splitting is a compiler optimization technique. It attempts to simplify a loop or eliminate dependencies by breaking it into multiple loops which have the same bodies but iterate over different contiguous portions of the index range. rdf:langString
Расщепление цикла (англ. loop splitting) — оптимизация компилятора, которая пытается упростить цикл или устранить зависимости в цикле, разбив его на несколько частей, имеющих одно и то же тело исходного цикла и различные диапазоны счётчика. Например, следующий код: int p = 10;for (int i=0; i<10; ++i){ y[i] = x[i] + x[p]; p = i;} в результате применения оптимизации преобразовывается в: y[0] = x[0] + x[10];for (int i=1; i<10; ++i){ y[i] = x[i] + x[i-1];} Новый код равносилен предыдущему, однако устраняет необходимость в переменной «р» внутри тела цикла. rdf:langString
Розщеплення циклу (англ. loop splitting) — оптимізація компілятора, яка намагається спростити цикл або усунути залежності в циклі, розбивши його на кілька частин, що мають одне і те саме тіло циклу і різні діапазони лічильника. Розглянемо, наприклад, такий код: int p = 10;for (int i=0; i<10; ++i){ y[i] = x[i] + x[p]; p = i;} Зауважимо, що p = 10 лише для першої ітерації, а для всіх інших ітерацій p = i - 1. Компілятор може скористатися цим, розмотавши (або «відщепивши») першу ітерацію циклу. Після застосування оптимізації код стане таким: rdf:langString
rdf:langString Loop splitting
rdf:langString Расщепление цикла
rdf:langString Розщеплення циклу
xsd:integer 611631
xsd:integer 1050438254
rdf:langString y
rdf:langString August 2019
rdf:langString Loop splitting is a compiler optimization technique. It attempts to simplify a loop or eliminate dependencies by breaking it into multiple loops which have the same bodies but iterate over different contiguous portions of the index range.
rdf:langString Расщепление цикла (англ. loop splitting) — оптимизация компилятора, которая пытается упростить цикл или устранить зависимости в цикле, разбив его на несколько частей, имеющих одно и то же тело исходного цикла и различные диапазоны счётчика. Например, следующий код: int p = 10;for (int i=0; i<10; ++i){ y[i] = x[i] + x[p]; p = i;} в результате применения оптимизации преобразовывается в: y[0] = x[0] + x[10];for (int i=1; i<10; ++i){ y[i] = x[i] + x[i-1];} Новый код равносилен предыдущему, однако устраняет необходимость в переменной «р» внутри тела цикла. Впервые данная оптимизация появилась в GCC версии 3.4.
rdf:langString Розщеплення циклу (англ. loop splitting) — оптимізація компілятора, яка намагається спростити цикл або усунути залежності в циклі, розбивши його на кілька частин, що мають одне і те саме тіло циклу і різні діапазони лічильника. Розглянемо, наприклад, такий код: int p = 10;for (int i=0; i<10; ++i){ y[i] = x[i] + x[p]; p = i;} Зауважимо, що p = 10 лише для першої ітерації, а для всіх інших ітерацій p = i - 1. Компілятор може скористатися цим, розмотавши (або «відщепивши») першу ітерацію циклу. Після застосування оптимізації код стане таким: y[0] = x[0] + x[10];for (int i=1; i<10; ++i){ y[i] = x[i] + x[i-1];} Новий код рівносильний попередньому, проте усуває необхідність у змінній р всередині тіла циклу. Вперше ця оптимізація з'явилася в GCC версії 3.4. Більш узагальнене розщеплення циклу додано в GCC 7.
xsd:nonNegativeInteger 4480

data from the linked data cloud