[OpenMP] Encode `omp [...] assume[...]` assumptions with `omp[x]` prefix
authorJohannes Doerfert <johannes@jdoerfert.de>
Tue, 13 Jul 2021 20:35:58 +0000 (15:35 -0500)
committerJohannes Doerfert <johannes@jdoerfert.de>
Fri, 10 Sep 2021 17:08:52 +0000 (12:08 -0500)
commit45e8e084921b99ca36131d7f90359c70c4e1a25c
tree7ffee8bfad7364d5b21294975ae353d17e0d9317
parent7dbba3376f633cabcf4df568bc9ca95f44a35203
[OpenMP] Encode `omp [...] assume[...]` assumptions with `omp[x]` prefix

Since these assumptions are coming from OpenMP it makes sense to mark
them as such in the generic IR encoding. Standardized assumptions will
be named
  omp_ASSUMPTION_NAME
and extensions will be named
  ompx_ASSUMPTION_NAME
which is the OpenMP 5.2 syntax for "extensions" of any kind.

This also matches what the OpenMP-Opt pass expects.

Summarized,
  #pragma omp [...] assume[s] no_parallelism
now generates the same IR assumption annotation as
  __attribute__((assume("omp_no_parallelism")))

Reviewed By: jhuber6

Differential Revision: https://reviews.llvm.org/D105937
clang/include/clang/Sema/Sema.h
clang/lib/Parse/ParseOpenMP.cpp
clang/lib/Sema/SemaOpenMP.cpp
clang/test/OpenMP/assumes_codegen.cpp
clang/test/OpenMP/assumes_include_nvptx.cpp
clang/test/OpenMP/assumes_print.cpp
clang/test/OpenMP/assumes_template_print.cpp