Line 141... |
Line 141... |
cucdebug (2, "BB%i unroll %i times preroll %i times\n", b, j, i);
|
cucdebug (2, "BB%i unroll %i times preroll %i times\n", b, j, i);
|
log ("BB%i unroll %i times preroll %i times\n", b, j, i);
|
log ("BB%i unroll %i times preroll %i times\n", b, j, i);
|
func = preunroll_loop (f, b, i, j, bb_filename);
|
func = preunroll_loop (f, b, i, j, bb_filename);
|
if (cuc_debug >= 2) print_cuc_bb (func, "AFTER_PREUNROLL");
|
if (cuc_debug >= 2) print_cuc_bb (func, "AFTER_PREUNROLL");
|
cuc_optimize (func);
|
cuc_optimize (func);
|
|
analyse_timings (func, timings);
|
|
|
cucdebug (2, "new_time = %i, old_time = %i, size = %f\n",
|
cucdebug (2, "new_time = %i, old_time = %i, size = %f\n",
|
timings->new_time, func->orig_time, timings->size);
|
timings->new_time, func->orig_time, timings->size);
|
log ("new time = %icyc, old_time = %icyc, size = %.0f gates\n",
|
log ("new time = %icyc, old_time = %icyc, size = %.0f gates\n",
|
timings->new_time, func->orig_time, timings->size);
|
timings->new_time, func->orig_time, timings->size);
|
Line 237... |
Line 238... |
double csize;
|
double csize;
|
saved->bb[b].selected_tim = -1;
|
saved->bb[b].selected_tim = -1;
|
|
|
/* Is it a loop? */
|
/* Is it a loop? */
|
if (saved->bb[b].next[0] != b && saved->bb[b].next[1] != b) continue;
|
if (saved->bb[b].next[0] != b && saved->bb[b].next[1] != b) continue;
|
|
log ("Found loop at BB%x. Trying to unroll.\n", b);
|
t[0] = timings;
|
t[0] = timings;
|
t[0].b = b;
|
t[0].b = b;
|
t[0].preroll = 1;
|
t[0].preroll = 1;
|
t[0].unroll = 1;
|
t[0].unroll = 1;
|
t[0].nshared = 0;
|
t[0].nshared = 0;
|