From 2bfddcec19e5e773219e29c9c594495391310fc5 Mon Sep 17 00:00:00 2001 From: Kelvin Li Date: Thu, 24 Nov 2016 03:18:07 +0000 Subject: [PATCH] Remove comments (NFC) Differential Revision: https://reviews.llvm.org/D27006 llvm-svn: 287852 --- clang/lib/Sema/SemaOpenMP.cpp | 1509 ----------------------------------------- 1 file changed, 1509 deletions(-) diff --git a/clang/lib/Sema/SemaOpenMP.cpp b/clang/lib/Sema/SemaOpenMP.cpp index f4abf4f..5cae7e3 100644 --- a/clang/lib/Sema/SemaOpenMP.cpp +++ b/clang/lib/Sema/SemaOpenMP.cpp @@ -1877,1515 +1877,6 @@ static bool CheckNestingOfRegions(Sema &SemaRef, DSAStackTy *Stack, const DeclarationNameInfo &CurrentName, OpenMPDirectiveKind CancelRegion, SourceLocation StartLoc) { - // Allowed nesting of constructs - // +------------------+-----------------+------------------------------------+ - // | Parent directive | Child directive | Closely (!), No-Closely(+), Both(*)| - // +------------------+-----------------+------------------------------------+ - // | parallel | parallel | * | - // | parallel | for | * | - // | parallel | for simd | * | - // | parallel | master | * | - // | parallel | critical | * | - // | parallel | simd | * | - // | parallel | sections | * | - // | parallel | section | + | - // | parallel | single | * | - // | parallel | parallel for | * | - // | parallel |parallel for simd| * | - // | parallel |parallel sections| * | - // | parallel | task | * | - // | parallel | taskyield | * | - // | parallel | barrier | * | - // | parallel | taskwait | * | - // | parallel | taskgroup | * | - // | parallel | flush | * | - // | parallel | ordered | + | - // | parallel | atomic | * | - // | parallel | target | * | - // | parallel | target parallel | * | - // | parallel | target parallel | * | - // | | for | | - // | parallel | target enter | * | - // | | data | | - // | parallel | target exit | * | - // | | data | | - // | parallel | teams | + | - // | parallel | cancellation | | - // | | point | ! | - // | parallel | cancel | ! | - // | parallel | taskloop | * | - // | parallel | taskloop simd | * | - // | parallel | distribute | + | - // | parallel | distribute | + | - // | | parallel for | | - // | parallel | distribute | + | - // | |parallel for simd| | - // | parallel | distribute simd | + | - // | parallel | target simd | * | - // | parallel | teams distribute| + | - // | parallel | teams distribute| | - // | | simd | + | - // +------------------+-----------------+------------------------------------+ - // | for | parallel | * | - // | for | for | + | - // | for | for simd | + | - // | for | master | + | - // | for | critical | * | - // | for | simd | * | - // | for | sections | + | - // | for | section | + | - // | for | single | + | - // | for | parallel for | * | - // | for |parallel for simd| * | - // | for |parallel sections| * | - // | for | task | * | - // | for | taskyield | * | - // | for | barrier | + | - // | for | taskwait | * | - // | for | taskgroup | * | - // | for | flush | * | - // | for | ordered | * (if construct is ordered) | - // | for | atomic | * | - // | for | target | * | - // | for | target parallel | * | - // | for | target parallel | * | - // | | for | | - // | for | target enter | * | - // | | data | | - // | for | target exit | * | - // | | data | | - // | for | teams | + | - // | for | cancellation | | - // | | point | ! | - // | for | cancel | ! | - // | for | taskloop | * | - // | for | taskloop simd | * | - // | for | distribute | + | - // | for | distribute | + | - // | | parallel for | | - // | for | distribute | + | - // | |parallel for simd| | - // | for | distribute simd | + | - // | for | target parallel | + | - // | | for simd | | - // | for | target simd | * | - // | for | teams distribute| + | - // | for | teams distribute| | - // | | simd | + | - // +------------------+-----------------+------------------------------------+ - // | master | parallel | * | - // | master | for | + | - // | master | for simd | + | - // | master | master | * | - // | master | critical | * | - // | master | simd | * | - // | master | sections | + | - // | master | section | + | - // | master | single | + | - // | master | parallel for | * | - // | master |parallel for simd| * | - // | master |parallel sections| * | - // | master | task | * | - // | master | taskyield | * | - // | master | barrier | + | - // | master | taskwait | * | - // | master | taskgroup | * | - // | master | flush | * | - // | master | ordered | + | - // | master | atomic | * | - // | master | target | * | - // | master | target parallel | * | - // | master | target parallel | * | - // | | for | | - // | master | target enter | * | - // | | data | | - // | master | target exit | * | - // | | data | | - // | master | teams | + | - // | master | cancellation | | - // | | point | | - // | master | cancel | | - // | master | taskloop | * | - // | master | taskloop simd | * | - // | master | distribute | + | - // | master | distribute | + | - // | | parallel for | | - // | master | distribute | + | - // | |parallel for simd| | - // | master | distribute simd | + | - // | master | target parallel | + | - // | | for simd | | - // | master | target simd | * | - // | master | teams distribute| + | - // | master | teams distribute| | - // | | simd | + | - // +------------------+-----------------+------------------------------------+ - // | critical | parallel | * | - // | critical | for | + | - // | critical | for simd | + | - // | critical | master | * | - // | critical | critical | * (should have different names) | - // | critical | simd | * | - // | critical | sections | + | - // | critical | section | + | - // | critical | single | + | - // | critical | parallel for | * | - // | critical |parallel for simd| * | - // | critical |parallel sections| * | - // | critical | task | * | - // | critical | taskyield | * | - // | critical | barrier | + | - // | critical | taskwait | * | - // | critical | taskgroup | * | - // | critical | ordered | + | - // | critical | atomic | * | - // | critical | target | * | - // | critical | target parallel | * | - // | critical | target parallel | * | - // | | for | | - // | critical | target enter | * | - // | | data | | - // | critical | target exit | * | - // | | data | | - // | critical | teams | + | - // | critical | cancellation | | - // | | point | | - // | critical | cancel | | - // | critical | taskloop | * | - // | critical | taskloop simd | * | - // | critical | distribute | + | - // | critical | distribute | + | - // | | parallel for | | - // | critical | distribute | + | - // | |parallel for simd| | - // | critical | distribute simd | + | - // | critical | target parallel | + | - // | | for simd | | - // | critical | target simd | * | - // | critical | teams distribute| + | - // | critical | teams distribute| | - // | | simd | + | - // +------------------+-----------------+------------------------------------+ - // | simd | parallel | | - // | simd | for | | - // | simd | for simd | | - // | simd | master | | - // | simd | critical | | - // | simd | simd | * | - // | simd | sections | | - // | simd | section | | - // | simd | single | | - // | simd | parallel for | | - // | simd |parallel for simd| | - // | simd |parallel sections| | - // | simd | task | | - // | simd | taskyield | | - // | simd | barrier | | - // | simd | taskwait | | - // | simd | taskgroup | | - // | simd | flush | | - // | simd | ordered | + (with simd clause) | - // | simd | atomic | | - // | simd | target | | - // | simd | target parallel | | - // | simd | target parallel | | - // | | for | | - // | simd | target enter | | - // | | data | | - // | simd | target exit | | - // | | data | | - // | simd | teams | | - // | simd | cancellation | | - // | | point | | - // | simd | cancel | | - // | simd | taskloop | | - // | simd | taskloop simd | | - // | simd | distribute | | - // | simd | distribute | | - // | | parallel for | | - // | simd | distribute | | - // | |parallel for simd| | - // | simd | distribute simd | | - // | simd | target parallel | | - // | | for simd | | - // | simd | target simd | | - // | simd | teams distribute| | - // | simd | teams distribute| | - // | | simd | | - // +------------------+-----------------+------------------------------------+ - // | for simd | parallel | | - // | for simd | for | | - // | for simd | for simd | | - // | for simd | master | | - // | for simd | critical | | - // | for simd | simd | * | - // | for simd | sections | | - // | for simd | section | | - // | for simd | single | | - // | for simd | parallel for | | - // | for simd |parallel for simd| | - // | for simd |parallel sections| | - // | for simd | task | | - // | for simd | taskyield | | - // | for simd | barrier | | - // | for simd | taskwait | | - // | for simd | taskgroup | | - // | for simd | flush | | - // | for simd | ordered | + (with simd clause) | - // | for simd | atomic | | - // | for simd | target | | - // | for simd | target parallel | | - // | for simd | target parallel | | - // | | for | | - // | for simd | target enter | | - // | | data | | - // | for simd | target exit | | - // | | data | | - // | for simd | teams | | - // | for simd | cancellation | | - // | | point | | - // | for simd | cancel | | - // | for simd | taskloop | | - // | for simd | taskloop simd | | - // | for simd | distribute | | - // | for simd | distribute | | - // | | parallel for | | - // | for simd | distribute | | - // | |parallel for simd| | - // | for simd | distribute simd | | - // | for simd | target parallel | | - // | | for simd | | - // | for simd | target simd | | - // | for simd | teams distribute| | - // | for simd | teams distribute| | - // | | simd | | - // +------------------+-----------------+------------------------------------+ - // | parallel for simd| parallel | | - // | parallel for simd| for | | - // | parallel for simd| for simd | | - // | parallel for simd| master | | - // | parallel for simd| critical | | - // | parallel for simd| simd | * | - // | parallel for simd| sections | | - // | parallel for simd| section | | - // | parallel for simd| single | | - // | parallel for simd| parallel for | | - // | parallel for simd|parallel for simd| | - // | parallel for simd|parallel sections| | - // | parallel for simd| task | | - // | parallel for simd| taskyield | | - // | parallel for simd| barrier | | - // | parallel for simd| taskwait | | - // | parallel for simd| taskgroup | | - // | parallel for simd| flush | | - // | parallel for simd| ordered | + (with simd clause) | - // | parallel for simd| atomic | | - // | parallel for simd| target | | - // | parallel for simd| target parallel | | - // | parallel for simd| target parallel | | - // | | for | | - // | parallel for simd| target enter | | - // | | data | | - // | parallel for simd| target exit | | - // | | data | | - // | parallel for simd| teams | | - // | parallel for simd| cancellation | | - // | | point | | - // | parallel for simd| cancel | | - // | parallel for simd| taskloop | | - // | parallel for simd| taskloop simd | | - // | parallel for simd| distribute | | - // | parallel for simd| distribute | | - // | | parallel for | | - // | parallel for simd| distribute | | - // | |parallel for simd| | - // | parallel for simd| distribute simd | | - // | | for simd | | - // | parallel for simd| target simd | | - // | parallel for simd| teams distribute| | - // | parallel for simd| teams distribute| | - // | | simd | | - // +------------------+-----------------+------------------------------------+ - // | sections | parallel | * | - // | sections | for | + | - // | sections | for simd | + | - // | sections | master | + | - // | sections | critical | * | - // | sections | simd | * | - // | sections | sections | + | - // | sections | section | * | - // | sections | single | + | - // | sections | parallel for | * | - // | sections |parallel for simd| * | - // | sections |parallel sections| * | - // | sections | task | * | - // | sections | taskyield | * | - // | sections | barrier | + | - // | sections | taskwait | * | - // | sections | taskgroup | * | - // | sections | flush | * | - // | sections | ordered | + | - // | sections | atomic | * | - // | sections | target | * | - // | sections | target parallel | * | - // | sections | target parallel | * | - // | | for | | - // | sections | target enter | * | - // | | data | | - // | sections | target exit | * | - // | | data | | - // | sections | teams | + | - // | sections | cancellation | | - // | | point | ! | - // | sections | cancel | ! | - // | sections | taskloop | * | - // | sections | taskloop simd | * | - // | sections | distribute | + | - // | sections | distribute | + | - // | | parallel for | | - // | sections | distribute | + | - // | |parallel for simd| | - // | sections | distribute simd | + | - // | sections | target parallel | + | - // | | for simd | | - // | sections | target simd | * | - // | sections | teams distribute| | - // | | simd | | - // +------------------+-----------------+------------------------------------+ - // | section | parallel | * | - // | section | for | + | - // | section | for simd | + | - // | section | master | + | - // | section | critical | * | - // | section | simd | * | - // | section | sections | + | - // | section | section | + | - // | section | single | + | - // | section | parallel for | * | - // | section |parallel for simd| * | - // | section |parallel sections| * | - // | section | task | * | - // | section | taskyield | * | - // | section | barrier | + | - // | section | taskwait | * | - // | section | taskgroup | * | - // | section | flush | * | - // | section | ordered | + | - // | section | atomic | * | - // | section | target | * | - // | section | target parallel | * | - // | section | target parallel | * | - // | | for | | - // | section | target enter | * | - // | | data | | - // | section | target exit | * | - // | | data | | - // | section | teams | + | - // | section | cancellation | | - // | | point | ! | - // | section | cancel | ! | - // | section | taskloop | * | - // | section | taskloop simd | * | - // | section | distribute | + | - // | section | distribute | + | - // | | parallel for | | - // | section | distribute | + | - // | |parallel for simd| | - // | section | distribute simd | + | - // | section | target parallel | + | - // | | for simd | | - // | section | target simd | * | - // | section | teams distrubte | + | - // | section | teams distribute| | - // | | simd | + | - // +------------------+-----------------+------------------------------------+ - // | single | parallel | * | - // | single | for | + | - // | single | for simd | + | - // | single | master | + | - // | single | critical | * | - // | single | simd | * | - // | single | sections | + | - // | single | section | + | - // | single | single | + | - // | single | parallel for | * | - // | single |parallel for simd| * | - // | single |parallel sections| * | - // | single | task | * | - // | single | taskyield | * | - // | single | barrier | + | - // | single | taskwait | * | - // | single | taskgroup | * | - // | single | flush | * | - // | single | ordered | + | - // | single | atomic | * | - // | single | target | * | - // | single | target parallel | * | - // | single | target parallel | * | - // | | for | | - // | single | target enter | * | - // | | data | | - // | single | target exit | * | - // | | data | | - // | single | teams | + | - // | single | cancellation | | - // | | point | | - // | single | cancel | | - // | single | taskloop | * | - // | single | taskloop simd | * | - // | single | distribute | + | - // | single | distribute | + | - // | | parallel for | | - // | single | distribute | + | - // | |parallel for simd| | - // | single | distribute simd | + | - // | single | target parallel | + | - // | | for simd | | - // | single | target simd | * | - // | single | teams distrubte | + | - // | single | teams distribute| | - // | | simd | + | - // +------------------+-----------------+------------------------------------+ - // | parallel for | parallel | * | - // | parallel for | for | + | - // | parallel for | for simd | + | - // | parallel for | master | + | - // | parallel for | critical | * | - // | parallel for | simd | * | - // | parallel for | sections | + | - // | parallel for | section | + | - // | parallel for | single | + | - // | parallel for | parallel for | * | - // | parallel for |parallel for simd| * | - // | parallel for |parallel sections| * | - // | parallel for | task | * | - // | parallel for | taskyield | * | - // | parallel for | barrier | + | - // | parallel for | taskwait | * | - // | parallel for | taskgroup | * | - // | parallel for | flush | * | - // | parallel for | ordered | * (if construct is ordered) | - // | parallel for | atomic | * | - // | parallel for | target | * | - // | parallel for | target parallel | * | - // | parallel for | target parallel | * | - // | | for | | - // | parallel for | target enter | * | - // | | data | | - // | parallel for | target exit | * | - // | | data | | - // | parallel for | teams | + | - // | parallel for | cancellation | | - // | | point | ! | - // | parallel for | cancel | ! | - // | parallel for | taskloop | * | - // | parallel for | taskloop simd | * | - // | parallel for | distribute | + | - // | parallel for | distribute | + | - // | | parallel for | | - // | parallel for | distribute | + | - // | |parallel for simd| | - // | parallel for | distribute simd | + | - // | parallel for | target parallel | + | - // | | for simd | | - // | parallel for | target simd | * | - // | parallel for | teams distribute| + | - // | parallel for | teams distribute| | - // | | simd | + | - // +------------------+-----------------+------------------------------------+ - // | parallel sections| parallel | * | - // | parallel sections| for | + | - // | parallel sections| for simd | + | - // | parallel sections| master | + | - // | parallel sections| critical | + | - // | parallel sections| simd | * | - // | parallel sections| sections | + | - // | parallel sections| section | * | - // | parallel sections| single | + | - // | parallel sections| parallel for | * | - // | parallel sections|parallel for simd| * | - // | parallel sections|parallel sections| * | - // | parallel sections| task | * | - // | parallel sections| taskyield | * | - // | parallel sections| barrier | + | - // | parallel sections| taskwait | * | - // | parallel sections| taskgroup | * | - // | parallel sections| flush | * | - // | parallel sections| ordered | + | - // | parallel sections| atomic | * | - // | parallel sections| target | * | - // | parallel sections| target parallel | * | - // | parallel sections| target parallel | * | - // | | for | | - // | parallel sections| target enter | * | - // | | data | | - // | parallel sections| target exit | * | - // | | data | | - // | parallel sections| teams | + | - // | parallel sections| cancellation | | - // | | point | ! | - // | parallel sections| cancel | ! | - // | parallel sections| taskloop | * | - // | parallel sections| taskloop simd | * | - // | parallel sections| distribute | + | - // | parallel sections| distribute | + | - // | | parallel for | | - // | parallel sections| distribute | + | - // | |parallel for simd| | - // | parallel sections| distribute simd | + | - // | parallel sections| target parallel | + | - // | | for simd | | - // | parallel sections| target simd | * | - // | parallel sections| teams distribute| + | - // | parallel sections| teams distribute| | - // | | simd | + | - // +------------------+-----------------+------------------------------------+ - // | task | parallel | * | - // | task | for | + | - // | task | for simd | + | - // | task | master | + | - // | task | critical | * | - // | task | simd | * | - // | task | sections | + | - // | task | section | + | - // | task | single | + | - // | task | parallel for | * | - // | task |parallel for simd| * | - // | task |parallel sections| * | - // | task | task | * | - // | task | taskyield | * | - // | task | barrier | + | - // | task | taskwait | * | - // | task | taskgroup | * | - // | task | flush | * | - // | task | ordered | + | - // | task | atomic | * | - // | task | target | * | - // | task | target parallel | * | - // | task | target parallel | * | - // | | for | | - // | task | target enter | * | - // | | data | | - // | task | target exit | * | - // | | data | | - // | task | teams | + | - // | task | cancellation | | - // | | point | ! | - // | task | cancel | ! | - // | task | taskloop | * | - // | task | taskloop simd | * | - // | task | distribute | + | - // | task | distribute | + | - // | | parallel for | | - // | task | distribute | + | - // | |parallel for simd| | - // | task | distribute simd | + | - // | task | target parallel | + | - // | | for simd | | - // | task | target simd | * | - // | task | teams distribute| + | - // | task | teams distribute| | - // | | simd | + | - // +------------------+-----------------+------------------------------------+ - // | ordered | parallel | * | - // | ordered | for | + | - // | ordered | for simd | + | - // | ordered | master | * | - // | ordered | critical | * | - // | ordered | simd | * | - // | ordered | sections | + | - // | ordered | section | + | - // | ordered | single | + | - // | ordered | parallel for | * | - // | ordered |parallel for simd| * | - // | ordered |parallel sections| * | - // | ordered | task | * | - // | ordered | taskyield | * | - // | ordered | barrier | + | - // | ordered | taskwait | * | - // | ordered | taskgroup | * | - // | ordered | flush | * | - // | ordered | ordered | + | - // | ordered | atomic | * | - // | ordered | target | * | - // | ordered | target parallel | * | - // | ordered | target parallel | * | - // | | for | | - // | ordered | target enter | * | - // | | data | | - // | ordered | target exit | * | - // | | data | | - // | ordered | teams | + | - // | ordered | cancellation | | - // | | point | | - // | ordered | cancel | | - // | ordered | taskloop | * | - // | ordered | taskloop simd | * | - // | ordered | distribute | + | - // | ordered | distribute | + | - // | | parallel for | | - // | ordered | distribute | + | - // | |parallel for simd| | - // | ordered | distribute simd | + | - // | ordered | target parallel | + | - // | | for simd | | - // | ordered | target simd | * | - // | ordered | teams distribute| + | - // | ordered | teams distribute| | - // | | simd | + | - // +------------------+-----------------+------------------------------------+ - // | atomic | parallel | | - // | atomic | for | | - // | atomic | for simd | | - // | atomic | master | | - // | atomic | critical | | - // | atomic | simd | | - // | atomic | sections | | - // | atomic | section | | - // | atomic | single | | - // | atomic | parallel for | | - // | atomic |parallel for simd| | - // | atomic |parallel sections| | - // | atomic | task | | - // | atomic | taskyield | | - // | atomic | barrier | | - // | atomic | taskwait | | - // | atomic | taskgroup | | - // | atomic | flush | | - // | atomic | ordered | | - // | atomic | atomic | | - // | atomic | target | | - // | atomic | target parallel | | - // | atomic | target parallel | | - // | | for | | - // | atomic | target enter | | - // | | data | | - // | atomic | target exit | | - // | | data | | - // | atomic | teams | | - // | atomic | cancellation | | - // | | point | | - // | atomic | cancel | | - // | atomic | taskloop | | - // | atomic | taskloop simd | | - // | atomic | distribute | | - // | atomic | distribute | | - // | | parallel for | | - // | atomic | distribute | | - // | |parallel for simd| | - // | atomic | distribute simd | | - // | atomic | target parallel | | - // | | for simd | | - // | atomic | target simd | | - // | atomic | teams distribute| | - // | atomic | teams distribute| | - // | | simd | | - // +------------------+-----------------+------------------------------------+ - // | target | parallel | * | - // | target | for | * | - // | target | for simd | * | - // | target | master | * | - // | target | critical | * | - // | target | simd | * | - // | target | sections | * | - // | target | section | * | - // | target | single | * | - // | target | parallel for | * | - // | target |parallel for simd| * | - // | target |parallel sections| * | - // | target | task | * | - // | target | taskyield | * | - // | target | barrier | * | - // | target | taskwait | * | - // | target | taskgroup | * | - // | target | flush | * | - // | target | ordered | * | - // | target | atomic | * | - // | target | target | | - // | target | target parallel | | - // | target | target parallel | | - // | | for | | - // | target | target enter | | - // | | data | | - // | target | target exit | | - // | | data | | - // | target | teams | * | - // | target | cancellation | | - // | | point | | - // | target | cancel | | - // | target | taskloop | * | - // | target | taskloop simd | * | - // | target | distribute | + | - // | target | distribute | + | - // | | parallel for | | - // | target | distribute | + | - // | |parallel for simd| | - // | target | distribute simd | + | - // | target | target parallel | | - // | | for simd | | - // | target | target simd | | - // | target | teams distribute| | - // | target | teams distribute| | - // | | simd | | - // +------------------+-----------------+------------------------------------+ - // | target parallel | parallel | * | - // | target parallel | for | * | - // | target parallel | for simd | * | - // | target parallel | master | * | - // | target parallel | critical | * | - // | target parallel | simd | * | - // | target parallel | sections | * | - // | target parallel | section | * | - // | target parallel | single | * | - // | target parallel | parallel for | * | - // | target parallel |parallel for simd| * | - // | target parallel |parallel sections| * | - // | target parallel | task | * | - // | target parallel | taskyield | * | - // | target parallel | barrier | * | - // | target parallel | taskwait | * | - // | target parallel | taskgroup | * | - // | target parallel | flush | * | - // | target parallel | ordered | * | - // | target parallel | atomic | * | - // | target parallel | target | | - // | target parallel | target parallel | | - // | target parallel | target parallel | | - // | | for | | - // | target parallel | target enter | | - // | | data | | - // | target parallel | target exit | | - // | | data | | - // | target parallel | teams | | - // | target parallel | cancellation | | - // | | point | ! | - // | target parallel | cancel | ! | - // | target parallel | taskloop | * | - // | target parallel | taskloop simd | * | - // | target parallel | distribute | | - // | target parallel | distribute | | - // | | parallel for | | - // | target parallel | distribute | | - // | |parallel for simd| | - // | target parallel | distribute simd | | - // | target parallel | target parallel | | - // | | for simd | | - // | target parallel | target simd | | - // | target parallel | teams distribute| + | - // | target parallel | teams distribute| + | - // | | simd | | - // +------------------+-----------------+------------------------------------+ - // | target parallel | parallel | * | - // | for | | | - // | target parallel | for | * | - // | for | | | - // | target parallel | for simd | * | - // | for | | | - // | target parallel | master | * | - // | for | | | - // | target parallel | critical | * | - // | for | | | - // | target parallel | simd | * | - // | for | | | - // | target parallel | sections | * | - // | for | | | - // | target parallel | section | * | - // | for | | | - // | target parallel | single | * | - // | for | | | - // | target parallel | parallel for | * | - // | for | | | - // | target parallel |parallel for simd| * | - // | for | | | - // | target parallel |parallel sections| * | - // | for | | | - // | target parallel | task | * | - // | for | | | - // | target parallel | taskyield | * | - // | for | | | - // | target parallel | barrier | * | - // | for | | | - // | target parallel | taskwait | * | - // | for | | | - // | target parallel | taskgroup | * | - // | for | | | - // | target parallel | flush | * | - // | for | | | - // | target parallel | ordered | * | - // | for | | | - // | target parallel | atomic | * | - // | for | | | - // | target parallel | target | | - // | for | | | - // | target parallel | target parallel | | - // | for | | | - // | target parallel | target parallel | | - // | for | for | | - // | target parallel | target enter | | - // | for | data | | - // | target parallel | target exit | | - // | for | data | | - // | target parallel | teams | | - // | for | | | - // | target parallel | cancellation | | - // | for | point | ! | - // | target parallel | cancel | ! | - // | for | | | - // | target parallel | taskloop | * | - // | for | | | - // | target parallel | taskloop simd | * | - // | for | | | - // | target parallel | distribute | | - // | for | | | - // | target parallel | distribute | | - // | for | parallel for | | - // | target parallel | distribute | | - // | for |parallel for simd| | - // | target parallel | distribute simd | | - // | for | | | - // | target parallel | target parallel | | - // | for | for simd | | - // | target parallel | target simd | | - // | for | | | - // | target parallel | teams distribute| | - // | for | | | - // | target parallel | teams distribute| | - // | for | simd | | - // +------------------+-----------------+------------------------------------+ - // | teams | parallel | * | - // | teams | for | + | - // | teams | for simd | + | - // | teams | master | + | - // | teams | critical | + | - // | teams | simd | + | - // | teams | sections | + | - // | teams | section | + | - // | teams | single | + | - // | teams | parallel for | * | - // | teams |parallel for simd| * | - // | teams |parallel sections| * | - // | teams | task | + | - // | teams | taskyield | + | - // | teams | barrier | + | - // | teams | taskwait | + | - // | teams | taskgroup | + | - // | teams | flush | + | - // | teams | ordered | + | - // | teams | atomic | + | - // | teams | target | + | - // | teams | target parallel | + | - // | teams | target parallel | + | - // | | for | | - // | teams | target enter | + | - // | | data | | - // | teams | target exit | + | - // | | data | | - // | teams | teams | + | - // | teams | cancellation | | - // | | point | | - // | teams | cancel | | - // | teams | taskloop | + | - // | teams | taskloop simd | + | - // | teams | distribute | ! | - // | teams | distribute | ! | - // | | parallel for | | - // | teams | distribute | ! | - // | |parallel for simd| | - // | teams | distribute simd | ! | - // | teams | target parallel | + | - // | | for simd | | - // | teams | target simd | + | - // | teams | teams distribute| + | - // | teams | teams distribute| + | - // | | simd | | - // +------------------+-----------------+------------------------------------+ - // | taskloop | parallel | * | - // | taskloop | for | + | - // | taskloop | for simd | + | - // | taskloop | master | + | - // | taskloop | critical | * | - // | taskloop | simd | * | - // | taskloop | sections | + | - // | taskloop | section | + | - // | taskloop | single | + | - // | taskloop | parallel for | * | - // | taskloop |parallel for simd| * | - // | taskloop |parallel sections| * | - // | taskloop | task | * | - // | taskloop | taskyield | * | - // | taskloop | barrier | + | - // | taskloop | taskwait | * | - // | taskloop | taskgroup | * | - // | taskloop | flush | * | - // | taskloop | ordered | + | - // | taskloop | atomic | * | - // | taskloop | target | * | - // | taskloop | target parallel | * | - // | taskloop | target parallel | * | - // | | for | | - // | taskloop | target enter | * | - // | | data | | - // | taskloop | target exit | * | - // | | data | | - // | taskloop | teams | + | - // | taskloop | cancellation | | - // | | point | | - // | taskloop | cancel | | - // | taskloop | taskloop | * | - // | taskloop | distribute | + | - // | taskloop | distribute | + | - // | | parallel for | | - // | taskloop | distribute | + | - // | |parallel for simd| | - // | taskloop | distribute simd | + | - // | taskloop | target parallel | * | - // | | for simd | | - // | taskloop | target simd | * | - // | taskloop | teams distribute| + | - // | taskloop | teams distribute| + | - // | | simd | | - // +------------------+-----------------+------------------------------------+ - // | taskloop simd | parallel | | - // | taskloop simd | for | | - // | taskloop simd | for simd | | - // | taskloop simd | master | | - // | taskloop simd | critical | | - // | taskloop simd | simd | * | - // | taskloop simd | sections | | - // | taskloop simd | section | | - // | taskloop simd | single | | - // | taskloop simd | parallel for | | - // | taskloop simd |parallel for simd| | - // | taskloop simd |parallel sections| | - // | taskloop simd | task | | - // | taskloop simd | taskyield | | - // | taskloop simd | barrier | | - // | taskloop simd | taskwait | | - // | taskloop simd | taskgroup | | - // | taskloop simd | flush | | - // | taskloop simd | ordered | + (with simd clause) | - // | taskloop simd | atomic | | - // | taskloop simd | target | | - // | taskloop simd | target parallel | | - // | taskloop simd | target parallel | | - // | | for | | - // | taskloop simd | target enter | | - // | | data | | - // | taskloop simd | target exit | | - // | | data | | - // | taskloop simd | teams | | - // | taskloop simd | cancellation | | - // | | point | | - // | taskloop simd | cancel | | - // | taskloop simd | taskloop | | - // | taskloop simd | taskloop simd | | - // | taskloop simd | distribute | | - // | taskloop simd | distribute | | - // | | parallel for | | - // | taskloop simd | distribute | | - // | |parallel for simd| | - // | taskloop simd | distribute simd | | - // | taskloop simd | target parallel | | - // | | for simd | | - // | taskloop simd | target simd | | - // | taskloop simd | teams distribute| | - // | taskloop simd | teams distribute| | - // | | simd | | - // +------------------+-----------------+------------------------------------+ - // | distribute | parallel | * | - // | distribute | for | * | - // | distribute | for simd | * | - // | distribute | master | * | - // | distribute | critical | * | - // | distribute | simd | * | - // | distribute | sections | * | - // | distribute | section | * | - // | distribute | single | * | - // | distribute | parallel for | * | - // | distribute |parallel for simd| * | - // | distribute |parallel sections| * | - // | distribute | task | * | - // | distribute | taskyield | * | - // | distribute | barrier | * | - // | distribute | taskwait | * | - // | distribute | taskgroup | * | - // | distribute | flush | * | - // | distribute | ordered | + | - // | distribute | atomic | * | - // | distribute | target | | - // | distribute | target parallel | | - // | distribute | target parallel | | - // | | for | | - // | distribute | target enter | | - // | | data | | - // | distribute | target exit | | - // | | data | | - // | distribute | teams | | - // | distribute | cancellation | + | - // | | point | | - // | distribute | cancel | + | - // | distribute | taskloop | * | - // | distribute | taskloop simd | * | - // | distribute | distribute | | - // | distribute | distribute | | - // | | parallel for | | - // | distribute | distribute | | - // | |parallel for simd| | - // | distribute | distribute simd | | - // | distribute | target parallel | | - // | | for simd | | - // | distribute | target simd | | - // | distribute | teams distribute| | - // | distribute | teams distribute| | - // | | simd | | - // +------------------+-----------------+------------------------------------+ - // | distribute | parallel | * | - // | parallel for | | | - // | distribute | for | * | - // | parallel for | | | - // | distribute | for simd | * | - // | parallel for | | | - // | distribute | master | * | - // | parallel for | | | - // | distribute | critical | * | - // | parallel for | | | - // | distribute | simd | * | - // | parallel for | | | - // | distribute | sections | * | - // | parallel for | | | - // | distribute | section | * | - // | parallel for | | | - // | distribute | single | * | - // | parallel for | | | - // | distribute | parallel for | * | - // | parallel for | | | - // | distribute |parallel for simd| * | - // | parallel for | | | - // | distribute |parallel sections| * | - // | parallel for | | | - // | distribute | task | * | - // | parallel for | | | - // | parallel for | | | - // | distribute | taskyield | * | - // | parallel for | | | - // | distribute | barrier | * | - // | parallel for | | | - // | distribute | taskwait | * | - // | parallel for | | | - // | distribute | taskgroup | * | - // | parallel for | | | - // | distribute | flush | * | - // | parallel for | | | - // | distribute | ordered | + | - // | parallel for | | | - // | distribute | atomic | * | - // | parallel for | | | - // | distribute | target | | - // | parallel for | | | - // | distribute | target parallel | | - // | parallel for | | | - // | distribute | target parallel | | - // | parallel for | for | | - // | distribute | target enter | | - // | parallel for | data | | - // | distribute | target exit | | - // | parallel for | data | | - // | distribute | teams | | - // | parallel for | | | - // | distribute | cancellation | + | - // | parallel for | point | | - // | distribute | cancel | + | - // | parallel for | | | - // | distribute | taskloop | * | - // | parallel for | | | - // | distribute | taskloop simd | * | - // | parallel for | | | - // | distribute | distribute | | - // | parallel for | | | - // | distribute | distribute | | - // | parallel for | parallel for | | - // | distribute | distribute | | - // | parallel for |parallel for simd| | - // | distribute | distribute simd | | - // | parallel for | | | - // | distribute | target parallel | | - // | parallel for | for simd | | - // | distribute | target simd | | - // | parallel for | | | - // | distribute | teams distribute| | - // | parallel for | | | - // | distribute | teams distribute| | - // | parallel for | simd | | - // +------------------+-----------------+------------------------------------+ - // | distribute | parallel | * | - // | parallel for simd| | | - // | distribute | for | * | - // | parallel for simd| | | - // | distribute | for simd | * | - // | parallel for simd| | | - // | distribute | master | * | - // | parallel for simd| | | - // | distribute | critical | * | - // | parallel for simd| | | - // | distribute | simd | * | - // | parallel for simd| | | - // | distribute | sections | * | - // | parallel for simd| | | - // | distribute | section | * | - // | parallel for simd| | | - // | distribute | single | * | - // | parallel for simd| | | - // | distribute | parallel for | * | - // | parallel for simd| | | - // | distribute |parallel for simd| * | - // | parallel for simd| | | - // | distribute |parallel sections| * | - // | parallel for simd| | | - // | distribute | task | * | - // | parallel for simd| | | - // | distribute | taskyield | * | - // | parallel for simd| | | - // | distribute | barrier | * | - // | parallel for simd| | | - // | distribute | taskwait | * | - // | parallel for simd| | | - // | distribute | taskgroup | * | - // | parallel for simd| | | - // | distribute | flush | * | - // | parallel for simd| | | - // | distribute | ordered | + | - // | parallel for simd| | | - // | distribute | atomic | * | - // | parallel for simd| | | - // | distribute | target | | - // | parallel for simd| | | - // | distribute | target parallel | | - // | parallel for simd| | | - // | distribute | target parallel | | - // | parallel for simd| for | | - // | distribute | target enter | | - // | parallel for simd| data | | - // | distribute | target exit | | - // | parallel for simd| data | | - // | distribute | teams | | - // | parallel for simd| | | - // | distribute | cancellation | + | - // | parallel for simd| point | | - // | distribute | cancel | + | - // | parallel for simd| | | - // | distribute | taskloop | * | - // | parallel for simd| | | - // | distribute | taskloop simd | * | - // | parallel for simd| | | - // | distribute | distribute | | - // | parallel for simd| | | - // | distribute | distribute | * | - // | parallel for simd| parallel for | | - // | distribute | distribute | * | - // | parallel for simd|parallel for simd| | - // | distribute | distribute simd | * | - // | parallel for simd| | | - // | distribute | target parallel | | - // | parallel for simd| for simd | | - // | distribute | target simd | | - // | parallel for simd| | | - // | distribute | teams distribute| | - // | parallel for simd| | | - // | distribute | teams distribute| | - // | parallel for simd| simd | | - // +------------------+-----------------+------------------------------------+ - // | distribute simd | parallel | * | - // | distribute simd | for | * | - // | distribute simd | for simd | * | - // | distribute simd | master | * | - // | distribute simd | critical | * | - // | distribute simd | simd | * | - // | distribute simd | sections | * | - // | distribute simd | section | * | - // | distribute simd | single | * | - // | distribute simd | parallel for | * | - // | distribute simd |parallel for simd| * | - // | distribute simd |parallel sections| * | - // | distribute simd | task | * | - // | distribute simd | taskyield | * | - // | distribute simd | barrier | * | - // | distribute simd | taskwait | * | - // | distribute simd | taskgroup | * | - // | distribute simd | flush | * | - // | distribute simd | ordered | + | - // | distribute simd | atomic | * | - // | distribute simd | target | * | - // | distribute simd | target parallel | * | - // | distribute simd | target parallel | * | - // | | for | | - // | distribute simd | target enter | * | - // | | data | | - // | distribute simd | target exit | * | - // | | data | | - // | distribute simd | teams | * | - // | distribute simd | cancellation | + | - // | | point | | - // | distribute simd | cancel | + | - // | distribute simd | taskloop | * | - // | distribute simd | taskloop simd | * | - // | distribute simd | distribute | | - // | distribute simd | distribute | * | - // | | parallel for | | - // | distribute simd | distribute | * | - // | |parallel for simd| | - // | distribute simd | distribute simd | * | - // | distribute simd | target parallel | * | - // | | for simd | | - // | distribute simd | target simd | * | - // | distribute simd | teams distribute| * | - // | distribute simd | teams distribute| | - // | | simd | | - // +------------------+-----------------+------------------------------------+ - // | target parallel | parallel | * | - // | for simd | | | - // | target parallel | for | * | - // | for simd | | | - // | target parallel | for simd | * | - // | for simd | | | - // | target parallel | master | * | - // | for simd | | | - // | target parallel | critical | * | - // | for simd | | | - // | target parallel | simd | ! | - // | for simd | | | - // | target parallel | sections | * | - // | for simd | | | - // | target parallel | section | * | - // | for simd | | | - // | target parallel | single | * | - // | for simd | | | - // | target parallel | parallel for | * | - // | for simd | | | - // | target parallel |parallel for simd| * | - // | for simd | | | - // | target parallel |parallel sections| * | - // | for simd | | | - // | target parallel | task | * | - // | for simd | | | - // | target parallel | taskyield | * | - // | for simd | | | - // | target parallel | barrier | * | - // | for simd | | | - // | target parallel | taskwait | * | - // | for simd | | | - // | target parallel | taskgroup | * | - // | for simd | | | - // | target parallel | flush | * | - // | for simd | | | - // | target parallel | ordered | + (with simd clause) | - // | for simd | | | - // | target parallel | atomic | * | - // | for simd | | | - // | target parallel | target | * | - // | for simd | | | - // | target parallel | target parallel | * | - // | for simd | | | - // | target parallel | target parallel | * | - // | for simd | for | | - // | target parallel | target enter | * | - // | for simd | data | | - // | target parallel | target exit | * | - // | for simd | data | | - // | target parallel | teams | * | - // | for simd | | | - // | target parallel | cancellation | * | - // | for simd | point | | - // | target parallel | cancel | * | - // | for simd | | | - // | target parallel | taskloop | * | - // | for simd | | | - // | target parallel | taskloop simd | * | - // | for simd | | | - // | target parallel | distribute | * | - // | for simd | | | - // | target parallel | distribute | * | - // | for simd | parallel for | | - // | target parallel | distribute | * | - // | for simd |parallel for simd| | - // | target parallel | distribute simd | * | - // | for simd | | | - // | target parallel | target parallel | * | - // | for simd | for simd | | - // | target parallel | target simd | * | - // | for simd | | | - // | target parallel | teams distribute| * | - // | for simd | | | - // | target parallel | teams distribute| | - // | for simd | simd | | - // +------------------+-----------------+------------------------------------+ - // | target simd | parallel | | - // | target simd | for | | - // | target simd | for simd | | - // | target simd | master | | - // | target simd | critical | | - // | target simd | simd | | - // | target simd | sections | | - // | target simd | section | | - // | target simd | single | | - // | target simd | parallel for | | - // | target simd |parallel for simd| | - // | target simd |parallel sections| | - // | target simd | task | | - // | target simd | taskyield | | - // | target simd | barrier | | - // | target simd | taskwait | | - // | target simd | taskgroup | | - // | target simd | flush | | - // | target simd | ordered | + (with simd clause) | - // | target simd | atomic | | - // | target simd | target | | - // | target simd | target parallel | | - // | target simd | target parallel | | - // | | for | | - // | target simd | target enter | | - // | | data | | - // | target simd | target exit | | - // | | data | | - // | target simd | teams | | - // | target simd | cancellation | | - // | | point | | - // | target simd | cancel | | - // | target simd | taskloop | | - // | target simd | taskloop simd | | - // | target simd | distribute | | - // | target simd | distribute | | - // | | parallel for | | - // | target simd | distribute | | - // | |parallel for simd| | - // | target simd | distribute simd | | - // | target simd | target parallel | | - // | | for simd | | - // | target simd | target simd | | - // | target simd | teams distribute| | - // | target simd | teams distribute| | - // | | simd | | - // +------------------+-----------------+------------------------------------+ - // | teams distribute | parallel | | - // | teams distribute | for | | - // | teams distribute | for simd | | - // | teams distribute | master | | - // | teams distribute | critical | | - // | teams distribute | simd | | - // | teams distribute | sections | | - // | teams distribute | section | | - // | teams distribute | single | | - // | teams distribute | parallel for | | - // | teams distribute |parallel for simd| | - // | teams distribute |parallel sections| | - // | teams distribute | task | | - // | teams distribute | taskyield | | - // | teams distribute | barrier | | - // | teams distribute | taskwait | | - // | teams distribute | taskgroup | | - // | teams distribute | flush | | - // | teams distribute | ordered | + (with simd clause) | - // | teams distribute | atomic | | - // | teams distribute | target | | - // | teams distribute | target parallel | | - // | teams distribute | target parallel | | - // | | for | | - // | teams distribute | target enter | | - // | | data | | - // | teams distribute | target exit | | - // | | data | | - // | teams distribute | teams | | - // | teams distribute | cancellation | | - // | | point | | - // | teams distribute | cancel | | - // | teams distribute | taskloop | | - // | teams distribute | taskloop simd | | - // | teams distribute | distribute | | - // | teams distribute | distribute | | - // | | parallel for | | - // | teams distribute | distribute | | - // | |parallel for simd| | - // | teams distribute | distribute simd | | - // | 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(); auto OffendingRegion = ParentRegion; -- 2.7.4