ABataev added a comment. General comment: do you really need to define default schedule kind in Sema? Could you do it during codegen phase?
================ Comment at: include/clang/Basic/OpenMPKinds.h:23-25 +class Sema; +class OMPClause; + ---------------- No way, these classes should not be used here ================ Comment at: include/clang/Basic/OpenMPKinds.h:250-256 +/// Get the default schedule type for any loop-based OpenMP directive, +/// specialized for a particular target. This is used to guide codegen +/// if a) no 'schedule' clause is specified, or b) a 'schedule' type of +/// 'auto' is specified by the user. +OpenMPDefaultScheduleKind +getDefaultSchedule(Sema &SemaRef, OpenMPDirectiveKind Kind, + llvm::ArrayRef<OMPClause *> Clauses); ---------------- You can't use Sema and OMPClause in Basic, it is not allowed ================ Comment at: lib/CodeGen/CGStmtOpenMP.cpp:2190 const bool IVSigned = IVExpr->getType()->hasSignedIntegerRepresentation(); - // OpenMP 4.5, 2.7.1 Loop Construct, Description. - // If the static schedule kind is specified or if the ordered clause is - // specified, and if no monotonic modifier is specified, the effect will - // be as if the monotonic modifier was specified. - if (RT.isStaticNonchunked(ScheduleKind.Schedule, - /* Chunked */ Chunk != nullptr) && - !Ordered) { + if (S.getDefaultSchedule() == OMPDSK_static_chunkone) { + // For NVPTX and other GPU targets high performance is often achieved ---------------- What's the difference between this code and next else branch? https://reviews.llvm.org/D29910 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits