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,