[clang] [OpenMP] Introduce support for OMPX extensions and taskgraph frontend (PR #66919)
Alexey Bataev via cfe-commits
cfe-commits at lists.llvm.org
Wed Sep 20 09:58:13 PDT 2023
================
@@ -234,6 +236,26 @@ class CGOpenMPTaskOutlinedRegionInfo final : public CGOpenMPRegionInfo {
const UntiedTaskActionTy &Action;
};
+/// API for captured statement code generation in OpenMP taskgraphs.
+class CGOpenMPTaskgraphRegionInfo final : public CGOpenMPRegionInfo {
+public:
+ CGOpenMPTaskgraphRegionInfo(const CapturedStmt &CS,
+ const RegionCodeGenTy &CodeGen)
+ : CGOpenMPRegionInfo(CS, TaskgraphOutlinedRegion, CodeGen,
+ llvm::omp::OMPD_taskgraph, false) {}
+
+ const VarDecl *getThreadIDVariable() const override { return 0; }
+
+ /// Get the name of the capture helper.
+ StringRef getHelperName() const override { return "taskgraph.omp_outlined."; }
+
+ static bool classof(const CGCapturedStmtInfo *Info) {
+ return CGOpenMPRegionInfo::classof(Info) &&
+ cast<CGOpenMPRegionInfo>(Info)->getRegionKind() ==
+ TaskgraphOutlinedRegion;
+ }
+};
+
----------------
alexey-bataev wrote:
Split the patch. First, need to add parsing/sema for the directive, then for clauses in a separate patch, then codegen in a separate patch io reduce number of changes
https://github.com/llvm/llvm-project/pull/66919
More information about the cfe-commits
mailing list