This is an archive of the discontinued LLVM Phabricator instance.

[Attributor][OpenMP] Add assumption for non-call assembly instructions
ClosedPublic

Authored by jdoerfert on Sep 17 2021, 11:07 AM.

Details

Summary

Inline assembly is scary but we need to support it for the OpenMP GPU
device runtime. The new assumption expresses the fact that it may not
have call semantics, that is, it will not call another function but
simply perform an operation or side-effect. This is important for
reachability in the presence of inline assembly.

Diff Detail

Event Timeline

jdoerfert created this revision.Sep 17 2021, 11:07 AM
jdoerfert requested review of this revision.Sep 17 2021, 11:07 AM
Herald added a reviewer: baziotis. · View Herald Transcript
Herald added a project: Restricted Project. · View Herald Transcript

Add new device runtime user

Herald added a project: Restricted Project. · View Herald TranscriptSep 17 2021, 11:10 AM
jdoerfert added inline comments.Sep 17 2021, 11:10 AM
llvm/test/Transforms/Attributor/reachability.ll
21

This is work in progress, we don't use reachability in-tree and I'll update the test as soon as we do.

ormris removed a subscriber: ormris.Jan 24 2022, 11:44 AM

Update test case

Herald added a project: Restricted Project. · View Herald TranscriptMar 28 2022, 10:08 AM
This revision is now accepted and ready to land.Mar 28 2022, 4:16 PM
This revision was landed with ongoing or failed builds.Mar 28 2022, 6:58 PM
This revision was automatically updated to reflect the committed changes.