diff options
author | Mike Rice <michael.p.rice@intel.com> | 2022-05-11 11:26:07 -0700 |
---|---|---|
committer | Mike Rice <michael.p.rice@intel.com> | 2022-05-11 14:02:09 -0700 |
commit | 772b0c44a4296a34cbc072c2a7cf294410d07a1a (patch) | |
tree | 702616877b0f8954c491a85a9186df263e3e2c76 /clang/lib | |
parent | 6055837f6d2941bbc09e44dc88b6a39b934a7453 (diff) | |
download | llvm-772b0c44a4296a34cbc072c2a7cf294410d07a1a.zip llvm-772b0c44a4296a34cbc072c2a7cf294410d07a1a.tar.gz llvm-772b0c44a4296a34cbc072c2a7cf294410d07a1a.tar.bz2 |
[OpenMP] Fix mangling for linear parameters with negative stride
The 'n' character is used in place of '-' in the mangled name.
Differential Revision: https://reviews.llvm.org/D125406
Diffstat (limited to 'clang/lib')
-rw-r--r-- | clang/lib/CodeGen/CGOpenMPRuntime.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/clang/lib/CodeGen/CGOpenMPRuntime.cpp b/clang/lib/CodeGen/CGOpenMPRuntime.cpp index 52f6ca4..f197c33 100644 --- a/clang/lib/CodeGen/CGOpenMPRuntime.cpp +++ b/clang/lib/CodeGen/CGOpenMPRuntime.cpp @@ -11506,7 +11506,9 @@ static std::string mangleVectorParameters(ArrayRef<ParamAttrTy> ParamAttrs) { ParamAttr.Kind == LinearUVal || ParamAttr.Kind == LinearVal) { // Don't print the step value if it is not present or if it is // equal to 1. - if (ParamAttr.StrideOrArg != 1) + if (ParamAttr.StrideOrArg < 0) + Out << 'n' << -ParamAttr.StrideOrArg; + else if (ParamAttr.StrideOrArg != 1) Out << ParamAttr.StrideOrArg; } |