This is an archive of the discontinued LLVM Phabricator instance.

[OpenMP][FIX] Do not use TBAA in type punning reduction GPU code PR46156
ClosedPublic

Authored by jdoerfert on Aug 16 2020, 8:41 AM.

Details

Summary

When we implement OpenMP GPU reductions we use type punning a lot during
the shuffle and reduce operations. This is not always compatible with
language rules on aliasing. So far we generated TBAA which later allowed
to remove some of the reduce code as accesses and initialization were
"known to not alias". With this patch we avoid TBAA in this step,
hopefully for all accesses that we need to.

Verified on the reproducer of PR46156 and QMCPack.

Diff Detail

Event Timeline

jdoerfert created this revision.Aug 16 2020, 8:41 AM
Herald added a project: Restricted Project. · View Herald TranscriptAug 16 2020, 8:41 AM
jdoerfert requested review of this revision.Aug 16 2020, 8:41 AM
This revision is now accepted and ready to land.Aug 16 2020, 8:50 AM
This revision was landed with ongoing or failed builds.Aug 16 2020, 12:40 PM
This revision was automatically updated to reflect the committed changes.