Page MenuHomePhabricator

[OPENMP50]Codegen for use_device_addr clauses.
ClosedPublic

Authored by ABataev on May 28 2020, 8:56 AM.

Details

Summary

Added codegen for use_device_addr clause. The components of the list
items are mapped as a kind of RETURN components and then the returned
base address is used instead of the real address of the base declaration
used in the use_device_addr expressions.

Diff Detail

Event Timeline

ABataev created this revision.May 28 2020, 8:56 AM
Herald added a project: Restricted Project. · View Herald TranscriptMay 28 2020, 8:56 AM
jdoerfert added inline comments.
clang/lib/CodeGen/CGOpenMPRuntime.cpp
7631

I'm not a fan of this implicit encoding. Can't we add a new map type or modifier?

ABataev updated this revision to Diff 268299.Jun 3 2020, 2:13 PM

Rebase + fixes

I was hoping @dreachem and maybe @RaviNarayanaswamy would look at this.

clang/lib/CodeGen/CGOpenMPRuntime.cpp
7631

Better, thanks. The comment change is probably not needed anymore.

ABataev updated this revision to Diff 268587.Jun 4 2020, 2:06 PM

Rebase and fixes

jdoerfert accepted this revision.Wed, Jun 10, 1:38 PM

One nit below, the others seem silent. LGTM.

clang/lib/Sema/SemaOpenMP.cpp
18521

Leftover?

This revision is now accepted and ready to land.Wed, Jun 10, 1:38 PM
ABataev marked an inline comment as done.Wed, Jun 10, 2:02 PM
ABataev added inline comments.
clang/lib/Sema/SemaOpenMP.cpp
18521

Yes, forgot to remove

This revision was automatically updated to reflect the committed changes.

Hi, you can drop Reviewers: Subscribers: Tags: and the text Summary: with the following script

arcfilter () {
        arc amend
        git log -1 --pretty=%B | awk '/Reviewers:|Subscribers:/{p=1} /Reviewed By:|Differential Revision:/{p=0} !p && !/^Summary:$/ {sub(/^Summary: /,"");print}' | git commit --amend --date=now -F -
}

Reviewed By: is considered important by some people. You should keep the tag. (I have updated my script to use --date=now (setting author date to committer date))

https://reviews.llvm.org/D80978 contains a git pre-push hook to automate this.