ABataev added inline comments. ================ Comment at: lib/CodeGen/CGOpenMPRuntime.cpp:4426-4431 @@ +4425,8 @@ + SourceLocation Loc) { + llvm::Value *PushNumTeamsArgs[] = { + emitUpdateLocation(CGF, Loc), getThreadID(CGF, Loc), NumTeams, + ThreadLimit}; + CGF.EmitRuntimeCall(createRuntimeFunction(OMPRTL__kmpc_push_num_teams), + PushNumTeamsArgs); + + if (!CGF.HaveInsertPoint()) ---------------- What is this? Copy-paste?
================ Comment at: lib/CodeGen/CGOpenMPRuntime.cpp:4432-4433 @@ +4431,4 @@ + + if (!CGF.HaveInsertPoint()) + return; + // Build call __kmpc_push_num_threads(&loc, global_tid, num_threads) ---------------- This must be checked at the start of the function ================ Comment at: lib/CodeGen/CGOpenMPRuntime.h:997-1003 @@ +996,9 @@ + + /// \brief Emits call to void __kmpc_push_num_teamss(ident_t *loc, kmp_int32 + /// global_tid, kmp_int32 num_teams, kmp_int32 thread_limit) to generate code + /// for num_teams clause. + /// \param NumTeams An integer value of teams. + /// \param ThreadsLimit An integer value of threads. + virtual void emitNumTeamsClause(CodeGenFunction &CGF, llvm::Value *NumTeams, + llvm::Value *ThreadLimit, SourceLocation Loc); + ---------------- Ok, just missed it. ================ Comment at: lib/CodeGen/CGStmtOpenMP.cpp:2724-2725 @@ +2723,4 @@ + const OMPTeamsDirective &TD = *dyn_cast<OMPTeamsDirective>(&S); + llvm::Value *NumTeamsVal = nullptr; + llvm::Value *ThreadLimitVal = nullptr; + ---------------- These vars must be declared inside 'if' stmt for clauses. ================ Comment at: lib/CodeGen/CGStmtOpenMP.cpp:2758 @@ -2712,1 +2757,3 @@ + + // TODO: deal with clauses other than num_teams and thread_limit ---------------- I don't think we need this comment now. Repository: rL LLVM http://reviews.llvm.org/D17148 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits