This is an archive of the discontinued LLVM Phabricator instance.

[mlir] AsyncParallelFor: sink constants into the parallel compute function
ClosedPublic

Authored by ezhulenev on Dec 7 2021, 9:44 AM.

Details

Summary

With complex recursive structure of async dispatch function LLVM can't always propagate constants to the parallel_compute_fn and it often prevents optimizations like loop unrolling and vectorization. We help LLVM by pushing known constants into the parallel_compute_fn explicitly.

Diff Detail

Event Timeline

ezhulenev created this revision.Dec 7 2021, 9:44 AM
ezhulenev requested review of this revision.Dec 7 2021, 9:44 AM
ezhulenev updated this revision to Diff 392503.Dec 7 2021, 12:34 PM

Fix LLVM style violations

ezhulenev edited the summary of this revision. (Show Details)Dec 7 2021, 3:21 PM
ezhulenev edited reviewers, added: herhut; removed: mehdi_amini.
bkramer accepted this revision.Dec 9 2021, 6:42 AM

looks good

This revision is now accepted and ready to land.Dec 9 2021, 6:42 AM
This revision was landed with ongoing or failed builds.Dec 9 2021, 6:48 AM
This revision was automatically updated to reflect the committed changes.