|
Revision tags: llvmorg-10.0.0-rc1, llvmorg-11-init, llvmorg-9.0.1, llvmorg-9.0.1-rc3, llvmorg-9.0.1-rc2, llvmorg-9.0.1-rc1 |
|
| #
8bbf2e37 |
| 04-Nov-2019 |
Alexey Bataev <a.bataev@hotmail.com> |
[OPENMP50]Support for imperfectly nested loops.
Added support for imperfectly nested loops introduced in OpenMP 5.0.
|
| #
658ad4d4 |
| 01-Oct-2019 |
Alexey Bataev <a.bataev@hotmail.com> |
[OPENMP]Fix PR43516: Compiler crash with collapse(2) on non-rectangular loop.
Missed check if the condition is also dependent when building final expressions for the collapsed loop directives.
llvm
[OPENMP]Fix PR43516: Compiler crash with collapse(2) on non-rectangular loop.
Missed check if the condition is also dependent when building final expressions for the collapsed loop directives.
llvm-svn: 373348
show more ...
|
|
Revision tags: llvmorg-9.0.0, llvmorg-9.0.0-rc6, llvmorg-9.0.0-rc5, llvmorg-9.0.0-rc4, llvmorg-9.0.0-rc3 |
|
| #
07a3b592 |
| 23-Aug-2019 |
Alexey Bataev <a.bataev@hotmail.com> |
[OPENMP5]Use nonmonotonic modifier by default for non-static and non-ordered loops.
According to OpenMP 5.0, 2.9.2 Worksharing-Loop Construct, Desription, If the static schedule kind is specified or
[OPENMP5]Use nonmonotonic modifier by default for non-static and non-ordered loops.
According to OpenMP 5.0, 2.9.2 Worksharing-Loop Construct, Desription, If the static schedule kind is specified or if the ordered clause is specified, and if the nonmonotonic modifier is not specified, the effect is as if the monotonic modifier is specified. Otherwise, unless the monotonic modifier is specified, the effect is as if the nonmonotonic modifier is specified. The first part of this requirement is implemented in runtime. Patch adds support for the second, nonmonotonic, part of this requirement.
llvm-svn: 369801
show more ...
|
| #
f8be476f |
| 14-Aug-2019 |
Alexey Bataev <a.bataev@hotmail.com> |
[OPENMP]Support for non-rectangular loops.
Added basic support for non-rectangular loops. It requires an additional analysis of min/max boundaries for non-rectangular loops. Since only linear depend
[OPENMP]Support for non-rectangular loops.
Added basic support for non-rectangular loops. It requires an additional analysis of min/max boundaries for non-rectangular loops. Since only linear dependency is allowed, we can do this analysis.
llvm-svn: 368903
show more ...
|
|
Revision tags: llvmorg-9.0.0-rc2, llvmorg-9.0.0-rc1, llvmorg-10-init, llvmorg-8.0.1, llvmorg-8.0.1-rc4, llvmorg-8.0.1-rc3, llvmorg-8.0.1-rc2, llvmorg-8.0.1-rc1, llvmorg-8.0.0, llvmorg-8.0.0-rc5, llvmorg-8.0.0-rc4, llvmorg-8.0.0-rc3, llvmorg-7.1.0, llvmorg-7.1.0-rc1, llvmorg-8.0.0-rc2 |
|
| #
316ccf60 |
| 29-Jan-2019 |
Alexey Bataev <a.bataev@hotmail.com> |
[OPENMP]Make the loop with unsigned counter countable.
According to the report, better to keep the original strict compare operation as the loop condition with unsigned loop counters to make the loo
[OPENMP]Make the loop with unsigned counter countable.
According to the report, better to keep the original strict compare operation as the loop condition with unsigned loop counters to make the loop countable. This allows further loop transformations.
llvm-svn: 352526
show more ...
|
|
Revision tags: llvmorg-8.0.0-rc1 |
|
| #
67796064 |
| 09-Jan-2019 |
Gheorghe-Teodor Bercea <gheorghe-teod.bercea@ibm.com> |
[OpenMP] Avoid remainder operations for loop index values on a collapsed loop nest.
Summary: Change the strategy for computing loop index variables after collapsing a loop nest via the collapse clau
[OpenMP] Avoid remainder operations for loop index values on a collapsed loop nest.
Summary: Change the strategy for computing loop index variables after collapsing a loop nest via the collapse clause by replacing the expensive remainder operation with multiplications and additions.
Reviewers: ABataev, caomhin
Reviewed By: ABataev
Subscribers: guansong, arphaman, cfe-commits
Differential Revision: https://reviews.llvm.org/D56413
llvm-svn: 350759
show more ...
|
| #
0535137e |
| 20-Dec-2018 |
Michael Kruse <llvm@meinersbur.de> |
[CodeGen] Generate llvm.loop.parallel_accesses instead of llvm.mem.parallel_loop_access metadata.
Instead of generating llvm.mem.parallel_loop_access metadata, generate llvm.access.group on instruct
[CodeGen] Generate llvm.loop.parallel_accesses instead of llvm.mem.parallel_loop_access metadata.
Instead of generating llvm.mem.parallel_loop_access metadata, generate llvm.access.group on instructions and llvm.loop.parallel_accesses on loops. There is one access group per generated loop.
This is clang part of D52116/r349725.
Differential Revision: https://reviews.llvm.org/D52117
llvm-svn: 349823
show more ...
|
|
Revision tags: llvmorg-7.0.1, llvmorg-7.0.1-rc3 |
|
| #
d586bc6d |
| 20-Nov-2018 |
Joel E. Denny <jdenny.ornl@gmail.com> |
[OpenMP] Update CHECK-DAG usage in for_codegen.cpp
This patch adjusts a test not to depend on deprecated FileCheck behavior that permits overlapping matches within a block of CHECK-DAG directives.
[OpenMP] Update CHECK-DAG usage in for_codegen.cpp
This patch adjusts a test not to depend on deprecated FileCheck behavior that permits overlapping matches within a block of CHECK-DAG directives. Thus, this patch also removes uses of FileCheck's -allow-deprecated-dag-overlap command-line option.
Specifically, the FileCheck variables DBG_LOC_START, DBG_LOC_END, and DBG_LOC_CANCEL were all set to the same value. As a result, three TERM_DEBUG-DAG patterns, one for each variable, all matched the same text under the old overlapping behavior. Under the new non-overlapping behavior, that's not permitted. This patch's solution is to replace these variables with one variable and replace these patterns with one pattern.
Reviewed By: ABataev
Differential Revision: https://reviews.llvm.org/D54764
llvm-svn: 347350
show more ...
|
|
Revision tags: llvmorg-7.0.1-rc2, llvmorg-7.0.1-rc1, llvmorg-7.0.0, llvmorg-7.0.0-rc3 |
|
| #
e1ca7b61 |
| 29-Aug-2018 |
Mike Rice <michael.p.rice@intel.com> |
[OPENMP] Create non-const ident_t objects.
Currently ident_t objects are created const when debug info is not enabled, but the libittnotify libray in the OpenMP runtime writes to the reserved_2 fiel
[OPENMP] Create non-const ident_t objects.
Currently ident_t objects are created const when debug info is not enabled, but the libittnotify libray in the OpenMP runtime writes to the reserved_2 field (See __kmp_itt_region_forking in openmp/runtime/src/kmp_itt.inl). Now create ident_t objects non-const.
Differential Revision: https://reviews.llvm.org/D51331
llvm-svn: 340934
show more ...
|
|
Revision tags: llvmorg-7.0.0-rc2, llvmorg-7.0.0-rc1 |
|
| #
72c27830 |
| 11-Jul-2018 |
Joel E. Denny <jdenny.ornl@gmail.com> |
[FileCheck] Add -allow-deprecated-dag-overlap to failing clang tests
See https://reviews.llvm.org/D47106 for details.
Reviewed By: probinson
Differential Revision: https://reviews.llvm.org/D47172
[FileCheck] Add -allow-deprecated-dag-overlap to failing clang tests
See https://reviews.llvm.org/D47106 for details.
Reviewed By: probinson
Differential Revision: https://reviews.llvm.org/D47172
llvm-svn: 336844
show more ...
|
|
Revision tags: llvmorg-6.0.1, llvmorg-6.0.1-rc3, llvmorg-6.0.1-rc2, llvmorg-6.0.1-rc1 |
|
| #
a4fa0b88 |
| 16-Apr-2018 |
Alexey Bataev <a.bataev@hotmail.com> |
[OPENMP] General code improvements.
llvm-svn: 330140
|
|
Revision tags: llvmorg-5.0.2, llvmorg-5.0.2-rc2, llvmorg-5.0.2-rc1 |
|
| #
ab4ea225 |
| 07-Mar-2018 |
Alexey Bataev <a.bataev@hotmail.com> |
[OPENMP] Fix lifetime of the loop counters.
We may emit incorrect lifetime info during codegen for loop counters in OpenMP constructs because of automatic scope cleanup when we needed temporarily lo
[OPENMP] Fix lifetime of the loop counters.
We may emit incorrect lifetime info during codegen for loop counters in OpenMP constructs because of automatic scope cleanup when we needed temporarily locations for private loop counters.
llvm-svn: 326922
show more ...
|
|
Revision tags: llvmorg-6.0.0, llvmorg-6.0.0-rc3, llvmorg-6.0.0-rc2, llvmorg-6.0.0-rc1 |
|
| #
a8a9153a |
| 29-Dec-2017 |
Alexey Bataev <a.bataev@hotmail.com> |
[OPENMP] Support for -fopenmp-simd option with compilation of simd loops only.
Added support for -fopenmp-simd option that allows compilation of simd-based constructs without emission of OpenMP runt
[OPENMP] Support for -fopenmp-simd option with compilation of simd loops only.
Added support for -fopenmp-simd option that allows compilation of simd-based constructs without emission of OpenMP runtime calls.
llvm-svn: 321560
show more ...
|
| #
e83b3e89 |
| 08-Dec-2017 |
Alexey Bataev <a.bataev@hotmail.com> |
[OPENMP] Simplify codegen for loop iteration variables in loop preamble.
Initial patch could cause trouble in the optimized code because of the incorrectly generated lifetime intrinsics.
llvm-svn:
[OPENMP] Simplify codegen for loop iteration variables in loop preamble.
Initial patch could cause trouble in the optimized code because of the incorrectly generated lifetime intrinsics.
llvm-svn: 320191
show more ...
|
|
Revision tags: llvmorg-5.0.1, llvmorg-5.0.1-rc3 |
|
| #
c2e88a8a |
| 04-Dec-2017 |
Alexey Bataev <a.bataev@hotmail.com> |
[OPENMP] Fix PR35486: crash when collapsing loops with dependent iteration spaces.
Though it is incorrect from point of view of OpenMP standard to have dependent iteration space in OpenMP loops, com
[OPENMP] Fix PR35486: crash when collapsing loops with dependent iteration spaces.
Though it is incorrect from point of view of OpenMP standard to have dependent iteration space in OpenMP loops, compiler should not crash. Patch fixes this problem.
llvm-svn: 319700
show more ...
|
|
Revision tags: llvmorg-5.0.1-rc2 |
|
| #
0e1b4589 |
| 02-Nov-2017 |
Alexey Bataev <a.bataev@hotmail.com> |
[OPENMP] Fix PR35156: Get correct thread id with windows exceptions.
If the thread id is requested in windows mode within funclets, we may generate incorrect function call that could lead to broken
[OPENMP] Fix PR35156: Get correct thread id with windows exceptions.
If the thread id is requested in windows mode within funclets, we may generate incorrect function call that could lead to broken codegen.
llvm-svn: 317208
show more ...
|
|
Revision tags: llvmorg-5.0.1-rc1 |
|
| #
f43f7142 |
| 06-Sep-2017 |
Alexey Bataev <a.bataev@hotmail.com> |
[OPENMP] Fix for PR33922: New ident_t flags for __kmpc_for_static_fini().
Added special flags for calls of __kmpc_for_static_fini(), like previous ly for __kmpc_for_static_init(). Added flag OMP_IDE
[OPENMP] Fix for PR33922: New ident_t flags for __kmpc_for_static_fini().
Added special flags for calls of __kmpc_for_static_fini(), like previous ly for __kmpc_for_static_init(). Added flag OMP_IDENT_WORK_DISTRIBUTE for distribute cnstruct, OMP_IDENT_WORK_SECTIONS for sections-based constructs and OMP_IDENT_WORK_LOOP for loop-based constructs in location flags.
llvm-svn: 312642
show more ...
|
|
Revision tags: llvmorg-5.0.0, llvmorg-5.0.0-rc5 |
|
| #
760e1186 |
| 31-Aug-2017 |
Alexey Bataev <a.bataev@hotmail.com> |
[OPENMP] Fix the test, NFC.
llvm-svn: 312296
|
| #
5372fb8c |
| 31-Aug-2017 |
Alexey Bataev <a.bataev@hotmail.com> |
[OPENMP] Fix for PR34398: assert with random access iterator if the step>1.
If the loop is a loot with random access iterators and the iteration construct is represented it += n, then the compiler c
[OPENMP] Fix for PR34398: assert with random access iterator if the step>1.
If the loop is a loot with random access iterators and the iteration construct is represented it += n, then the compiler crashed because of reusing of the same MaterializedTemporaryExpr around N. Patch fixes it by using the expression as written, without any special kind of wrappings.
llvm-svn: 312292
show more ...
|
|
Revision tags: llvmorg-5.0.0-rc4, llvmorg-5.0.0-rc3 |
|
| #
aee18557 |
| 16-Aug-2017 |
Alexey Bataev <a.bataev@hotmail.com> |
[OPRNMP] Fix for PR33445: ICE: OpenMP target containing ordered for.
If exceptions are enabled, there may be a problem with the codegen of the finalization functions from OpenMP runtime. It happens
[OPRNMP] Fix for PR33445: ICE: OpenMP target containing ordered for.
If exceptions are enabled, there may be a problem with the codegen of the finalization functions from OpenMP runtime. It happens because of the problem with the getting of thread identifier value. Patch tries to fix it by using the result of the call of function __kmpc_global_thread_num() rather than loading of value of outlined function parameter.
llvm-svn: 311007
show more ...
|
| #
0f87dbee |
| 14-Aug-2017 |
Alexey Bataev <a.bataev@hotmail.com> |
[OPENMP] Fix for PR33922: New ident_t flags for __kmpc_for_static_init().
OpenMP 5.0 will include OpenMP Tools interface that requires distinguishing different worksharing constructs.
Since the sam
[OPENMP] Fix for PR33922: New ident_t flags for __kmpc_for_static_init().
OpenMP 5.0 will include OpenMP Tools interface that requires distinguishing different worksharing constructs.
Since the same entry point (__kmp_for_static_init(ident_t *loc, kmp_int32 global_tid,........)) is called in case static loop/sections/distribute it is suggested using 'flags' field of the ident_t structure to pass the type of the construct.
llvm-svn: 310865
show more ...
|
|
Revision tags: llvmorg-5.0.0-rc2, llvmorg-5.0.0-rc1, llvmorg-4.0.1, llvmorg-4.0.1-rc3, llvmorg-4.0.1-rc2, llvmorg-4.0.1-rc1, llvmorg-4.0.0, llvmorg-4.0.0-rc4, llvmorg-4.0.0-rc3, llvmorg-4.0.0-rc2, llvmorg-4.0.0-rc1 |
|
| #
a7206b9e |
| 20-Dec-2016 |
Alexey Bataev <a.bataev@hotmail.com> |
[OPENMP] Fix for PR31416: Clang crashes on OMPCapturedExpr during source based coverage compilation
Added source location info to captured expression declaration + fixed source location info for loo
[OPENMP] Fix for PR31416: Clang crashes on OMPCapturedExpr during source based coverage compilation
Added source location info to captured expression declaration + fixed source location info for loop based directives.
llvm-svn: 290181
show more ...
|
|
Revision tags: llvmorg-3.9.1, llvmorg-3.9.1-rc3, llvmorg-3.9.1-rc2, llvmorg-3.9.1-rc1 |
|
| #
7a203715 |
| 21-Oct-2016 |
Reid Kleckner <rnk@google.com> |
Remove unnecessary x86 backend requirements from OpenMP tests
Clang can generate LLVM IR for x86 without a registered x86 backend.
llvm-svn: 284836
|
|
Revision tags: llvmorg-3.9.0, llvmorg-3.9.0-rc3, llvmorg-3.9.0-rc2, llvmorg-3.9.0-rc1 |
|
| #
b46cdeae |
| 15-Jun-2016 |
Alexey Bataev <a.bataev@hotmail.com> |
[OPENMP] Fix crash for 'schedule|dist_schedule' clauses during instantiation.
Added checks for non-dependent context when trygin to capture non-constant schedule chunk expression for proper codegen
[OPENMP] Fix crash for 'schedule|dist_schedule' clauses during instantiation.
Added checks for non-dependent context when trygin to capture non-constant schedule chunk expression for proper codegen of outlined functions.
llvm-svn: 272775
show more ...
|
|
Revision tags: llvmorg-3.8.1, llvmorg-3.8.1-rc1 |
|
| #
9ebd7427 |
| 10-May-2016 |
Alexey Bataev <a.bataev@hotmail.com> |
[OPENMP 4.5] Add codegen support in runtime for '[non]monotonic' schedule modifiers.
Runtime library expects some additional data in schedule argument for loop-based directives, that have additional
[OPENMP 4.5] Add codegen support in runtime for '[non]monotonic' schedule modifiers.
Runtime library expects some additional data in schedule argument for loop-based directives, that have additional schedule modifiers 'monotonic|nonmonotonic'.
llvm-svn: 269035
show more ...
|