Skip to content
Snippets Groups Projects

Misc. GPU improvements

Merged rarbore2 requested to merge edge_gpu into main
1 file
+ 71
14
Compare changes
  • Side-by-side
  • Inline
gvn(*);
phi-elim(*);
dce(*);
macro simpl!(X) {
ccp(X);
simplify-cfg(X);
lift-dc-math(X);
gvn(X);
phi-elim(X);
dce(X);
infer-schedules(X);
}
gpu(gaussian_smoothing, laplacian_estimate, zero_crossings, gradient, max_gradient, reject_zero_crossings);
simpl!(*);
ip-sroa(*);
sroa(*);
dce(*);
gvn(*);
phi-elim(*);
dce(*);
simpl!(*);
//forkify(*);
infer-schedules(*);
no-memset(gaussian_smoothing@res);
fixpoint {
forkify(gaussian_smoothing);
fork-guard-elim(gaussian_smoothing);
fork-coalesce(gaussian_smoothing);
}
predication(gaussian_smoothing);
simpl!(gaussian_smoothing);
predication(gaussian_smoothing);
simpl!(gaussian_smoothing);
gcm(*);
no-memset(laplacian_estimate@res, laplacian_estimate@shr1, laplacian_estimate@shr2);
fixpoint {
forkify(laplacian_estimate);
fork-guard-elim(laplacian_estimate);
fork-coalesce(laplacian_estimate);
}
simpl!(laplacian_estimate);
no-memset(zero_crossings@res, zero_crossings@shr1, zero_crossings@shr2);
fixpoint {
forkify(zero_crossings);
fork-guard-elim(zero_crossings);
fork-coalesce(zero_crossings);
}
simpl!(zero_crossings);
no-memset(gradient@res);
fixpoint {
forkify(gradient);
fork-guard-elim(gradient);
fork-coalesce(gradient);
}
predication(gradient);
simpl!(gradient);
predication(gradient);
simpl!(gradient);
fixpoint {
forkify(max_gradient);
fork-guard-elim(max_gradient);
fork-coalesce(max_gradient);
}
simpl!(max_gradient);
no-memset(reject_zero_crossings@res);
fixpoint {
float-collections(*);
dce(*);
gcm(*);
forkify(reject_zero_crossings);
fork-guard-elim(reject_zero_crossings);
fork-coalesce(reject_zero_crossings);
}
predication(reject_zero_crossings);
simpl!(reject_zero_crossings);
async-call(edge_detection@le, edge_detection@zc);
gpu(gaussian_smoothing, laplacian_estimate, zero_crossings, gradient, max_gradient, reject_zero_crossings);
simpl!(*);
delete-uncalled(*);
gcm(*);
Loading