First patch with codegen of the 'omp for' directive. It implements
authorAlexander Musman <alexander.musman@gmail.com>
Mon, 15 Dec 2014 07:07:06 +0000 (07:07 +0000)
committerAlexander Musman <alexander.musman@gmail.com>
Mon, 15 Dec 2014 07:07:06 +0000 (07:07 +0000)
commitc638868bdf239402120b2dc83c6ea0fc3bd0fac8
tree0ef5c973d8773109715a9ab1ee6d442716c61010
parentecabbc52d51a737ae9964190933c7a0abcff3b21
First patch with codegen of the 'omp for' directive. It implements
the simplest case, which is used when no chunk_size is specified in
the schedule(static) or no 'schedule' clause is specified - the
iteration space is divided by the library into chunks that are
approximately equal in size, and at most one chunk is distributed
to each thread. In this case, we do not need an outer loop in each
thread - each thread requests once which iterations range it should
handle (using __kmpc_for_static_init runtime call) and then runs the
inner loop on this range.

Differential Revision: http://reviews.llvm.org/D5865

llvm-svn: 224233
clang/include/clang/AST/StmtOpenMP.h
clang/lib/AST/Stmt.cpp
clang/lib/CodeGen/CGOpenMPRuntime.cpp
clang/lib/CodeGen/CGOpenMPRuntime.h
clang/lib/CodeGen/CGStmtOpenMP.cpp
clang/lib/CodeGen/CodeGenFunction.h
clang/lib/Sema/SemaOpenMP.cpp
clang/lib/Serialization/ASTReaderStmt.cpp
clang/lib/Serialization/ASTWriterStmt.cpp