Техника оптимизации под линуха

       

неоптимизированный вариант


После ротации ветвлений наш код будет выглядеть так:

// дублируем операторы цикла, расположенные до break

printf("1й оператор цикла\n");

a--;

// а должен ли вообще выполнятся остаток цикла?

if (a>
=0)

{

       a++;

       do

       {

              // после трансформации второй оператор стал первым…

              printf("2й оператор\n");

              // …а первый оператор — вторым

              printf("1й оператор цикла\n");

       } while(–-a<0);
// сюда попало условие из if - break

}



Содержание раздела