[flang-commits] [flang] f12b1ed - [flang][OpenMP] Add TODOs for target [teams|parallel] private (#143706)
via flang-commits
flang-commits at lists.llvm.org
Thu Jun 12 08:35:40 PDT 2025
Author: Kajetan Puchalski
Date: 2025-06-12T16:35:36+01:00
New Revision: f12b1ed11672bc40a53fb1180541b2fda6e7d9fc
URL: https://github.com/llvm/llvm-project/commit/f12b1ed11672bc40a53fb1180541b2fda6e7d9fc
DIFF: https://github.com/llvm/llvm-project/commit/f12b1ed11672bc40a53fb1180541b2fda6e7d9fc.diff
LOG: [flang][OpenMP] Add TODOs for target [teams|parallel] private (#143706)
Using the private clause on `target teams` or `target parallel` is not
currently implemented and causes crashes during lowering. Add
appropriate TODOs.
Resolves https://github.com/llvm/llvm-project/issues/116428.
Signed-off-by: Kajetan Puchalski <kajetan.puchalski at arm.com>
Added:
flang/test/Lower/OpenMP/Todo/target-parallel-private.f90
flang/test/Lower/OpenMP/Todo/target-teams-private.f90
Modified:
flang/lib/Lower/OpenMP/OpenMP.cpp
Removed:
################################################################################
diff --git a/flang/lib/Lower/OpenMP/OpenMP.cpp b/flang/lib/Lower/OpenMP/OpenMP.cpp
index c13fa471978db..82673f0948a5b 100644
--- a/flang/lib/Lower/OpenMP/OpenMP.cpp
+++ b/flang/lib/Lower/OpenMP/OpenMP.cpp
@@ -4024,6 +4024,13 @@ static void genOMP(lower::AbstractConverter &converter, lower::SymMap &symTable,
parser::ToUpperCaseLetters(llvm::omp::getOpenMPClauseName(clause.id));
TODO(clauseLocation, name + " clause is not implemented yet");
}
+
+ if (std::holds_alternative<clause::Private>(clause.u) &&
+ origDirective == llvm::omp::Directive::OMPD_target_teams)
+ TODO(clauseLocation, "TARGET TEAMS PRIVATE is not implemented yet");
+ if (std::holds_alternative<clause::Private>(clause.u) &&
+ origDirective == llvm::omp::Directive::OMPD_target_parallel)
+ TODO(clauseLocation, "TARGET PARALLEL PRIVATE is not implemented yet");
}
llvm::omp::Directive directive =
diff --git a/flang/test/Lower/OpenMP/Todo/target-parallel-private.f90 b/flang/test/Lower/OpenMP/Todo/target-parallel-private.f90
new file mode 100644
index 0000000000000..e820143021f9a
--- /dev/null
+++ b/flang/test/Lower/OpenMP/Todo/target-parallel-private.f90
@@ -0,0 +1,13 @@
+! RUN: %not_todo_cmd bbc -emit-fir -fopenmp -fopenmp-version=50 -o - %s 2>&1 | FileCheck %s
+! RUN: %not_todo_cmd %flang_fc1 -emit-fir -fopenmp -fopenmp-version=50 -o - %s 2>&1 | FileCheck %s
+
+!===============================================================================
+! `private` clause on `target parallel`
+!===============================================================================
+
+! CHECK: not yet implemented: TARGET PARALLEL PRIVATE is not implemented yet
+subroutine target_teams_private()
+integer, dimension(3) :: i
+!$omp target parallel private(i)
+!$omp end target parallel
+end subroutine
diff --git a/flang/test/Lower/OpenMP/Todo/target-teams-private.f90 b/flang/test/Lower/OpenMP/Todo/target-teams-private.f90
new file mode 100644
index 0000000000000..c8d998a5cbf94
--- /dev/null
+++ b/flang/test/Lower/OpenMP/Todo/target-teams-private.f90
@@ -0,0 +1,13 @@
+! RUN: %not_todo_cmd bbc -emit-fir -fopenmp -fopenmp-version=50 -o - %s 2>&1 | FileCheck %s
+! RUN: %not_todo_cmd %flang_fc1 -emit-fir -fopenmp -fopenmp-version=50 -o - %s 2>&1 | FileCheck %s
+
+!===============================================================================
+! `private` clause on `target teams`
+!===============================================================================
+
+! CHECK: not yet implemented: TARGET TEAMS PRIVATE is not implemented yet
+subroutine target_teams_private()
+integer, dimension(3) :: i
+!$omp target teams private(i)
+!$omp end target teams
+end subroutine
More information about the flang-commits
mailing list