diff --git a/flang/lib/Parser/openmp-parsers.cpp b/flang/lib/Parser/openmp-parsers.cpp --- a/flang/lib/Parser/openmp-parsers.cpp +++ b/flang/lib/Parser/openmp-parsers.cpp @@ -262,7 +262,7 @@ parenthesized(Parser{}))) || "SIMD"_id >> construct(construct()) || "SIMDLEN" >> construct(construct( - parenthesized(scalarIntConstantExpr))) || + parenthesized(scalarIntConstantExpr))) || "THREADS" >> construct(construct()) || "THREAD_LIMIT" >> construct(construct( parenthesized(scalarIntExpr))) || @@ -291,6 +291,7 @@ "DISTRIBUTE" >> pure(llvm::omp::Directive::OMPD_distribute), "DO SIMD" >> pure(llvm::omp::Directive::OMPD_do_simd), "DO" >> pure(llvm::omp::Directive::OMPD_do), + "TILE" >> pure(llvm::omp::Directive::OMPD_tile), "PARALLEL DO SIMD" >> pure(llvm::omp::Directive::OMPD_parallel_do_simd), "PARALLEL DO" >> pure(llvm::omp::Directive::OMPD_parallel_do), "SIMD" >> pure(llvm::omp::Directive::OMPD_simd), diff --git a/flang/lib/Semantics/resolve-directives.cpp b/flang/lib/Semantics/resolve-directives.cpp --- a/flang/lib/Semantics/resolve-directives.cpp +++ b/flang/lib/Semantics/resolve-directives.cpp @@ -1200,6 +1200,7 @@ case llvm::omp::Directive::OMPD_teams_distribute_parallel_do: case llvm::omp::Directive::OMPD_teams_distribute_parallel_do_simd: case llvm::omp::Directive::OMPD_teams_distribute_simd: + case llvm::omp::Directive::OMPD_tile: PushContext(beginDir.source, beginDir.v); break; default: