diff options
Diffstat (limited to 'flang/lib/Lower/OpenMP/ClauseProcessor.cpp')
-rw-r--r-- | flang/lib/Lower/OpenMP/ClauseProcessor.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/flang/lib/Lower/OpenMP/ClauseProcessor.cpp b/flang/lib/Lower/OpenMP/ClauseProcessor.cpp index 3c98311..fb8e007 100644 --- a/flang/lib/Lower/OpenMP/ClauseProcessor.cpp +++ b/flang/lib/Lower/OpenMP/ClauseProcessor.cpp @@ -153,10 +153,13 @@ genDependKindAttr(lower::AbstractConverter &converter, pbKind = mlir::omp::ClauseTaskDepend::taskdependinout; break; case omp::clause::DependenceType::Mutexinoutset: + pbKind = mlir::omp::ClauseTaskDepend::taskdependmutexinoutset; + break; case omp::clause::DependenceType::Inoutset: + pbKind = mlir::omp::ClauseTaskDepend::taskdependinoutset; + break; case omp::clause::DependenceType::Depobj: - TODO(currentLocation, - "INOUTSET, MUTEXINOUTSET and DEPOBJ dependence-types"); + TODO(currentLocation, "DEPOBJ dependence-type"); break; case omp::clause::DependenceType::Sink: case omp::clause::DependenceType::Source: @@ -610,6 +613,8 @@ addAlignedClause(lower::AbstractConverter &converter, // Do not generate alignment assumption if alignment is less than or equal to // 0. if (alignment > 0) { + // alignment value must be power of 2 + assert((alignment & (alignment - 1)) == 0 && "alignment is not power of 2"); auto &objects = std::get<omp::ObjectList>(clause.t); if (!objects.empty()) genObjectList(objects, converter, alignedVars); |