summaryrefslogtreecommitdiff
path: root/clang/test/OpenMP/declare_simd_codegen.cpp
AgeCommit message (Collapse)Author
2022-05-13[OpenMP] Fix declare simd use on in-class member template functionMike Rice
Return the Decl when parsing the template member declaration so the 'omp declare simd' pragma can be applied to it. Previously a nullptr was returned causing an error applying the pragma. Fixes #52700. Differential Revision: https://reviews.llvm.org/D125493
2022-05-11[OpenMP] Fix mangling for linear parameters with negative strideMike Rice
The 'n' character is used in place of '-' in the mangled name. Differential Revision: https://reviews.llvm.org/D125406
2022-05-10[OpenMP] Fix mangling for linear modifiers with variable strideMike Rice
This adds support for variable stride with the val, uval, and ref linear modifiers. Previously only the no modifer type ls<argno> was supported. val -> Ls<argno> uval -> Us<argno> ref -> Rs<argno> Differential Revision: https://reviews.llvm.org/D125330
2022-05-10[OpenMP] Add mangling support for linear modifiers (ref,uval,val)Mike Rice
Add mangling for linear parameters specified with ref, uval, and val for 'omp declare simd' vector functions. Add missing stride for linear this parameters. Differential Revision: https://reviews.llvm.org/D125269
2022-03-24Eliminate extra set of simd variant function attribute.Jennifer Yu
Current clang generates extra set of simd variant function attribute with extra 'v' encoding. For example: _ZGVbN2v__Z5add_1Pf vs _ZGVbN2vv__Z5add_1Pf The problem is due to declaration of ParamAttrs following: llvm::SmallVector<ParamAttrTy, 8> ParamAttrs(ParamPositions.size()); where ParamPositions.size() is grown after following assignment: Pos = ParamPositions[PVD]; So the PVD is not find in ParamPositions. The problem is ParamPositions need to set for each FD decl. To fix this Move ParamPositions's init inside while loop for each FD. Differential Revision: https://reviews.llvm.org/D122338
2020-05-01[clang][OpenMP] Fix mangling of linear parameters.Francesco Petrogalli
Summary: The linear parameter token in the mangling function must be multiplied by the pointee size in bytes when the parameter is a pointer. Reviewers: ABataev, andwar, jdoerfert Subscribers: yaxunl, guansong, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D78965
2020-03-02[OpenMP] Allow const parameters in declare simd linear clauseGraham Hunter
Reviewers: ABataev, kkwli0, jdoerfert, fpetrogalli Reviewed By: ABataev, fpetrogalli Differential Revision: https://reviews.llvm.org/D75350
2018-03-02[OPENMP] Scan all redeclarations looking for `declare simd` attribute.Alexey Bataev
Patch fixes the problem with the functions marked as `declare simd`. If the canonical declaration does not have associated `declare simd` construct, we may not generate required code even if other redeclarations are marked as `declare simd`. llvm-svn: 326594
2017-12-29[OPENMP] Support for -fopenmp-simd option with compilation of simd loopsAlexey Bataev
only. Added support for -fopenmp-simd option that allows compilation of simd-based constructs without emission of OpenMP runtime calls. llvm-svn: 321560
2017-12-15[OPENMP] Codegen `declare simd` for function declarations.Alexey Bataev
Previously the attributes were emitted only for function definitions. Patch adds emission of the attributes for function declarations. llvm-svn: 320826
2016-10-21Remove unnecessary x86 backend requirements from OpenMP testsReid Kleckner
Clang can generate LLVM IR for x86 without a registered x86 backend. llvm-svn: 284836
2016-05-06[OPENMP 4.0] Codegen for 'declare simd' directive.Alexey Bataev
OpenMP 4.0 adds support for elemental functions using declarative directive '#pragma omp declare simd'. Patch adds mangling for simd functions in accordance with https://sourceware.org/glibc/wiki/libmvec?action=AttachFile&do=view&target=VectorABI.txt llvm-svn: 268721