aboutsummaryrefslogtreecommitdiff
path: root/clang/unittests/Basic/VirtualFileSystemTest.cpp
diff options
context:
space:
mode:
authorkhaki3 <47756807+khaki3@users.noreply.github.com>2025-08-05 18:21:31 -0700
committerGitHub <noreply@github.com>2025-08-05 18:21:31 -0700
commit8470027f257a3304b2abe50e5663bcd711f6ca29 (patch)
tree26d018b13c042771c4c6ffa1ec52b0203a22309f /clang/unittests/Basic/VirtualFileSystemTest.cpp
parentb05e26be8a487d21cf15d34ef60b39b3ca94f235 (diff)
downloadllvm-8470027f257a3304b2abe50e5663bcd711f6ca29.zip
llvm-8470027f257a3304b2abe50e5663bcd711f6ca29.tar.gz
llvm-8470027f257a3304b2abe50e5663bcd711f6ca29.tar.bz2
[flang][acc] Add a semantic check for the validity of nested parallelism (#152225)
This PR implements a semantic checker to ensure the legality of nested OpenACC parallelism. The following are quotes from Spec 3.3. We need to disallow loops from having parallelism at the same level as or at a sub-level of child loops. >**2.9.2 gang clause** >[2064] <ins>When the parent compute construct is a parallel construct</ins>, or on an orphaned loop construct, the gang clause behaves as follows. (...) The associated dimension is the value of the dim argument, if it appears, or is dimension one. The dim argument must be a constant positive integer with value 1, 2, or 3. >[2112] The region of a loop with a gang(dim:d) clause may not contain a loop construct with a gang(dim:e) clause where e >= d unless it appears within a nested compute region. >[2074] <ins>When the parent compute construct is a kernels construct</ins>, the gang clause behaves as follows. (...) >[2148] The region of a loop with the gang clause may not contain another loop with a gang clause unless within a nested compute region. >**2.9.3 worker clause** >[2122]/[2129] The region of a loop with the worker clause may not contain a loop with the gang or worker clause unless within a nested compute region. >**2.9.4 vector clause** >[2141]/[2148] The region of a loop with the vector clause may not contain a loop with a gang, worker, or vector clause unless within a nested compute region. https://openacc.org/sites/default/files/inline-images/Specification/OpenACC-3.3-final.pdf
Diffstat (limited to 'clang/unittests/Basic/VirtualFileSystemTest.cpp')
0 files changed, 0 insertions, 0 deletions