================
@@ -9955,6 +10062,19 @@ void 
CGOpenMPRuntime::scanForTargetRegionsFunctions(const Stmt *S,
   if (!S)
     return;
 
+  // Register vtable from device for target data and target directives.
+  // Add this block here since scanForTargetRegionsFunctions ignores
+  // target data by checking if S is a executable directive (target).
+  if (isa<OMPExecutableDirective>(S) &&
+      isOpenMPTargetDataManagementDirective(
+          dyn_cast<OMPExecutableDirective>(S)->getDirectiveKind())) {
----------------
alexey-bataev wrote:

```suggestion
  if (auto *E = dyn_cast<OMPExecutableDirective>(S);E &&
      isOpenMPTargetDataManagementDirective(
          E->getDirectiveKind())) {
```

https://github.com/llvm/llvm-project/pull/159856
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to