llvm-project/clang/test
Carlo Bertolli 4287d65c10 [OpenMP] Initial implementation of code generation for pragma 'distribute parallel for' on host
https://reviews.llvm.org/D29508

This patch makes the following additions:

1. It abstracts away loop bound generation code from procedures associated with pragma 'for' and loops in general, in such a way that the same procedures can be used for 'distribute parallel for' without the need for a full re-implementation.
2. It implements code generation for 'distribute parallel for' and adds regression tests. It includes tests for clauses.

It is important to notice that most of the clauses are implemented as part of existing procedures. For instance, firstprivate is already implemented for 'distribute' and 'for' as separate pragmas. As the implementation of 'distribute parallel for' is based on the same procedures, then we automatically obtain implementation for such clauses without the need to add new code. However, this requires regression tests that verify correctness of produced code.

Looking forward to comments.

llvm-svn: 301223
2017-04-24 19:26:11 +00:00
..
ARCMT [test] Port clang tests to canonicalized booleans 2017-01-25 13:11:45 +00:00
ASTMerge Revert r299355 "[ASTImporter] Fix for importing unnamed structs" 2017-04-03 21:06:45 +00:00
Analysis [analyzer] Fix assert in ExprEngine::processSwitch 2017-04-21 01:05:26 +00:00
CXX Rearrange some Modules TS testcases into test/CXX/modules-ts. 2017-04-22 00:47:53 +00:00
CodeCompletion [libclang] Fix crash in member access code completion with implicit base 2017-03-28 07:22:21 +00:00
CodeGen Move Split DWARF handling to an MC option/command line argument rather than using metadata 2017-04-21 23:35:36 +00:00
CodeGenCUDA Use FPContractModeKind universally 2017-03-29 21:54:24 +00:00
CodeGenCXX [Devirtualization] Emit invariant.group loads with empty group md 2017-04-24 12:58:43 +00:00
CodeGenCoroutines [coroutines] Fix building of new/delete expressions when get_return_object_on_allocation_failure() is present. 2017-04-18 03:12:48 +00:00
CodeGenObjC [ObjC] Mark loads from __NSArray0 and __NSDictionary0 as invariant.load. 2017-04-17 15:21:55 +00:00
CodeGenObjCXX [ObjC] Fix lifetime markers of loop variable in EmitObjCForCollectionStmt [take 2] 2017-04-14 16:53:25 +00:00
CodeGenOpenCL Debug Info: Remove special-casing of indirect function argument handling. 2017-04-18 01:22:01 +00:00
Coverage Handle StaticAssertDecl in DeclContextPrinter 2017-01-03 12:16:02 +00:00
CoverageMapping [Coverage] Don't emit mappings for functions in dependent contexts (fixes PR32679) 2017-04-19 17:58:30 +00:00
Driver Remove erroneous driver test for -fsanitize=fuzzer flag 2017-04-24 18:36:31 +00:00
FixIt Add #pragma clang attribute 2017-04-18 14:33:39 +00:00
Format [clang-format] Replace IncompleteFormat by a struct with Line 2017-04-21 14:35:20 +00:00
Frontend Add -iframeworkwithsysroot compiler option 2017-03-13 11:17:41 +00:00
Headers Use __CLANG_ATOMIC_TYPE_LOCK_FREE macros in `stdatomic.h` 2017-04-20 23:07:38 +00:00
Import [clang-import-test] Lookup inside contexts 2017-04-11 19:33:35 +00:00
Index [index] If the 'external_source_symbol' attribute indicates 'Swift' as the language then report it accordingly 2017-04-24 14:52:00 +00:00
Integration
Layout Print nested name specifiers for typedefs and type aliases 2017-03-10 15:04:58 +00:00
Lexer Do not warn about whitespace between ??/ trigraph and newline in line comments if trigraphs are disabled in the current language. 2017-04-18 21:45:04 +00:00
Misc Add #pragma clang attribute support to the availability attribute 2017-04-20 09:35:02 +00:00
Modules [modules] Properly look up the owning module for an instantiation of a merged template. 2017-04-21 01:15:13 +00:00
OpenMP [OpenMP] Initial implementation of code generation for pragma 'distribute parallel for' on host 2017-04-24 19:26:11 +00:00
PCH [Sema] Add __is_aggregate type-trait 2017-04-12 22:12:15 +00:00
Parser Rearrange some Modules TS testcases into test/CXX/modules-ts. 2017-04-22 00:47:53 +00:00
Preprocessor Add __CLANG_ATOMIC_<TYPE>_LOCK_FREE macros for use in MSVC compatibility mode. 2017-04-20 22:53:57 +00:00
Profile Weaken test/Profile/c-ternary.c 2017-02-25 07:21:23 +00:00
Rewriter [test] Port clang tests to canonicalized booleans 2017-01-25 13:11:45 +00:00
Sema [PR32667] -Wdocumentation should allow @param/@returns for fields/variables 2017-04-21 14:17:49 +00:00
SemaCUDA [CUDA] Let NVPTX inherit the host's calling conventions. 2017-01-05 16:53:38 +00:00
SemaCXX P0629R0: Switch to latest proposal for distinguishing module interface from implementation. 2017-04-21 22:39:18 +00:00
SemaObjC [Sema][ObjC] Disallow jumping into ObjC fast enumeration loops. 2017-04-19 17:54:08 +00:00
SemaObjCXX Sema: protect against ObjC++ typo-correction failure 2017-04-20 22:23:10 +00:00
SemaOpenCL [OpenCL] Fix semantic check of ndrange_t for device_side_enqueue. 2017-04-21 15:13:24 +00:00
SemaTemplate Revert "Address http://bugs.llvm.org/pr30994 so that a non-friend can properly replace a friend, and a visible friend can properly replace an invisible friend but not vice verse, and definitions are not replaced. This fixes the two FIXME in SemaTemplate/friend-template.cpp." 2017-04-17 20:57:40 +00:00
TableGen
Tooling [test] Port clang tests to canonicalized booleans 2017-01-25 13:11:45 +00:00
Unit [test] Extend llvm_shlib_dir fix to unittests 2016-12-15 20:31:08 +00:00
VFS
.clang-format
CMakeLists.txt Re-apply r292662, "IRGen: Start using the WriteThinLTOBitcode pass." 2017-01-26 23:51:50 +00:00
TestRunner.sh
cxx-sections.data
lit.cfg Add #pragma clang attribute 2017-04-18 14:33:39 +00:00
lit.site.cfg.in Add #pragma clang attribute 2017-04-18 14:33:39 +00:00
make_test_dirs.pl