Strength Reduction Example

Before:
    for (i=0; i<100; i++) {
	a[i] = j * i;
    }

After:

    if (0 < 100)
      {
        suif_tmp = j * 0;
        for (i = 0; i < 100; i++)
          {
            a[i] = suif_tmp;
            suif_tmp = suif_tmp + j;
          }
      }

After porky cleanup:

    suif_tmp = 0;
    for (i = 0; i < 100; i++)
      {
        a[i] = suif_tmp;
        suif_tmp = suif_tmp + j;
      }

Back to SUIF passes index.

Back to Tim's home page.