Commit Graph

11 Commits

Author SHA1 Message Date
Joel E. Denny 448ee95831 [OPENMP] Fix test typos: CHECK-DAG-N -> CHECK-N-DAG
Reviewed by: ABataev

Differential Revision: https://reviews.llvm.org/D46370

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@331469 91177308-0d34-0410-b5e6-96231b3b80d8
2018-05-03 17:22:04 +00:00
Joel E. Denny a3c00091a7 Revert r331466: [OPENMP] Fix test typos: CHECK-DAG-N -> CHECK-N-DAG"
Sorry, forgot to add commit log attributes.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@331468 91177308-0d34-0410-b5e6-96231b3b80d8
2018-05-03 17:22:01 +00:00
Joel E. Denny e357753d8e [OPENMP] Fix test typos: CHECK-DAG-N -> CHECK-N-DAG
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@331466 91177308-0d34-0410-b5e6-96231b3b80d8
2018-05-03 17:15:44 +00:00
Alexey Bataev e273bc1916 [OPENMP] Emit warning for non-trivial types in map clauses.
If the mapped type is non-trivial, the warning message is emitted for
better user experience.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@326251 91177308-0d34-0410-b5e6-96231b3b80d8
2018-02-27 21:31:11 +00:00
Daniel Neilson 59b6576b0e Change memcpy/memove/memset to have dest and source alignment attributes (Step 1).
Summary:
  Upstream LLVM is changing the the prototypes of the @llvm.memcpy/memmove/memset
intrinsics. This change updates the Clang tests for this change.

  The @llvm.memcpy/memmove/memset intrinsics currently have an explicit argument
which is required to be a constant integer. It represents the alignment of the
dest (and source), and so must be the minimum of the actual alignment of the
two.

 This change removes the alignment argument in favour of placing the alignment
attribute on the source and destination pointers of the memory intrinsic call.

 For example, code which used to read:
   call void @llvm.memcpy.p0i8.p0i8.i32(i8* %dest, i8* %src, i32 100, i32 4, i1 false)
will now read
   call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 4 %dest, i8* align 4 %src, i32 100, i1 false)

 At this time the source and destination alignments must be the same (Step 1).
Step 2 of the change, to be landed shortly, will relax that contraint and allow
the source and destination to have different alignments.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@322964 91177308-0d34-0410-b5e6-96231b3b80d8
2018-01-19 17:12:54 +00:00
Alexey Bataev a65cfe004d [OPENMP] Replace calls of getAssociatedStmt().
getAssociatedStmt() returns the outermost captured statement for the
OpenMP directive. It may return incorrect region in case of combined
constructs. Reworked the code to reduce the number of calls of
getAssociatedStmt() and used getInnermostCapturedStmt() and
getCapturedStmt() functions instead.
In case of firstprivate variables it may lead to an extra allocas
generation for private copies even if the variable is passed by value
into outlined function and could be used directly as private copy.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@322393 91177308-0d34-0410-b5e6-96231b3b80d8
2018-01-12 19:39:11 +00:00
Alexey Bataev 68d230359a [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.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@321560 91177308-0d34-0410-b5e6-96231b3b80d8
2017-12-29 18:07:07 +00:00
Alexey Bataev d80ab9d1a5 [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.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@319700 91177308-0d34-0410-b5e6-96231b3b80d8
2017-12-04 21:30:42 +00:00
Alexey Bataev 190f61e3a0 [OPENMP] Emit `__tgt_target_teams` for all teams directives.
Previously we emitted `__tgt_target_teams` only for standalone teams
directives. This patch allows emit this function for all teams-based
directives.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@319585 91177308-0d34-0410-b5e6-96231b3b80d8
2017-12-01 21:31:08 +00:00
Richard Trieu 649efd2923 [OpenMP] Fix tests after r318789
Update use of __tgt_target that had some 32bit types updated to 64bit.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@318811 91177308-0d34-0410-b5e6-96231b3b80d8
2017-11-21 22:53:19 +00:00
Carlo Bertolli d441952f1c [OpenMP] Initial implementation of code generation for pragma 'teams distribute parallel for' on host
https://reviews.llvm.org/D40187

This patch implements code gen for 'teams distribute parallel for' on the host, including all its clauses and related regression tests.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@318692 91177308-0d34-0410-b5e6-96231b3b80d8
2017-11-20 20:46:39 +00:00