Author: Saiyedul Islam
Date: 2022-01-04T12:30:43Z
New Revision: 49f23afdc3453ad6834f32f69b48aa88b5d17338

URL: 
https://github.com/llvm/llvm-project/commit/49f23afdc3453ad6834f32f69b48aa88b5d17338
DIFF: 
https://github.com/llvm/llvm-project/commit/49f23afdc3453ad6834f32f69b48aa88b5d17338.diff

LOG: [OpenMP] Add nec and nvidia as compiler vendors for OpenMP

OpenMP Specs 5.0[1] and 5.1[2] recognizes nec and nvidia as known
compiler vendors and their absence is causing compilation error in one
of the vendor based metadirective test of sollve_vv project[3].

[1] https://www.openmp.org/wp-content/uploads/Context-Definitions-5.0-v1.0.pdf
[2] 
https://www.openmp.org/wp-content/uploads/OpenMP-API-Additional-Definitions-2-0.pdf
[3] 
https://github.com/SOLLVE/sollve_vv/blob/master/tests/5.0/metadirective/test_metadirective_arch_nvidia_or_amd.c

Differential Revision: https://reviews.llvm.org/D116540

Added: 
    

Modified: 
    clang/test/OpenMP/begin_declare_variant_messages.c
    clang/test/OpenMP/declare_variant_messages.c
    clang/test/OpenMP/declare_variant_messages.cpp
    llvm/include/llvm/Frontend/OpenMP/OMPKinds.def

Removed: 
    


################################################################################
diff  --git a/clang/test/OpenMP/begin_declare_variant_messages.c 
b/clang/test/OpenMP/begin_declare_variant_messages.c
index 5922153b24457..e419ec2345d6b 100644
--- a/clang/test/OpenMP/begin_declare_variant_messages.c
+++ b/clang/test/OpenMP/begin_declare_variant_messages.c
@@ -54,15 +54,15 @@ const int var;
 #pragma omp end declare variant
 #pragma omp begin declare variant match(implementation={vendor}) // 
expected-warning {{the context selector 'vendor' in context set 
'implementation' requires a context property defined in parentheses; selector 
ignored}} expected-note {{the ignored selector spans until here}}
 #pragma omp end declare variant
-#pragma omp begin declare variant match(implementation={vendor(}) // 
expected-error {{expected ')'}} expected-warning {{expected identifier or 
string literal describing a context property; property skipped}} expected-note 
{{context property options are: 'amd' 'arm' 'bsc' 'cray' 'fujitsu' 'gnu' 'ibm' 
'intel' 'llvm' 'pgi' 'ti' 'unknown'}} expected-note {{to match this '('}}
+#pragma omp begin declare variant match(implementation={vendor(}) // 
expected-error {{expected ')'}} expected-warning {{expected identifier or 
string literal describing a context property; property skipped}} expected-note 
{{context property options are: 'amd' 'arm' 'bsc' 'cray' 'fujitsu' 'gnu' 'ibm' 
'intel' 'llvm' 'nec' 'nvidia' 'pgi' 'ti' 'unknown'}} expected-note {{to match 
this '('}}
 #pragma omp end declare variant
-#pragma omp begin declare variant match(implementation={vendor()}) // 
expected-warning {{expected identifier or string literal describing a context 
property; property skipped}} expected-note {{context property options are: 
'amd' 'arm' 'bsc' 'cray' 'fujitsu' 'gnu' 'ibm' 'intel' 'llvm' 'pgi' 'ti' 
'unknown'}}
+#pragma omp begin declare variant match(implementation={vendor()}) // 
expected-warning {{expected identifier or string literal describing a context 
property; property skipped}} expected-note {{context property options are: 
'amd' 'arm' 'bsc' 'cray' 'fujitsu' 'gnu' 'ibm' 'intel' 'llvm' 'nec' 'nvidia' 
'pgi' 'ti' 'unknown'}}
 #pragma omp end declare variant
 #pragma omp begin declare variant match(implementation={vendor(score ibm)}) // 
expected-error {{expected '(' after 'score'}} expected-warning {{expected '':'' 
after the score expression; '':'' assumed}}
 #pragma omp end declare variant
-#pragma omp begin declare variant match(implementation={vendor(score( ibm)}) 
// expected-error {{use of undeclared identifier 'ibm'}} expected-error 
{{expected ')'}} expected-warning {{expected '':'' after the score expression; 
'':'' assumed}} expected-warning {{expected identifier or string literal 
describing a context property; property skipped}} expected-note {{context 
property options are: 'amd' 'arm' 'bsc' 'cray' 'fujitsu' 'gnu' 'ibm' 'intel' 
'llvm' 'pgi' 'ti' 'unknown'}} expected-note {{to match this '('}}
+#pragma omp begin declare variant match(implementation={vendor(score( ibm)}) 
// expected-error {{use of undeclared identifier 'ibm'}} expected-error 
{{expected ')'}} expected-warning {{expected '':'' after the score expression; 
'':'' assumed}} expected-warning {{expected identifier or string literal 
describing a context property; property skipped}} expected-note {{context 
property options are: 'amd' 'arm' 'bsc' 'cray' 'fujitsu' 'gnu' 'ibm' 'intel' 
'llvm' 'nec' 'nvidia' 'pgi' 'ti' 'unknown'}} expected-note {{to match this '('}}
 #pragma omp end declare variant
-#pragma omp begin declare variant match(implementation={vendor(score(2 ibm)}) 
// expected-error {{expected ')'}} expected-error {{expected ')'}} 
expected-warning {{expected '':'' after the score expression; '':'' assumed}} 
expected-warning {{expected identifier or string literal describing a context 
property; property skipped}} expected-note {{to match this '('}} expected-note 
{{context property options are: 'amd' 'arm' 'bsc' 'cray' 'fujitsu' 'gnu' 'ibm' 
'intel' 'llvm' 'pgi' 'ti' 'unknown'}} expected-note {{to match this '('}}
+#pragma omp begin declare variant match(implementation={vendor(score(2 ibm)}) 
// expected-error {{expected ')'}} expected-error {{expected ')'}} 
expected-warning {{expected '':'' after the score expression; '':'' assumed}} 
expected-warning {{expected identifier or string literal describing a context 
property; property skipped}} expected-note {{to match this '('}} expected-note 
{{context property options are: 'amd' 'arm' 'bsc' 'cray' 'fujitsu' 'gnu' 'ibm' 
'intel' 'llvm' 'nec' 'nvidia' 'pgi' 'ti' 'unknown'}} expected-note {{to match 
this '('}}
 #pragma omp end declare variant
 #pragma omp begin declare variant match(implementation={vendor(score(foo()) 
ibm)}) // expected-warning {{expected '':'' after the score expression; '':'' 
assumed}}
 #pragma omp end declare variant

diff  --git a/clang/test/OpenMP/declare_variant_messages.c 
b/clang/test/OpenMP/declare_variant_messages.c
index 0178ca15cabf0..b53361f11b9f7 100644
--- a/clang/test/OpenMP/declare_variant_messages.c
+++ b/clang/test/OpenMP/declare_variant_messages.c
@@ -28,11 +28,11 @@ int foo(void);
 #pragma omp declare variant(foo) match(xxx={vvv}) xxx // expected-warning 
{{'xxx' is not a valid context set in a `declare variant`; set ignored}} 
expected-note {{context set options are: 'construct' 'device' 'implementation' 
'user'}} expected-note {{the ignored set spans until here}} expected-error 
{{expected 'match' clause on 'omp declare variant' directive}}
 #pragma omp declare variant(foo) match(implementation={xxx}) // 
expected-warning {{'xxx' is not a valid context selector for the context set 
'implementation'; selector ignored}} expected-note {{context selector options 
are: 'vendor' 'extension' 'unified_address' 'unified_shared_memory' 
'reverse_offload' 'dynamic_allocators' 'atomic_default_mem_order'}} 
expected-note {{the ignored selector spans until here}}
 #pragma omp declare variant(foo) match(implementation={vendor}) // 
expected-warning {{the context selector 'vendor' in context set 
'implementation' requires a context property defined in parentheses; selector 
ignored}} expected-note {{the ignored selector spans until here}}
-#pragma omp declare variant(foo) match(implementation={vendor(}) // 
expected-error {{expected ')'}} expected-warning {{expected identifier or 
string literal describing a context property; property skipped}} expected-note 
{{context property options are: 'amd' 'arm' 'bsc' 'cray' 'fujitsu' 'gnu' 'ibm' 
'intel' 'llvm' 'pgi' 'ti' 'unknown'}} expected-note {{to match this '('}}
-#pragma omp declare variant(foo) match(implementation={vendor()}) // 
expected-warning {{expected identifier or string literal describing a context 
property; property skipped}} expected-note {{context property options are: 
'amd' 'arm' 'bsc' 'cray' 'fujitsu' 'gnu' 'ibm' 'intel' 'llvm' 'pgi' 'ti' 
'unknown'}}
+#pragma omp declare variant(foo) match(implementation={vendor(}) // 
expected-error {{expected ')'}} expected-warning {{expected identifier or 
string literal describing a context property; property skipped}} expected-note 
{{context property options are: 'amd' 'arm' 'bsc' 'cray' 'fujitsu' 'gnu' 'ibm' 
'intel' 'llvm' 'nec' 'nvidia' 'pgi' 'ti' 'unknown'}} expected-note {{to match 
this '('}}
+#pragma omp declare variant(foo) match(implementation={vendor()}) // 
expected-warning {{expected identifier or string literal describing a context 
property; property skipped}} expected-note {{context property options are: 
'amd' 'arm' 'bsc' 'cray' 'fujitsu' 'gnu' 'ibm' 'intel' 'llvm' 'nec' 'nvidia' 
'pgi' 'ti' 'unknown'}}
 #pragma omp declare variant(foo) match(implementation={vendor(score ibm)}) // 
expected-error {{expected '(' after 'score'}} expected-warning {{expected '':'' 
after the score expression; '':'' assumed}}
-#pragma omp declare variant(foo) match(implementation={vendor(score( ibm)}) // 
expected-error {{use of undeclared identifier 'ibm'}} expected-error {{expected 
')'}} expected-warning {{expected '':'' after the score expression; '':'' 
assumed}} expected-warning {{expected identifier or string literal describing a 
context property; property skipped}} expected-note {{context property options 
are: 'amd' 'arm' 'bsc' 'cray' 'fujitsu' 'gnu' 'ibm' 'intel' 'llvm' 'pgi' 'ti' 
'unknown'}} expected-note {{to match this '('}}
-#pragma omp declare variant(foo) match(implementation={vendor(score(2 ibm)}) 
// expected-error {{expected ')'}} expected-error {{expected ')'}} 
expected-warning {{expected '':'' after the score expression; '':'' assumed}} 
expected-warning {{expected identifier or string literal describing a context 
property; property skipped}} expected-note {{to match this '('}} expected-note 
{{context property options are: 'amd' 'arm' 'bsc' 'cray' 'fujitsu' 'gnu' 'ibm' 
'intel' 'llvm' 'pgi' 'ti' 'unknown'}} expected-note {{to match this '('}}
+#pragma omp declare variant(foo) match(implementation={vendor(score( ibm)}) // 
expected-error {{use of undeclared identifier 'ibm'}} expected-error {{expected 
')'}} expected-warning {{expected '':'' after the score expression; '':'' 
assumed}} expected-warning {{expected identifier or string literal describing a 
context property; property skipped}} expected-note {{context property options 
are: 'amd' 'arm' 'bsc' 'cray' 'fujitsu' 'gnu' 'ibm' 'intel' 'llvm' 'nec' 
'nvidia' 'pgi' 'ti' 'unknown'}} expected-note {{to match this '('}}
+#pragma omp declare variant(foo) match(implementation={vendor(score(2 ibm)}) 
// expected-error {{expected ')'}} expected-error {{expected ')'}} 
expected-warning {{expected '':'' after the score expression; '':'' assumed}} 
expected-warning {{expected identifier or string literal describing a context 
property; property skipped}} expected-note {{to match this '('}} expected-note 
{{context property options are: 'amd' 'arm' 'bsc' 'cray' 'fujitsu' 'gnu' 'ibm' 
'intel' 'llvm' 'nec' 'nvidia' 'pgi' 'ti' 'unknown'}} expected-note {{to match 
this '('}}
 #pragma omp declare variant(foo) match(implementation={vendor(score(foo()) 
ibm)}) // expected-warning {{expected '':'' after the score expression; '':'' 
assumed}} expected-warning {{score expressions in the OpenMP context selector 
need to be constant; foo() is not and will be ignored}}
 #pragma omp declare variant(foo) match(implementation={vendor(score(5): ibm), 
vendor(llvm)}) // expected-warning {{the context selector 'vendor' was used 
already in the same 'omp declare variant' directive; selector ignored}} 
expected-note {{the previous context selector 'vendor' used here}} 
expected-note {{the ignored selector spans until here}}
 #pragma omp declare variant(foo) match(implementation={vendor(score(5): ibm), 
kind(cpu)}) // expected-warning {{the context selector 'kind' is not valid for 
the context set 'implementation'; selector ignored}} expected-note {{the 
context selector 'kind' can be nested in the context set 'device'; try 
'match(device={kind(property)})'}} expected-note {{the ignored selector spans 
until here}}

diff  --git a/clang/test/OpenMP/declare_variant_messages.cpp 
b/clang/test/OpenMP/declare_variant_messages.cpp
index 9671df189e31e..c93fa4f911598 100644
--- a/clang/test/OpenMP/declare_variant_messages.cpp
+++ b/clang/test/OpenMP/declare_variant_messages.cpp
@@ -31,11 +31,11 @@ T foofoo();
 #pragma omp declare variant(foofoo <int>) match(implementation = {vvv}) 
implementation // expected-warning {{'vvv' is not a valid context selector for 
the context set 'implementation'; selector ignored}} expected-note {{context 
selector options are: 'vendor' 'extension' 'unified_address' 
'unified_shared_memory' 'reverse_offload' 'dynamic_allocators' 
'atomic_default_mem_order'}} expected-note {{the ignored selector spans until 
here}} expected-error {{expected 'match' clause on 'omp declare variant' 
directive}}
 #pragma omp declare variant(foofoo <int>) match(implementation={xxx}) // 
expected-warning {{'xxx' is not a valid context selector for the context set 
'implementation'; selector ignored}} expected-note {{context selector options 
are: 'vendor' 'extension' 'unified_address' 'unified_shared_memory' 
'reverse_offload' 'dynamic_allocators' 'atomic_default_mem_order'}} 
expected-note {{the ignored selector spans until here}}
 #pragma omp declare variant(foofoo <int>) match(implementation={vendor}) // 
expected-warning {{the context selector 'vendor' in context set 
'implementation' requires a context property defined in parentheses; selector 
ignored}} expected-note {{the ignored selector spans until here}}
-#pragma omp declare variant(foofoo <int>) match(implementation={vendor(}) // 
expected-error {{expected ')'}} expected-warning {{expected identifier or 
string literal describing a context property; property skipped}} expected-note 
{{context property options are: 'amd' 'arm' 'bsc' 'cray' 'fujitsu' 'gnu' 'ibm' 
'intel' 'llvm' 'pgi' 'ti' 'unknown'}} expected-note {{to match this '('}}
-#pragma omp declare variant(foofoo <int>) match(implementation={vendor()}) // 
expected-warning {{expected identifier or string literal describing a context 
property; property skipped}} expected-note {{context property options are: 
'amd' 'arm' 'bsc' 'cray' 'fujitsu' 'gnu' 'ibm' 'intel' 'llvm' 'pgi' 'ti' 
'unknown'}}
+#pragma omp declare variant(foofoo <int>) match(implementation={vendor(}) // 
expected-error {{expected ')'}} expected-warning {{expected identifier or 
string literal describing a context property; property skipped}} expected-note 
{{context property options are: 'amd' 'arm' 'bsc' 'cray' 'fujitsu' 'gnu' 'ibm' 
'intel' 'llvm' 'nec' 'nvidia' 'pgi' 'ti' 'unknown'}} expected-note {{to match 
this '('}}
+#pragma omp declare variant(foofoo <int>) match(implementation={vendor()}) // 
expected-warning {{expected identifier or string literal describing a context 
property; property skipped}} expected-note {{context property options are: 
'amd' 'arm' 'bsc' 'cray' 'fujitsu' 'gnu' 'ibm' 'intel' 'llvm' 'nec' 'nvidia' 
'pgi' 'ti' 'unknown'}}
 #pragma omp declare variant(foofoo <int>) match(implementation={vendor(score 
ibm)}) // expected-error {{expected '(' after 'score'}} expected-warning 
{{expected '':'' after the score expression; '':'' assumed}}
-#pragma omp declare variant(foofoo <int>) match(implementation={vendor(score( 
ibm)}) // expected-error {{use of undeclared identifier 'ibm'}} expected-error 
{{expected ')'}} expected-warning {{expected '':'' after the score expression; 
'':'' assumed}} expected-warning {{expected identifier or string literal 
describing a context property; property skipped}} expected-note {{context 
property options are: 'amd' 'arm' 'bsc' 'cray' 'fujitsu' 'gnu' 'ibm' 'intel' 
'llvm' 'pgi' 'ti' 'unknown'}} expected-note {{to match this '('}}
-#pragma omp declare variant(foofoo <int>) match(implementation={vendor(score(2 
ibm)}) // expected-error {{expected ')'}} expected-error {{expected ')'}} 
expected-warning {{expected '':'' after the score expression; '':'' assumed}} 
expected-warning {{expected identifier or string literal describing a context 
property; property skipped}} expected-note {{to match this '('}} expected-note 
{{context property options are: 'amd' 'arm' 'bsc' 'cray' 'fujitsu' 'gnu' 'ibm' 
'intel' 'llvm' 'pgi' 'ti' 'unknown'}} expected-note {{to match this '('}}
+#pragma omp declare variant(foofoo <int>) match(implementation={vendor(score( 
ibm)}) // expected-error {{use of undeclared identifier 'ibm'}} expected-error 
{{expected ')'}} expected-warning {{expected '':'' after the score expression; 
'':'' assumed}} expected-warning {{expected identifier or string literal 
describing a context property; property skipped}} expected-note {{context 
property options are: 'amd' 'arm' 'bsc' 'cray' 'fujitsu' 'gnu' 'ibm' 'intel' 
'llvm' 'nec' 'nvidia' 'pgi' 'ti' 'unknown'}} expected-note {{to match this '('}}
+#pragma omp declare variant(foofoo <int>) match(implementation={vendor(score(2 
ibm)}) // expected-error {{expected ')'}} expected-error {{expected ')'}} 
expected-warning {{expected '':'' after the score expression; '':'' assumed}} 
expected-warning {{expected identifier or string literal describing a context 
property; property skipped}} expected-note {{to match this '('}} expected-note 
{{context property options are: 'amd' 'arm' 'bsc' 'cray' 'fujitsu' 'gnu' 'ibm' 
'intel' 'llvm' 'nec' 'nvidia' 'pgi' 'ti' 'unknown'}} expected-note {{to match 
this '('}}
 #pragma omp declare variant(foofoo <int>) 
match(implementation={vendor(score(foofoo <int>()) ibm)}) // expected-warning 
{{expected '':'' after the score expression; '':'' assumed}} expected-warning 
{{score expressions in the OpenMP context selector need to be constant; 
foofoo<int>() is not and will be ignored}}
 #pragma omp declare variant(foofoo <int>) 
match(implementation={vendor(score(5): ibm), vendor(llvm)}) // expected-warning 
{{the context selector 'vendor' was used already in the same 'omp declare 
variant' directive; selector ignored}} expected-note {{the previous context 
selector 'vendor' used here}} expected-note {{the ignored selector spans until 
here}}
 #pragma omp declare variant(foofoo <int>) 
match(implementation={vendor(score(5): ibm), kind(cpu)}) // expected-warning 
{{the context selector 'kind' is not valid for the context set 
'implementation'; selector ignored}} expected-note {{the context selector 
'kind' can be nested in the context set 'device'; try 
'match(device={kind(property)})'}} expected-note {{the ignored selector spans 
until here}}
@@ -74,8 +74,8 @@ int bar();
 #pragma omp declare variant(foofoo <T>) match(implementation = {vvv} 
implementation) // expected-error {{expected ')'}} expected-warning {{'vvv' is 
not a valid context selector for the context set 'implementation'; selector 
ignored}} expected-note {{context selector options are: 'vendor' 'extension' 
'unified_address' 'unified_shared_memory' 'reverse_offload' 
'dynamic_allocators' 'atomic_default_mem_order'}} expected-note {{the ignored 
selector spans until here}} expected-note {{to match this '('}}
 #pragma omp declare variant(foofoo <T>) match(implementation = {vvv}) xxx // 
expected-warning {{'vvv' is not a valid context selector for the context set 
'implementation'; selector ignored}} expected-note {{context selector options 
are: 'vendor' 'extension' 'unified_address' 'unified_shared_memory' 
'reverse_offload' 'dynamic_allocators' 'atomic_default_mem_order'}} 
expected-note {{the ignored selector spans until here}} expected-error 
{{expected 'match' clause on 'omp declare variant' directive}}
 #pragma omp declare variant(foofoo <int>) match(implementation={vendor(score 
ibm)}) // expected-error {{expected '(' after 'score'}} expected-warning 
{{expected '':'' after the score expression; '':'' assumed}}
-#pragma omp declare variant(foofoo <int>) match(implementation={vendor(score( 
ibm)}) // expected-error {{use of undeclared identifier 'ibm'}} expected-error 
{{expected ')'}} expected-warning {{expected '':'' after the score expression; 
'':'' assumed}} expected-warning {{expected identifier or string literal 
describing a context property; property skipped}} expected-note {{context 
property options are: 'amd' 'arm' 'bsc' 'cray' 'fujitsu' 'gnu' 'ibm' 'intel' 
'llvm' 'pgi' 'ti' 'unknown'}} expected-note {{to match this '('}}
-#pragma omp declare variant(foofoo <int>) match(implementation={vendor(score(C 
ibm)}) // expected-error {{expected ')'}} expected-error {{expected ')'}} 
expected-warning {{expected '':'' after the score expression; '':'' assumed}} 
expected-warning {{expected identifier or string literal describing a context 
property; property skipped}} expected-note {{to match this '('}} expected-note 
{{context property options are: 'amd' 'arm' 'bsc' 'cray' 'fujitsu' 'gnu' 'ibm' 
'intel' 'llvm' 'pgi' 'ti' 'unknown'}} expected-note {{to match this '('}}
+#pragma omp declare variant(foofoo <int>) match(implementation={vendor(score( 
ibm)}) // expected-error {{use of undeclared identifier 'ibm'}} expected-error 
{{expected ')'}} expected-warning {{expected '':'' after the score expression; 
'':'' assumed}} expected-warning {{expected identifier or string literal 
describing a context property; property skipped}} expected-note {{context 
property options are: 'amd' 'arm' 'bsc' 'cray' 'fujitsu' 'gnu' 'ibm' 'intel' 
'llvm' 'nec' 'nvidia' 'pgi' 'ti' 'unknown'}} expected-note {{to match this '('}}
+#pragma omp declare variant(foofoo <int>) match(implementation={vendor(score(C 
ibm)}) // expected-error {{expected ')'}} expected-error {{expected ')'}} 
expected-warning {{expected '':'' after the score expression; '':'' assumed}} 
expected-warning {{expected identifier or string literal describing a context 
property; property skipped}} expected-note {{to match this '('}} expected-note 
{{context property options are: 'amd' 'arm' 'bsc' 'cray' 'fujitsu' 'gnu' 'ibm' 
'intel' 'llvm' 'nec' 'nvidia' 'pgi' 'ti' 'unknown'}} expected-note {{to match 
this '('}}
 #pragma omp declare variant(foofoo <int>) 
match(implementation={vendor(score(foofoo <int>()) ibm)}) // expected-warning 
{{expected '':'' after the score expression; '':'' assumed}}
 #pragma omp declare variant(foofoo <int>) 
match(implementation={vendor(score(C+5): ibm), vendor(llvm)}) // 
expected-warning {{the context selector 'vendor' was used already in the same 
'omp declare variant' directive; selector ignored}} expected-note {{the 
previous context selector 'vendor' used here}} expected-note {{the ignored 
selector spans until here}}
 #pragma omp declare variant(foofoo <int>) 
match(implementation={vendor(score(5): ibm), kind(cpu)}) // expected-warning 
{{the context selector 'kind' is not valid for the context set 
'implementation'; selector ignored}} expected-note {{the context selector 
'kind' can be nested in the context set 'device'; try 
'match(device={kind(property)})'}} expected-note {{the ignored selector spans 
until here}}

diff  --git a/llvm/include/llvm/Frontend/OpenMP/OMPKinds.def 
b/llvm/include/llvm/Frontend/OpenMP/OMPKinds.def
index 08bf5981cdc30..5e82925f1b83c 100644
--- a/llvm/include/llvm/Frontend/OpenMP/OMPKinds.def
+++ b/llvm/include/llvm/Frontend/OpenMP/OMPKinds.def
@@ -1130,6 +1130,8 @@ __OMP_TRAIT_PROPERTY(implementation, vendor, gnu)
 __OMP_TRAIT_PROPERTY(implementation, vendor, ibm)
 __OMP_TRAIT_PROPERTY(implementation, vendor, intel)
 __OMP_TRAIT_PROPERTY(implementation, vendor, llvm)
+__OMP_TRAIT_PROPERTY(implementation, vendor, nec)
+__OMP_TRAIT_PROPERTY(implementation, vendor, nvidia)
 __OMP_TRAIT_PROPERTY(implementation, vendor, pgi)
 __OMP_TRAIT_PROPERTY(implementation, vendor, ti)
 __OMP_TRAIT_PROPERTY(implementation, vendor, unknown)


        
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to