Skip to content
Snippets Groups Projects

Optimization for miranda

Merged rarbore2 requested to merge miranda_opt into main
@@ -40,14 +40,6 @@ fixpoint {
fork-coalesce(laplacian_estimate);
}
simpl!(laplacian_estimate);
let par = laplacian_estimate@image_loop \ laplacian_estimate@filter_loop;
fork-tile[4, 1, false, false](par);
fork-tile[4, 0, false, false](par);
fork-interchange[1, 2](par);
let split = fork-split(par);
let laplacian_estimate_body = outline(split._1_laplacian_estimate.fj2);
fork-coalesce(laplacian_estimate, laplacian_estimate_body);
simpl!(laplacian_estimate, laplacian_estimate_body);
no-memset(zero_crossings@res, zero_crossings@shr1, zero_crossings@shr2);
fixpoint {
@@ -56,14 +48,6 @@ fixpoint {
fork-coalesce(zero_crossings);
}
simpl!(zero_crossings);
let par = zero_crossings@image_loop \ zero_crossings@filter_loop;
fork-tile[4, 1, false, false](par);
fork-tile[4, 0, false, false](par);
fork-interchange[1, 2](par);
let split = fork-split(par);
let zero_crossings_body = outline(split._2_zero_crossings.fj2);
fork-coalesce(zero_crossings, zero_crossings_body);
simpl!(zero_crossings, zero_crossings_body);
no-memset(gradient@res);
fixpoint {
@@ -105,8 +89,8 @@ simpl!(reject_zero_crossings);
async-call(edge_detection@le, edge_detection@zc);
fork-split(gaussian_smoothing_body, laplacian_estimate_body, zero_crossings_body, gradient, reject_zero_crossings);
unforkify(gaussian_smoothing_body, laplacian_estimate_body, zero_crossings_body, gradient, reject_zero_crossings);
fork-split(gaussian_smoothing_body, laplacian_estimate, zero_crossings, gradient, reject_zero_crossings);
unforkify(gaussian_smoothing_body, laplacian_estimate, zero_crossings, gradient, reject_zero_crossings);
simpl!(*);
Loading