summaryrefslogtreecommitdiffstats
path: root/clang/test/OpenMP/declare_variant_ast_print.cpp
Commit message (Collapse)AuthorAgeFilesLines
* [OPENMP50]Add device/kind context selector support.Alexey Bataev2019-11-211-40/+40
| | | | | | | | | | | | Summary: Added basic parsing/sema support for device/kind context selector. Reviewers: jdoerfert Subscribers: rampitec, aheejin, fedor.sergeev, simoncook, guansong, s.egerton, hfinkel, kkwli0, caomhin, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D70245
* [OPENMP50]Simplify processing of context selector scores.Alexey Bataev2019-11-051-24/+24
| | | | | | If the context selector score was not specified, its value must be set to 0. Simplify the processing of unspecified scores + save memory in attribute representation.
* [OPENMP50]Register vendor name only once in vendor context selector.Alexey Bataev2019-10-101-1/+1
| | | | | | | No need to store multiple copies of the same vendor names in the context selector, keep only single copy. llvm-svn: 374363
* [OPENMP50]Multiple vendors in vendor context must be treated as logicalAlexey Bataev2019-10-081-4/+2
| | | | | | | | | | | | | and of vendors, not or. If several vendors are provided in the same vendor context trait, the context shall match only if all vendors are matching, not one of them. This is per OpenMP 5.0, 2.3.3 Matching and Scoring Context Selectors, all selectors in the construct, device, and implementation sets of the context selector appear in the corresponding trait set of the OpenMP context. llvm-svn: 374107
* [OPENMP50]Do not allow multiple same context traits in the same contextAlexey Bataev2019-10-081-3/+3
| | | | | | | | | | selector. According to OpenMP 5.0, 2.3.2 Context Selectors, Restrictions, each trait-selector-name can only be specified once. Added check for this restriction. llvm-svn: 374093
* [OPENMP50]Prohibit multiple context selector sets in context selectors.Alexey Bataev2019-10-081-20/+10
| | | | | | | | According to OpenMP 5.0, 2.3.2 Context Selectors, Restrictions, each trait-set-selector-name can only be specified once. Added check to implement this restriction. llvm-svn: 374072
* [OPENMP50]Allow functions in declare variant directive to have differentAlexey Bataev2019-10-081-0/+19
| | | | | | | | | | C linkage. After some discussion with OpenMP developers, it was decided that the functions with the different C linkage can be used in declare variant directive. llvm-svn: 374057
* [OPENMP50]Suppport for multiple vendors in the same vendor contextAlexey Bataev2019-10-041-1/+3
| | | | | | | | | selector. According to OpenMP 5.0, multiple vendors could be specified in the vendor context selector via ',' as a separator. llvm-svn: 373756
* [OPENMP50]Add parsing/sema analysis for declare variant score.Alexey Bataev2019-10-021-8/+13
| | | | | | | | Context selectors may include optional score clause in format `score(<expr>):`, where `<expr>` must be a constant integer expression. Added parsing/sema analysis only. llvm-svn: 373502
* [OPENMP50]Mark declare variant attribute as inheritable.Alexey Bataev2019-09-301-0/+9
| | | | | | Attribute must be inherited by the redeclarations. llvm-svn: 373257
* [OPENMP50]Emit warnings if the functions was defined/used before markedAlexey Bataev2019-09-261-2/+2
| | | | | | | | | declare variant. We can use the original function if it was used/emitted already. So, just use warnings for these cases, not errors. llvm-svn: 373010
* [OPENMP50]Parsing/sema support for 'implementation/vendor' contextAlexey Bataev2019-09-251-24/+48
| | | | | | | | | selector. Added basic parsing/semantic support for 'implementation={vendor(<vendor>)}' context selector. llvm-svn: 372917
* [OPENMP5.0]Allow multiple context selectors in the context selectorAlexey Bataev2019-09-181-1/+3
| | | | | | | | | sets. According to OpenMP 5.0, context selector set might include several context selectors, separated with commas. Patch fixes this problem. llvm-svn: 372235
* [OPENMP5.0]Introduce attribute for declare variant directive.Alexey Bataev2019-09-171-0/+161
Added attribute for declare variant directive. It will allow to handle declare variant directive at the codegen and will allow to add extra checks. llvm-svn: 372147
OpenPOWER on IntegriCloud