llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT--> @llvm/pr-subscribers-clang Author: Zahira Ammarguellat (zahiraam) <details> <summary>Changes</summary> In https://github.com/llvm/llvm-project/pull/119891 we are introducing the support for `#pragma omp stripe` which is an OMP6.0 feature (see https://github.com/llvm/llvm-project/pull/119891/files#r1896944800). This PR changes the default option to 6.0. --- Patch is 161.89 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/122108.diff 35 Files Affected: - (modified) clang/lib/Frontend/CompilerInvocation.cpp (+2-2) - (modified) clang/lib/Frontend/InitPreprocessor.cpp (+6-3) - (modified) clang/lib/Parse/ParseOpenMP.cpp (+3-3) - (modified) clang/lib/Sema/SemaOpenMP.cpp (+1-1) - (modified) clang/test/OpenMP/declare_mapper_messages.c (+9-11) - (modified) clang/test/OpenMP/declare_mapper_messages.cpp (+2-2) - (modified) clang/test/OpenMP/declare_reduction_messages.cpp (+3-3) - (modified) clang/test/OpenMP/declare_simd_ast_print.c (-2) - (modified) clang/test/OpenMP/declare_simd_ast_print.cpp (+11-11) - (modified) clang/test/OpenMP/declare_simd_codegen.cpp (+80-56) - (modified) clang/test/OpenMP/declare_simd_messages.cpp (+8-7) - (modified) clang/test/OpenMP/declare_target_ast_print.cpp (+32-43) - (modified) clang/test/OpenMP/declare_target_codegen.cpp (+12) - (modified) clang/test/OpenMP/declare_target_messages.cpp (+21-29) - (modified) clang/test/OpenMP/declare_target_only_one_side_compilation.cpp (+2-2) - (modified) clang/test/OpenMP/declare_target_variables_ast_print.cpp (+1-1) - (modified) clang/test/OpenMP/depobj_ast_print.cpp (+6-6) - (modified) clang/test/OpenMP/depobj_codegen.cpp (+13-8) - (modified) clang/test/OpenMP/depobj_messages.cpp (+6-6) - (modified) clang/test/OpenMP/distribute_parallel_for_ast_print.cpp (+6-6) - (modified) clang/test/OpenMP/distribute_parallel_for_reduction_messages.cpp (+2-2) - (modified) clang/test/OpenMP/distribute_parallel_for_simd_ast_print.cpp (+6-6) - (modified) clang/test/OpenMP/distribute_parallel_for_simd_reduction_messages.cpp (+2-2) - (modified) clang/test/OpenMP/distribute_simd_ast_print.cpp (+6-6) - (modified) clang/test/OpenMP/distribute_simd_misc_messages.c (+4-4) - (modified) clang/test/OpenMP/distribute_simd_reduction_messages.cpp (+2-2) - (modified) clang/test/OpenMP/error_ast_print.cpp (+6-6) - (modified) clang/test/OpenMP/error_codegen.cpp (+2-2) - (modified) clang/test/OpenMP/error_message.cpp (+2-2) - (modified) clang/test/OpenMP/flush_ast_print.cpp (+6-6) - (modified) clang/test/OpenMP/flush_codegen.cpp (+9-9) - (modified) clang/test/OpenMP/for_linear_codegen.cpp (+193-422) - (modified) clang/test/OpenMP/for_linear_messages.cpp (+2-2) - (modified) clang/test/OpenMP/for_reduction_messages.cpp (+2-2) - (modified) clang/test/OpenMP/for_simd_ast_print.cpp (+6-6) ``````````diff diff --git a/clang/lib/Frontend/CompilerInvocation.cpp b/clang/lib/Frontend/CompilerInvocation.cpp index 348c56cc37da3f..edae9106432117 100644 --- a/clang/lib/Frontend/CompilerInvocation.cpp +++ b/clang/lib/Frontend/CompilerInvocation.cpp @@ -4174,7 +4174,7 @@ bool CompilerInvocation::ParseLangArgs(LangOptions &Opts, ArgList &Args, } // Check if -fopenmp is specified and set default version to 5.0. - Opts.OpenMP = Args.hasArg(OPT_fopenmp) ? 51 : 0; + Opts.OpenMP = Args.hasArg(OPT_fopenmp) ? 60 : 0; // Check if -fopenmp-simd is specified. bool IsSimdSpecified = Args.hasFlag(options::OPT_fopenmp_simd, options::OPT_fno_openmp_simd, @@ -4192,7 +4192,7 @@ bool CompilerInvocation::ParseLangArgs(LangOptions &Opts, ArgList &Args, if (Opts.OpenMP || Opts.OpenMPSimd) { if (int Version = getLastArgIntValue( Args, OPT_fopenmp_version_EQ, - (IsSimdSpecified || IsTargetSpecified) ? 51 : Opts.OpenMP, Diags)) + (IsSimdSpecified || IsTargetSpecified) ? 60 : Opts.OpenMP, Diags)) Opts.OpenMP = Version; // Provide diagnostic when a given target is not expected to be an OpenMP // device or host. diff --git a/clang/lib/Frontend/InitPreprocessor.cpp b/clang/lib/Frontend/InitPreprocessor.cpp index 29723b573e771a..90289c8d81962a 100644 --- a/clang/lib/Frontend/InitPreprocessor.cpp +++ b/clang/lib/Frontend/InitPreprocessor.cpp @@ -1460,12 +1460,15 @@ static void InitializePredefinedMacros(const TargetInfo &TI, case 50: Builder.defineMacro("_OPENMP", "201811"); break; + case 51: + Builder.defineMacro("_OPENMP", "202011"); + break; case 52: Builder.defineMacro("_OPENMP", "202111"); break; - default: // case 51: - // Default version is OpenMP 5.1 - Builder.defineMacro("_OPENMP", "202011"); + default: + // Default version is OpenMP 6.0 + Builder.defineMacro("_OPENMP", "202411"); break; } } diff --git a/clang/lib/Parse/ParseOpenMP.cpp b/clang/lib/Parse/ParseOpenMP.cpp index b4e973bc84a7b0..52adadf47e5103 100644 --- a/clang/lib/Parse/ParseOpenMP.cpp +++ b/clang/lib/Parse/ParseOpenMP.cpp @@ -4278,7 +4278,7 @@ bool Parser::parseMapTypeModifiers(SemaOpenMP::OpenMPVarListDataTy &Data) { Data.MapTypeModifiers.push_back(TypeModifier); Data.MapTypeModifiersLoc.push_back(Tok.getLocation()); if (PP.LookAhead(0).isNot(tok::comma) && - PP.LookAhead(0).isNot(tok::colon) && getLangOpts().OpenMP >= 52) + PP.LookAhead(0).isNot(tok::colon) && getLangOpts().OpenMP >= 61) Diag(Tok.getLocation(), diag::err_omp_missing_comma) << "map type modifier"; ConsumeToken(); @@ -4289,7 +4289,7 @@ bool Parser::parseMapTypeModifiers(SemaOpenMP::OpenMPVarListDataTy &Data) { if (parseMapperModifier(Data)) return true; if (Tok.isNot(tok::comma) && Tok.isNot(tok::colon) && - getLangOpts().OpenMP >= 52) + getLangOpts().OpenMP >= 61) Diag(Data.MapTypeModifiersLoc.back(), diag::err_omp_missing_comma) << "map type modifier"; @@ -4325,7 +4325,7 @@ bool Parser::parseMapTypeModifiers(SemaOpenMP::OpenMPVarListDataTy &Data) { } Diag(Tok, diag::err_omp_unknown_map_type_modifier) - << (getLangOpts().OpenMP >= 51 ? (getLangOpts().OpenMP >= 52 ? 2 : 1) + << (getLangOpts().OpenMP >= 51 ? (getLangOpts().OpenMP >= 60 ? 2 : 1) : 0) << getLangOpts().OpenMPExtensions; ConsumeToken(); diff --git a/clang/lib/Sema/SemaOpenMP.cpp b/clang/lib/Sema/SemaOpenMP.cpp index 66ff92f554fc42..2bb8cfc3e74882 100644 --- a/clang/lib/Sema/SemaOpenMP.cpp +++ b/clang/lib/Sema/SemaOpenMP.cpp @@ -18407,7 +18407,7 @@ static bool actOnOMPReductionKindClause( // Minus(-) operator is not supported in TR11 (OpenMP 6.0). Setting BOK to // BO_Comma will automatically diagnose it for OpenMP > 52 as not allowed // reduction identifier. - if (S.LangOpts.OpenMP > 52) + if (S.LangOpts.OpenMP > 60) BOK = BO_Comma; else BOK = BO_Add; diff --git a/clang/test/OpenMP/declare_mapper_messages.c b/clang/test/OpenMP/declare_mapper_messages.c index 288caca097648c..c9d1c10dea43e9 100644 --- a/clang/test/OpenMP/declare_mapper_messages.c +++ b/clang/test/OpenMP/declare_mapper_messages.c @@ -33,12 +33,10 @@ struct vec { // expec #pragma omp declare mapper(int v) map(v) // expected-error {{mapper type must be of struct, union or class type}} #ifndef OMP52 -// omp51-simd-error@+6 {{incorrect map type modifier, expected one of: 'always', 'close', 'mapper', 'present', 'ompx_hold'}} -// omp50-error@+5 {{incorrect map type modifier, expected one of: 'always', 'close', 'mapper', 'ompx_hold'}} -// omp51-error@+4 {{incorrect map type modifier, expected one of: 'always', 'close', 'mapper', 'present', 'ompx_hold'}} -// expected-error@+3 {{only variable 'vvec' is allowed in map clauses of this 'omp declare mapper' directive}} -// expected-error@+2 {{expected at least one clause on '#pragma omp declare mapper' directive}} -// expected-note@+1 {{'it' declared here}} +// omp50-error@+4 {{incorrect map type modifier, expected one of: 'always', 'close', 'mapper', 'ompx_hold'}} +// omp50-error@+3 {{only variable 'vvec' is allowed in map clauses of this 'omp declare mapper' directive}} +// omp50-error@+2 {{expected at least one clause on '#pragma omp declare mapper' directive}} +// omp50-note@+1 {{'it' declared here}} #pragma omp declare mapper(id2: struct vec vvec) map(iterator(it=0:vvec.len:2), tofrom:vvec.data[it]) #else @@ -68,15 +66,15 @@ int fun(int arg) { {} #pragma omp target map(mapper(aa :vv) // expected-error {{use of undeclared identifier 'aa'}} expected-error {{expected ')'}} expected-error {{call to undeclared function 'mapper'}} expected-note {{to match this '('}} {} -#pragma omp target map(mapper(ab) :vv) // expected-error {{missing map type}} expected-error {{cannot find a valid user-defined mapper for type 'struct vec' with name 'ab'}} +#pragma omp target map(mapper(ab) :vv) // omp50-error {{missing map type}} // omp52-error {{missing map type}} expected-error {{cannot find a valid user-defined mapper for type 'struct vec' with name 'ab'}} {} -#pragma omp target map(mapper(ab) :arr[0:2]) // expected-error {{missing map type}} expected-error {{cannot find a valid user-defined mapper for type 'struct vec' with name 'ab'}} +#pragma omp target map(mapper(ab) :arr[0:2]) // omp50-error {{missing map type}} // omp52-error {{missing map type}} expected-error {{cannot find a valid user-defined mapper for type 'struct vec' with name 'ab'}} {} -#pragma omp target map(mapper(aa) :vv) // expected-error {{missing map type}} +#pragma omp target map(mapper(aa) :vv) // omp50-error {{missing map type}} // omp52-error {{missing map type}} {} -#pragma omp target map(mapper(aa) to:d) // expected-error {{mapper type must be of struct, union or class type}} omp52-error{{missing ',' after map type modifier}} +#pragma omp target map(mapper(aa) to:d) // expected-error {{mapper type must be of struct, union or class type}} {} -#pragma omp target map(mapper(aa) to:vv) map(close mapper(aa) from:v1) map(mapper(aa) to:arr[0]) // omp52-error 4 {{missing ',' after map type modifier}} +#pragma omp target map(mapper(aa) to:vv) map(close mapper(aa) from:v1) map(mapper(aa) to:arr[0]) {} #pragma omp target update to(mapper) // expected-error {{expected '(' after 'mapper'}} expected-error {{expected expression}} expected-error {{expected at least one 'to' clause or 'from' clause specified to '#pragma omp target update'}} diff --git a/clang/test/OpenMP/declare_mapper_messages.cpp b/clang/test/OpenMP/declare_mapper_messages.cpp index f2101786f6ce02..2816c9c8f5a8ea 100644 --- a/clang/test/OpenMP/declare_mapper_messages.cpp +++ b/clang/test/OpenMP/declare_mapper_messages.cpp @@ -72,13 +72,13 @@ int fun(int arg) { {} #pragma omp target map(mapper(aa :vv) // expected-error {{use of undeclared identifier 'aa'}} expected-error {{expected ')'}} expected-note {{to match this '('}} {} -#pragma omp target map(mapper(ab) :vv) // expected-error {{missing map type}} expected-error {{cannot find a valid user-defined mapper for type 'vec' with name 'ab'}} +#pragma omp target map(mapper(ab) :vv) // omp50-error {{missing map type}} expected-error {{cannot find a valid user-defined mapper for type 'vec' with name 'ab'}} {} #pragma omp target map(mapper(N2::) :vv) // expected-error {{use of undeclared identifier 'N2'}} expected-error {{illegal OpenMP user-defined mapper identifier}} {} #pragma omp target map(mapper(N1::) :vv) // expected-error {{illegal OpenMP user-defined mapper identifier}} {} -#pragma omp target map(mapper(aa) :vv) // expected-error {{missing map type}} +#pragma omp target map(mapper(aa) :vv) // omp50-error {{missing map type}} {} #pragma omp target map(mapper(N1::aa) alloc:vv) // expected-error {{cannot find a valid user-defined mapper for type 'vec' with name 'aa'}} {} diff --git a/clang/test/OpenMP/declare_reduction_messages.cpp b/clang/test/OpenMP/declare_reduction_messages.cpp index 752cc4fb05a123..cffc52b3f0c0e9 100644 --- a/clang/test/OpenMP/declare_reduction_messages.cpp +++ b/clang/test/OpenMP/declare_reduction_messages.cpp @@ -96,7 +96,7 @@ T foo(T arg) { #pragma omp parallel reduction (red1 : i) { } - #pragma omp parallel reduction (red2 : i) // expected-error {{incorrect reduction identifier, expected one of '+', '-', '*', '&', '|', '^', '&&', '||', 'min' or 'max' or declare reduction for type 'int'}} + #pragma omp parallel reduction (red2 : i) // expected-error {{incorrect reduction identifier, expected one of '+', '*', '&', '|', '^', '&&', '||', 'min' or 'max' or declare reduction for type 'int'}} { } } @@ -110,7 +110,7 @@ T foo(T arg) { #pragma omp parallel reduction (red1 : i) { } - #pragma omp parallel reduction (red2 : i) // expected-error {{incorrect reduction identifier, expected one of '+', '-', '*', '&', '|', '^', '&&', '||', 'min' or 'max' or declare reduction for type 'int'}} + #pragma omp parallel reduction (red2 : i) // expected-error {{incorrect reduction identifier, expected one of '+', '*', '&', '|', '^', '&&', '||', 'min' or 'max' or declare reduction for type 'int'}} { } } @@ -127,7 +127,7 @@ int main() { #pragma omp parallel reduction (::Class1<int>::fun : c1) { } - #pragma omp parallel reduction (::Class2<int>::fun : i) // expected-error {{incorrect reduction identifier, expected one of '+', '-', '*', '&', '|', '^', '&&', '||', 'min' or 'max' or declare reduction for type 'int'}} + #pragma omp parallel reduction (::Class2<int>::fun : i) // expected-error {{incorrect reduction identifier, expected one of '+', '*', '&', '|', '^', '&&', '||', 'min' or 'max' or declare reduction for type 'int'}} { } return fun(15) + foo(15); // expected-note {{in instantiation of function template specialization 'foo<int>' requested here}} diff --git a/clang/test/OpenMP/declare_simd_ast_print.c b/clang/test/OpenMP/declare_simd_ast_print.c index 990a6cd8c6507f..6ff08084b50833 100644 --- a/clang/test/OpenMP/declare_simd_ast_print.c +++ b/clang/test/OpenMP/declare_simd_ast_print.c @@ -12,12 +12,10 @@ #pragma omp declare simd aligned(b : 64) #pragma omp declare simd simdlen(32) aligned(d, b) -#pragma omp declare simd inbranch, uniform(d) linear(val(s1, s2) : 32) #pragma omp declare simd notinbranch simdlen(2), uniform(s1, s2) linear(d: s1) void add_1(float *d, int s1, float *s2, double b[]) __attribute__((cold)); // CHECK: #pragma omp declare simd notinbranch simdlen(2) uniform(s1, s2) linear(val(d): s1){{$}} -// CHECK-NEXT: #pragma omp declare simd inbranch uniform(d) linear(val(s1): 32) linear(val(s2): 32){{$}} // CHECK-NEXT: #pragma omp declare simd simdlen(32) aligned(d) aligned(b){{$}} // CHECK-NEXT: #pragma omp declare simd aligned(b: 64){{$}} // CHECK-NEXT: void add_1(float *d, int s1, float *s2, double b[]) __attribute__((cold)) diff --git a/clang/test/OpenMP/declare_simd_ast_print.cpp b/clang/test/OpenMP/declare_simd_ast_print.cpp index 2704aae8617f2d..d6e4500ee643fd 100644 --- a/clang/test/OpenMP/declare_simd_ast_print.cpp +++ b/clang/test/OpenMP/declare_simd_ast_print.cpp @@ -63,22 +63,22 @@ class VV { // CHECK-NEXT: int add(int a, int b) __attribute__((cold)) { // CHECK-NEXT: return a + b; // CHECK-NEXT: } - #pragma omp declare simd uniform(this, a) linear(val(b): a) + #pragma omp declare simd uniform(this, a) linear(b: a) int add(int a, int b) __attribute__((cold)) { return a + b; } - // CHECK: #pragma omp declare simd aligned(b: 4) aligned(a) linear(ref(b): 4) linear(val(this)) linear(val(a)) + // CHECK: #pragma omp declare simd aligned(b: 4) aligned(a) linear(val(b): 4) linear(val(this)) linear(val(a)) // CHECK-NEXT: float taddpf(float *a, float *&b) { // CHECK-NEXT: return *a + *b; // CHECK-NEXT: } - #pragma omp declare simd aligned (b: 4) aligned(a) linear(ref(b): 4) linear(this, a) + #pragma omp declare simd aligned (b: 4) aligned(a) linear(b: 4) linear(this, a) float taddpf(float *a, float *&b) { return *a + *b; } // CHECK: #pragma omp declare simd aligned(b: 8) -// CHECK-NEXT: #pragma omp declare simd linear(uval(c): 8) +// CHECK-NEXT: #pragma omp declare simd linear(val(c): 8) // CHECK-NEXT: int tadd(int (&b)[], int &c) { // CHECK-NEXT: return this->x[b[0]] + b[0]; // CHECK-NEXT: } - #pragma omp declare simd linear(uval(c): 8) + #pragma omp declare simd linear(c: 8) #pragma omp declare simd aligned(b : 8) int tadd(int (&b)[], int &c) { return x[b[0]] + b[0]; } @@ -89,7 +89,7 @@ class VV { // CHECK: template <int X, typename T> class TVV { // CHECK: #pragma omp declare simd simdlen(X) // CHECK-NEXT: int tadd(int a, int b) { -// CHECK: #pragma omp declare simd aligned(a: X * 2) aligned(b) linear(ref(b): X) +// CHECK: #pragma omp declare simd aligned(a: X * 2) aligned(b) linear(val(b): X) // CHECK-NEXT: float taddpf(float *a, T *&b) { // CHECK-NEXT: return *a + *b; // CHECK-NEXT: } @@ -109,10 +109,10 @@ class TVV { // CHECK: #pragma omp declare simd simdlen(16) // CHECK-NEXT: int tadd(int a, int b); - #pragma omp declare simd aligned(a : X * 2) aligned(b) linear(ref(b): X) + #pragma omp declare simd aligned(a : X * 2) aligned(b) linear(b: X) float taddpf(float *a, T *&b) { return *a + *b; } -// CHECK: #pragma omp declare simd aligned(a: 16 * 2) aligned(b) linear(ref(b): 16) +// CHECK: #pragma omp declare simd aligned(a: 16 * 2) aligned(b) linear(val(b): 16) // CHECK-NEXT: float taddpf(float *a, float *&b) { // CHECK-NEXT: return *a + *b; // CHECK-NEXT: } @@ -132,11 +132,11 @@ class TVV { }; // CHECK: }; -// CHECK: #pragma omp declare simd simdlen(N) aligned(b: N * 2) linear(uval(c): N) +// CHECK: #pragma omp declare simd simdlen(N) aligned(b: N * 2) linear(val(c): N) // CHECK: template <int N> void foo(int (&b)[N], float *&c) -// CHECK: #pragma omp declare simd simdlen(64) aligned(b: 64 * 2) linear(uval(c): 64) +// CHECK: #pragma omp declare simd simdlen(64) aligned(b: 64 * 2) linear(val(c): 64) // CHECK: template<> void foo<64>(int (&b)[64], float *&c) -#pragma omp declare simd simdlen(N) aligned(b : N * 2) linear(uval(c): N) +#pragma omp declare simd simdlen(N) aligned(b : N * 2) linear(c: N) template <int N> void foo(int (&b)[N], float *&c); diff --git a/clang/test/OpenMP/declare_simd_codegen.cpp b/clang/test/OpenMP/declare_simd_codegen.cpp index d7bd798798294e..cca036ba3e7748 100644 --- a/clang/test/OpenMP/declare_simd_codegen.cpp +++ b/clang/test/OpenMP/declare_simd_codegen.cpp @@ -48,13 +48,13 @@ void h(int *hp, int *hp2, int *hq, int *lin) { class VV { public: -#pragma omp declare simd uniform(this, a) linear(val(b) : a) +#pragma omp declare simd uniform(this, a) linear(b : a) int add(int a, int b) __attribute__((cold)) { return a + b; } -#pragma omp declare simd aligned(b : 4) aligned(a) linear(ref(b) : 4) linear(this, a) +#pragma omp declare simd aligned(b : 4) aligned(a) linear(b : 4) linear(this, a) float taddpf(float *a, float *&b) { return *a + *b; } -#pragma omp declare simd linear(uval(c) : 8) +#pragma omp declare simd linear(c : 8) #pragma omp declare simd aligned(b : 8) int tadd(int (&b)[], int &c) { return x[b[0]] + b[0]; } @@ -68,7 +68,7 @@ class TVV { #pragma omp declare simd simdlen(X) int tadd(int a, int b) { return a + b; } -#pragma omp declare simd aligned(a : X * 2) aligned(b) linear(ref(b) : X) +#pragma omp declare simd aligned(a : X * 2) aligned(b) linear(b : X) float taddpf(float *a, T *&b) { return *a + *b; } #pragma omp declare simd @@ -79,7 +79,7 @@ class TVV { int x[X]; }; -#pragma omp declare simd simdlen(N) aligned(b : N * 2) linear(uval(c) : N) +#pragma omp declare simd simdlen(N) aligned(b : N * 2) linear(c : N) template <int N> void foo(int (&b)[N], float *&c) {} @@ -148,20 +148,20 @@ double One(int &a, int *b, int c, int &d, int *e, int f) { } // linear(val(x)) cases -#pragma omp declare simd simdlen(4) linear(val(a):2) linear(val(b):4) \ - linear(val(c):8) linear(val(d,e,f)) +#pragma omp declare simd simdlen(4) linear(a:2) linear(b:4) \ + linear(c:8) linear(d,e,f) double Two(int &a, int *b, int c, int &d, int *e, int f) { return a + *b + c; } // linear(uval(x) case -#pragma omp declare simd simdlen(4) linear(uval(a):2) linear(uval(b)) +#pragma omp declare simd simdlen(4) linear(a:2) linear(b) double Three(int &a, int &b) { return a; } // linear(ref(x) case -#pragma omp declare simd simdlen(4) linear(ref(a):2) linear(ref(b)) +#pragma omp declare simd simdlen(4) linear(a:2) linear(b) double Four(int& a, int &b) { return a; } @@ -169,9 +169,9 @@ double Four(int& a, int &b) { // Test reference parameters with variable stride. #pragma omp declare simd simdlen(4) uniform(a) \ linear(b:2) linear(c:a) \ - linear(val(d):4) linear(val(e):a) \ - linear(uval(f):8) linear(uval(g):a) \ - linear(ref(h):16) linear(ref(i):a) + linear(d:4) linear(e:a) \ + linear(f:8) linear(g:a) \ + linear(h:16) linear(i:a) double Five(int a, short &b, short &c, short &d, short &e, short &f, short &g, short &h, short &i) { return a + int(b); @@ -179,7 +179,7 @@ double Five(int a, short &b, short &c, short &d, short &e, short &f, short &g, // Test negative strides #pragma omp declare simd simdlen(4) linear(a:-2) linear(b:-8) \ - linear(uval(c):-4) linear(ref(d):-16) \ + linear(c:-4) linear(d:-16) \ linear(e:-1) linear(f:-1) linear(g:0) double Six(int a, float *b, int &c, int *&d, char e, char *f, short g) { return a + int(*b) + c + *d + e + *f + g; @@ -273,40 +273,40 @@ double Six(int a, float *b, int &c, int *&d, char e, char *f, short g) { // CHECK-DAG: "_ZGVeM16uuls1__ZN2VV3addEii" // CHECK-DAG: "_ZGVeN16uuls1__ZN2VV3addEii" -// CHECK-DAG: "_ZGVbM4l40l4a16R32a4__ZN2VV6taddpfEPfRS0_" -// CHECK-DAG: "_ZGVbN4l40l4a16R32a4__ZN2VV6taddpfEPfRS0_" -// CHECK-DAG: "_ZGVcM8l40l4a16R32a4__ZN2VV6taddpfEPfRS0_" -// CHECK-DAG: "_ZGVcN8l40l4a16R32a4__ZN2VV6taddpfEPfRS0_" -// CHECK-DAG: "_ZGVdM8l40l4a16R32a4__ZN2VV6taddpfEPfRS0_" -// CHECK-DAG: "_ZGVdN8l40l4a16R32a4__ZN2VV6taddpfEPfRS0_" -// CHECK-DAG: "_ZGVeM16l40l4a16R32a4__ZN2VV6taddpfEPfRS0_" -// CHECK-DAG: "_ZGVeN16l40l4a16R32a4__ZN2VV6taddpfEPfRS0_" - -// CHECK-DAG: "... [truncated] `````````` </details> https://github.com/llvm/llvm-project/pull/122108 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits