]> granicus.if.org Git - clang/commit
[OPENMP 4.1] Codegen for ‘simd’ clause in ‘ordered’ directive.
authorAlexey Bataev <a.bataev@hotmail.com>
Tue, 29 Sep 2015 03:48:57 +0000 (03:48 +0000)
committerAlexey Bataev <a.bataev@hotmail.com>
Tue, 29 Sep 2015 03:48:57 +0000 (03:48 +0000)
commitaf2b6e30d8dd2974be238623bcb4ca384435259a
tree9600fa25149c9323ad7369dec27b2186b5a5abf2
parentb9651f741bb20dc3f670a65a06a41ec095434ad0
[OPENMP 4.1] Codegen for ‘simd’ clause in ‘ordered’ directive.
Description.
If the simd clause is specified, the ordered regions encountered by any thread will use only a single SIMD lane to execute the ordered regions in the order of the loop iterations.
Restrictions.
An ordered construct with the simd clause is the only OpenMP construct that can appear in the simd region.

An ordered directive with ‘simd’ clause is generated as an outlined function and corresponding function call to prevent this part of code from vectorization later in backend.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248772 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/CGOpenMPRuntime.cpp
lib/CodeGen/CGOpenMPRuntime.h
lib/CodeGen/CGStmtOpenMP.cpp
test/OpenMP/ordered_codegen.cpp