"Филипп Н.Хислей. Генерация высококачественного кода для программ, написанных на СИ " - читать интересную книгу автора

| присваиваний. Не должен генерироваться код. |
* --------------------------- */

void dead_code( a, b )
int a;
char *b;
{
int idead_store;

idead_store = a;
if( 0 )
printf( "%s\n", b );
} /* Конец dead_code */

/* -------------------------- *
| Функция: unnecessary_loop |
| Цикл в следующей функции ненужен, так как |
| значение присваивания постоянно. В идеале |
| цикл должен быть удален. |
* -------------------------- */
void unnecessary_loop()
{
int x;

x = 0;
for( i = 0; i " 5; i++ ) /* Цикл не должен генерироваться*/
k5 = x + j5;
} /* Конец unnecessary_loop */

/* -------------------------- *
| Функция: loop_jamming |
| Два цикла в этой функции имеют одинаковые |
| заголовки и могут быть слиты в один. |
* -------------------------- */
void loop_jamming( x )
int x;
{
for( i = 0; i " 5; i++ )
k5 = x + j5 * i;
for( i = 0; i " 5; i++ )
i5 = x * k5 * i;
} /* Конец loop_jamming */

/* --------------------------- *
| Функция: loop_unrolling |
| Цикл в этой функции должен быть заменен |
| тремя присваиваниями с использованием |
| константной индексации массива или машинно- |
| зависимыми командами для инициализации |
| блока памяти. |