[PATCH] D120290: [Clang][OpenMP] Add the codegen support for `atomic compare capture`

Shilei Tian via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Feb 28 09:14:17 PST 2022


tianshilei1992 added inline comments.


================
Comment at: clang/include/clang/AST/StmtOpenMP.h:2917-2920
   Create(const ASTContext &C, SourceLocation StartLoc, SourceLocation EndLoc,
          ArrayRef<OMPClause *> Clauses, Stmt *AssociatedStmt, Expr *X, Expr *V,
-         Expr *E, Expr *UE, Expr *D, Expr *Cond, bool IsXLHSInRHSPart,
-         bool IsPostfixUpdate);
+         Expr *R, Expr *E, Expr *UE, Expr *D, Expr *Cond, bool IsXLHSInRHSPart,
+         bool IsPostfixUpdate, bool IsFailOnly);
----------------
ABataev wrote:
> There are too many params already, better to gather them into a struct/class
Sure, we could do that.


================
Comment at: clang/lib/CodeGen/CGStmtOpenMP.cpp:6216
-      KindsEncountered.contains(OMPC_capture)) {
-    IsCompareCapture = true;
     Kind = OMPC_compare;
----------------
ABataev wrote:
> Can this be fixed in a separate patch?
Well, I think it's part of this patch because we can't tell if it's compare or compare capture before, but now we can. If we really want to do that, we can have another patch including all changes in this patch related to `OMPAtomicDirective`.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D120290/new/

https://reviews.llvm.org/D120290



More information about the cfe-commits mailing list