This is an archive of the discontinued LLVM Phabricator instance.

[OpenMP] Group side-effects to improve guarding efficiency
ClosedPublic

Authored by jdoerfert on Sep 1 2021, 9:21 AM.

Details

Summary

When we guard side-effects as part of SPMDzation we do it for
consecutive instructions that need guarding. This patch will try to
reorder guarded side-effects in a block to decrease the number of
guarded regions we need. It does not use any smarts, e.g., alias
analysis, to move side-effects over non-interfering reads. Instead,
it only moves side-effects downwards to the next guarded side-effect
if there was nothing in between that could have possibly be affected.

Diff Detail

Event Timeline

jdoerfert created this revision.Sep 1 2021, 9:21 AM
jdoerfert requested review of this revision.Sep 1 2021, 9:21 AM
Herald added a project: Restricted Project. · View Herald TranscriptSep 1 2021, 9:21 AM

LGTM, waiting for tests

ggeorgakoudis accepted this revision.Sep 2 2021, 1:01 PM
This revision is now accepted and ready to land.Sep 2 2021, 1:01 PM