Revert "[OpenMP] Sema and parsing for 'teams distribute simd’ pragma"
This reverts commit r279003 as it breaks some of our buildbots (e.g.
clang-cmake-aarch64-quick, clang-x86_64-linux-selfhost-modules).
The error is in OpenMP/teams_distribute_simd_ast_print.cpp:
clang: /home/buildslave/buildslave/clang-cmake-aarch64-quick/llvm/include/llvm/ADT/DenseMap.h:527:
bool llvm::DenseMapBase<DerivedT, KeyT, ValueT, KeyInfoT, BucketT>::LookupBucketFor(const LookupKeyT&, const BucketT*&) const
[with LookupKeyT = clang::Stmt*; DerivedT = llvm::DenseMap<clang::Stmt*, long unsigned int>;
KeyT = clang::Stmt*; ValueT = long unsigned int;
KeyInfoT = llvm::DenseMapInfo<clang::Stmt*>;
BucketT = llvm::detail::DenseMapPair<clang::Stmt*, long unsigned int>]:
Assertion `!KeyInfoT::isEqual(Val, EmptyKey) && !KeyInfoT::isEqual(Val, TombstoneKey) &&
"Empty/Tombstone value shouldn't be inserted into map!"' failed.
llvm-svn: 279045
diff --git a/clang/lib/Sema/SemaOpenMP.cpp b/clang/lib/Sema/SemaOpenMP.cpp
index 25096e6..5cbcea4 100644
--- a/clang/lib/Sema/SemaOpenMP.cpp
+++ b/clang/lib/Sema/SemaOpenMP.cpp
@@ -1693,8 +1693,7 @@
case OMPD_distribute_parallel_for_simd:
case OMPD_distribute_simd:
case OMPD_distribute_parallel_for:
- case OMPD_teams_distribute:
- case OMPD_teams_distribute_simd: {
+ case OMPD_teams_distribute: {
QualType KmpInt32Ty = Context.getIntTypeForBitwidth(32, 1);
QualType KmpInt32PtrTy =
Context.getPointerType(KmpInt32Ty).withConst().withRestrict();
@@ -1923,8 +1922,6 @@
// | parallel | distribute simd | + |
// | parallel | target simd | * |
// | parallel | teams distribute| + |
- // | parallel | teams distribute| |
- // | | simd | + |
// +------------------+-----------------+------------------------------------+
// | for | parallel | * |
// | for | for | + |
@@ -1970,8 +1967,6 @@
// | | for simd | |
// | for | target simd | * |
// | for | teams distribute| + |
- // | for | teams distribute| |
- // | | simd | + |
// +------------------+-----------------+------------------------------------+
// | master | parallel | * |
// | master | for | + |
@@ -2017,8 +2012,6 @@
// | | for simd | |
// | master | target simd | * |
// | master | teams distribute| + |
- // | master | teams distribute| |
- // | | simd | + |
// +------------------+-----------------+------------------------------------+
// | critical | parallel | * |
// | critical | for | + |
@@ -2063,8 +2056,6 @@
// | | for simd | |
// | critical | target simd | * |
// | critical | teams distribute| + |
- // | critical | teams distribute| |
- // | | simd | + |
// +------------------+-----------------+------------------------------------+
// | simd | parallel | |
// | simd | for | |
@@ -2110,8 +2101,6 @@
// | | for simd | |
// | simd | target simd | |
// | simd | teams distribute| |
- // | simd | teams distribute| |
- // | | simd | |
// +------------------+-----------------+------------------------------------+
// | for simd | parallel | |
// | for simd | for | |
@@ -2157,8 +2146,6 @@
// | | for simd | |
// | for simd | target simd | |
// | for simd | teams distribute| |
- // | for simd | teams distribute| |
- // | | simd | |
// +------------------+-----------------+------------------------------------+
// | parallel for simd| parallel | |
// | parallel for simd| for | |
@@ -2203,8 +2190,6 @@
// | | for simd | |
// | parallel for simd| target simd | |
// | parallel for simd| teams distribute| |
- // | parallel for simd| teams distribute| |
- // | | simd | |
// +------------------+-----------------+------------------------------------+
// | sections | parallel | * |
// | sections | for | + |
@@ -2249,8 +2234,6 @@
// | sections | target parallel | + |
// | | for simd | |
// | sections | target simd | * |
- // | sections | teams distribute| |
- // | | simd | |
// +------------------+-----------------+------------------------------------+
// | section | parallel | * |
// | section | for | + |
@@ -2296,8 +2279,6 @@
// | | for simd | |
// | section | target simd | * |
// | section | teams distrubte | + |
- // | section | teams distribute| |
- // | | simd | + |
// +------------------+-----------------+------------------------------------+
// | single | parallel | * |
// | single | for | + |
@@ -2343,8 +2324,6 @@
// | | for simd | |
// | single | target simd | * |
// | single | teams distrubte | + |
- // | single | teams distribute| |
- // | | simd | + |
// +------------------+-----------------+------------------------------------+
// | parallel for | parallel | * |
// | parallel for | for | + |
@@ -2390,8 +2369,6 @@
// | | for simd | |
// | parallel for | target simd | * |
// | parallel for | teams distribute| + |
- // | parallel for | teams distribute| |
- // | | simd | + |
// +------------------+-----------------+------------------------------------+
// | parallel sections| parallel | * |
// | parallel sections| for | + |
@@ -2437,8 +2414,6 @@
// | | for simd | |
// | parallel sections| target simd | * |
// | parallel sections| teams distribute| + |
- // | parallel sections| teams distribute| |
- // | | simd | + |
// +------------------+-----------------+------------------------------------+
// | task | parallel | * |
// | task | for | + |
@@ -2484,8 +2459,6 @@
// | | for simd | |
// | task | target simd | * |
// | task | teams distribute| + |
- // | task | teams distribute| |
- // | | simd | + |
// +------------------+-----------------+------------------------------------+
// | ordered | parallel | * |
// | ordered | for | + |
@@ -2531,8 +2504,6 @@
// | | for simd | |
// | ordered | target simd | * |
// | ordered | teams distribute| + |
- // | ordered | teams distribute| |
- // | | simd | + |
// +------------------+-----------------+------------------------------------+
// | atomic | parallel | |
// | atomic | for | |
@@ -2578,8 +2549,6 @@
// | | for simd | |
// | atomic | target simd | |
// | atomic | teams distribute| |
- // | atomic | teams distribute| |
- // | | simd | |
// +------------------+-----------------+------------------------------------+
// | target | parallel | * |
// | target | for | * |
@@ -2625,8 +2594,6 @@
// | | for simd | |
// | target | target simd | |
// | target | teams distribute| |
- // | target | teams distribute| |
- // | | simd | |
// +------------------+-----------------+------------------------------------+
// | target parallel | parallel | * |
// | target parallel | for | * |
@@ -2672,8 +2639,6 @@
// | | for simd | |
// | target parallel | target simd | |
// | target parallel | teams distribute| + |
- // | target parallel | teams distribute| + |
- // | | simd | |
// +------------------+-----------------+------------------------------------+
// | target parallel | parallel | * |
// | for | | |
@@ -2749,8 +2714,6 @@
// | for | | |
// | target parallel | teams distribute| |
// | for | | |
- // | target parallel | teams distribute| |
- // | for | simd | |
// +------------------+-----------------+------------------------------------+
// | teams | parallel | * |
// | teams | for | + |
@@ -2796,8 +2759,6 @@
// | | for simd | |
// | teams | target simd | + |
// | teams | teams distribute| + |
- // | teams | teams distribute| + |
- // | | simd | |
// +------------------+-----------------+------------------------------------+
// | taskloop | parallel | * |
// | taskloop | for | + |
@@ -2842,8 +2803,6 @@
// | | for simd | |
// | taskloop | target simd | * |
// | taskloop | teams distribute| + |
- // | taskloop | teams distribute| + |
- // | | simd | |
// +------------------+-----------------+------------------------------------+
// | taskloop simd | parallel | |
// | taskloop simd | for | |
@@ -2889,8 +2848,6 @@
// | | for simd | |
// | taskloop simd | target simd | |
// | taskloop simd | teams distribute| |
- // | taskloop simd | teams distribute| |
- // | | simd | |
// +------------------+-----------------+------------------------------------+
// | distribute | parallel | * |
// | distribute | for | * |
@@ -2936,8 +2893,6 @@
// | | for simd | |
// | distribute | target simd | |
// | distribute | teams distribute| |
- // | distribute | teams distribute| |
- // | | simd | |
// +------------------+-----------------+------------------------------------+
// | distribute | parallel | * |
// | parallel for | | |
@@ -3014,8 +2969,6 @@
// | parallel for | | |
// | distribute | teams distribute| |
// | parallel for | | |
- // | distribute | teams distribute| |
- // | parallel for | simd | |
// +------------------+-----------------+------------------------------------+
// | distribute | parallel | * |
// | parallel for simd| | |
@@ -3091,8 +3044,6 @@
// | parallel for simd| | |
// | distribute | teams distribute| |
// | parallel for simd| | |
- // | distribute | teams distribute| |
- // | parallel for simd| simd | |
// +------------------+-----------------+------------------------------------+
// | distribute simd | parallel | * |
// | distribute simd | for | * |
@@ -3138,8 +3089,6 @@
// | | for simd | |
// | distribute simd | target simd | * |
// | distribute simd | teams distribute| * |
- // | distribute simd | teams distribute| |
- // | | simd | |
// +------------------+-----------------+------------------------------------+
// | target parallel | parallel | * |
// | for simd | | |
@@ -3215,8 +3164,6 @@
// | for simd | | |
// | target parallel | teams distribute| * |
// | for simd | | |
- // | target parallel | teams distribute| |
- // | for simd | simd | |
// +------------------+-----------------+------------------------------------+
// | target simd | parallel | |
// | target simd | for | |
@@ -3262,8 +3209,6 @@
// | | for simd | |
// | target simd | target simd | |
// | target simd | teams distribute| |
- // | target simd | teams distribute| |
- // | | simd | |
// +------------------+-----------------+------------------------------------+
// | teams distribute | parallel | |
// | teams distribute | for | |
@@ -3308,83 +3253,6 @@
// | teams distribute | target parallel | |
// | | for simd | |
// | teams distribute | teams distribute| |
- // | teams distribute | teams distribute| |
- // | | simd | |
- // +------------------+-----------------+------------------------------------+
- // | teams distribute | parallel | |
- // | simd | | |
- // | teams distribute | for | |
- // | simd | | |
- // | teams distribute | for simd | |
- // | simd | | |
- // | teams distribute | master | |
- // | simd | | |
- // | teams distribute | critical | |
- // | simd | | |
- // | teams distribute | simd | |
- // | simd | | |
- // | teams distribute | sections | |
- // | simd | | |
- // | teams distribute | section | |
- // | simd | | |
- // | teams distribute | single | |
- // | simd | | |
- // | teams distribute | parallel for | |
- // | simd | | |
- // | teams distribute |parallel for simd| |
- // | simd | | |
- // | teams distribute |parallel sections| |
- // | simd | | |
- // | teams distribute | task | |
- // | simd | | |
- // | teams distribute | taskyield | |
- // | simd | | |
- // | teams distribute | barrier | |
- // | simd | | |
- // | teams distribute | taskwait | |
- // | simd | | |
- // | teams distribute | taskgroup | |
- // | simd | | |
- // | teams distribute | flush | |
- // | simd | | |
- // | teams distribute | ordered | + (with simd clause) |
- // | simd | | |
- // | teams distribute | atomic | |
- // | simd | | |
- // | teams distribute | target | |
- // | simd | | |
- // | teams distribute | target parallel | |
- // | simd | | |
- // | teams distribute | target parallel | |
- // | simd | for | |
- // | teams distribute | target enter | |
- // | simd | data | |
- // | teams distribute | target exit | |
- // | simd | data | |
- // | teams distribute | teams | |
- // | simd | | |
- // | teams distribute | cancellation | |
- // | simd | point | |
- // | teams distribute | cancel | |
- // | simd | | |
- // | teams distribute | taskloop | |
- // | simd | | |
- // | teams distribute | taskloop simd | |
- // | simd | | |
- // | teams distribute | distribute | |
- // | simd | | |
- // | teams distribute | distribute | |
- // | simd | parallel for | |
- // | teams distribute | distribute | |
- // | simd |parallel for simd| |
- // | teams distribute | distribute simd | |
- // | simd | | |
- // | teams distribute | target parallel | |
- // | simd | for simd | |
- // | teams distribute | teams distribute| |
- // | simd | | |
- // | teams distribute | teams distribute| |
- // | simd | simd | |
// +------------------+-----------------+------------------------------------+
if (Stack->getCurScope()) {
auto ParentRegion = Stack->getParentDirective();
@@ -3905,10 +3773,6 @@
Res = ActOnOpenMPTeamsDistributeDirective(
ClausesWithImplicit, AStmt, StartLoc, EndLoc, VarsWithInheritedDSA);
break;
- case OMPD_teams_distribute_simd:
- Res = ActOnOpenMPTeamsDistributeSimdDirective(
- ClausesWithImplicit, AStmt, StartLoc, EndLoc, VarsWithInheritedDSA);
- break;
case OMPD_declare_target:
case OMPD_end_declare_target:
case OMPD_threadprivate:
@@ -7601,55 +7465,6 @@
Context, StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B);
}
-StmtResult Sema::ActOnOpenMPTeamsDistributeSimdDirective(
- ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
- SourceLocation EndLoc,
- llvm::DenseMap<ValueDecl *, Expr *> &VarsWithImplicitDSA) {
- if (!AStmt)
- return StmtError();
-
- CapturedStmt *CS = cast<CapturedStmt>(AStmt);
- // 1.2.2 OpenMP Language Terminology
- // Structured block - An executable statement with a single entry at the
- // top and a single exit at the bottom.
- // The point of exit cannot be a branch out of the structured block.
- // longjmp() and throw() must not violate the entry/exit criteria.
- CS->getCapturedDecl()->setNothrow();
-
- OMPLoopDirective::HelperExprs B;
- // In presence of clause 'collapse' with number of loops, it will
- // define the nested loops number.
- unsigned NestedLoopCount =
- CheckOpenMPLoop(OMPD_teams_distribute_simd,
- getCollapseNumberExpr(Clauses),
- nullptr /*ordered not a clause on distribute*/, AStmt,
- *this, *DSAStack, VarsWithImplicitDSA, B);
-
- if (NestedLoopCount == 0)
- return StmtError();
-
- assert((CurContext->isDependentContext() || B.builtAll()) &&
- "omp teams distribute simd loop exprs were not built");
-
- if (!CurContext->isDependentContext()) {
- // Finalize the clauses that need pre-built expressions for CodeGen.
- for (auto C : Clauses) {
- if (auto *LC = dyn_cast<OMPLinearClause>(C))
- if (FinishOpenMPLinearClause(*LC, cast<DeclRefExpr>(B.IterationVarRef),
- B.NumIterations, *this, CurScope,
- DSAStack))
- return StmtError();
- }
- }
-
- if (checkSimdlenSafelenSpecified(*this, Clauses))
- return StmtError();
-
- getCurFunction()->setHasBranchProtectedScope();
- return OMPTeamsDistributeSimdDirective::Create(
- Context, StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B);
-}
-
OMPClause *Sema::ActOnOpenMPSingleExprClause(OpenMPClauseKind Kind, Expr *Expr,
SourceLocation StartLoc,
SourceLocation LParenLoc,