commit | 9bee4723b908c24c3c83a30a03515039dbb0b61d | [log] [tgz] |
---|---|---|
author | Sergio Afonso <safonsof@amd.com> | Fri Apr 19 16:15:10 2024 +0100 |
committer | Copybara-Service <copybara-worker@google.com> | Fri Apr 19 08:19:31 2024 -0700 |
tree | b682ae1085efab3a7f121d99fdfc0818d072b233 | |
parent | 11f0a56a02bfcddd5529b2f3203237bd6cdca42e [diff] |
[MLIR][OpenMP] Verify loop wrapper properties of omp.parallel (#88722) This patch extends verification of the `omp.parallel` operation to check it is correctly defined when taking a loop wrapper role. In OpenMP, a PARALLEL construct can be either a (potenially combined) block construct or a loop construct, when appearing as part of a composite construct. This is currently the case for the DISTRIBUTE PARALLEL DO/FOR and DISTRIBUTE PARALLEL DO/FOR SIMD exclusively. When used to represent the PARALLEL leaf of a composite construct, it must follow the rules of a wrapper loop operation in MLIR, and this is what this patch ensures. No additional restrictions are introduced for PARALLEL block constructs. GitOrigin-RevId: 5e5b8c49096afba8e4e0fd094a5ab905a9acced0
See https://mlir.llvm.org/ for more information.