Difference: CS455Team4 (13 vs. 14)

Revision 142008-04-09 - YiChu

Line: 1 to 1
 

Team 4 (Team Foo) Page

Line: 20 to 20
 
  • The number in the bracket indicates the number of reduced statements compared to the previous phase.
Added:
>
>

Progress Report (2008-04-08)

  • Loop unrolling

The idea is if the total number of iteration is constant, we can unroll the loop and write the instructions inside the loop sequentially, thus reducing the number of statements needed for jumps and conditional testing. For instance, in the testcase sort.c we have some code fragment as follows:

while (idx < bound)
{
   write(array_1[idx]);
   idx = idx +1;
}

We know from constant propagation that variable bound is actually constant, thus the loop can be unwinded. Thus, we don't have test the condition idx<bound everytime we want to execute write. And the self-increament statement for idx is also saved. For loop with large number of iterations, loop unrolling is definitely an efficient optimization.

Progress Highlight (2008-04-05)

  • Updating the statistics after optimization on loop unrolling.
 

Progress Highlight (2008-04-03)

  • Group meeting and talk about ideas on how to do the new optimization on in-line function and loop unrolling.
  • Updating the statistics after modifying the statement counting function.
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2017 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding URCS? Send feedback