diff options
| author | Doru Bercea <Doru.Bercea@amd.com> | 2022-11-16 17:23:48 -0600 |
|---|---|---|
| committer | Doru Bercea <Doru.Bercea@amd.com> | 2022-11-17 17:35:53 -0600 |
| commit | 98bfd7f976f166e2eb7b444f3ee86843815ca73c (patch) | |
| tree | 711c38c9e915abb1783f3cc3098a5909b3e97ff3 /clang/lib/CodeGen/CodeGenModule.cpp | |
| parent | eaafee27a9e1440d1ed6fc19458e4fb0cafb01f1 (diff) | |
Fix declare target implementation to support enter.
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
| -rw-r--r-- | clang/lib/CodeGen/CodeGenModule.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/clang/lib/CodeGen/CodeGenModule.cpp b/clang/lib/CodeGen/CodeGenModule.cpp index efec43069ec2..ae25767bc753 100644 --- a/clang/lib/CodeGen/CodeGenModule.cpp +++ b/clang/lib/CodeGen/CodeGenModule.cpp @@ -3305,12 +3305,14 @@ void CodeGenModule::EmitGlobal(GlobalDecl GD) { OMPDeclareTargetDeclAttr::isDeclareTargetDeclaration(VD)) { bool UnifiedMemoryEnabled = getOpenMPRuntime().hasRequiresUnifiedSharedMemory(); - if (*Res == OMPDeclareTargetDeclAttr::MT_To && + if ((*Res == OMPDeclareTargetDeclAttr::MT_To || + *Res == OMPDeclareTargetDeclAttr::MT_Enter) && !UnifiedMemoryEnabled) { (void)GetAddrOfGlobalVar(VD); } else { assert(((*Res == OMPDeclareTargetDeclAttr::MT_Link) || - (*Res == OMPDeclareTargetDeclAttr::MT_To && + ((*Res == OMPDeclareTargetDeclAttr::MT_To || + *Res == OMPDeclareTargetDeclAttr::MT_Enter) && UnifiedMemoryEnabled)) && "Link clause or to clause with unified memory expected."); (void)getOpenMPRuntime().getAddrOfDeclareTargetVar(VD); |
