History log of /llvm-project/clang/test/OpenMP/parallel_firstprivate_codegen.cpp (Results 51 – 75 of 94)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 9c397818 03-Apr-2019 Alexey Bataev <a.bataev@hotmail.com>

[OPENMP]Add codegen for firstprivate vars with allocate clause.

Added codegen/test for the firstprivatized variables with the allocate
clause.

llvm-svn: 357617


Revision tags: 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, llvmorg-8.0.0-rc1, llvmorg-7.0.1, llvmorg-7.0.1-rc3, llvmorg-7.0.1-rc2, llvmorg-7.0.1-rc1
# d900dd0c 15-Oct-2018 Sean Fertile <sfertile@ca.ibm.com>

Revert "[CodeGenCXX] Treat 'this' as noalias in constructors"

This reverts commit https://reviews.llvm.org/rL344150 which causes
MachineOutliner related failures on the ppc64le multistage buildbot.

Revert "[CodeGenCXX] Treat 'this' as noalias in constructors"

This reverts commit https://reviews.llvm.org/rL344150 which causes
MachineOutliner related failures on the ppc64le multistage buildbot.

llvm-svn: 344526

show more ...


# cc7e7475 10-Oct-2018 Anton Bikineev <ant.bikineev@gmail.com>

[CodeGenCXX] Treat 'this' as noalias in constructors

This is currently a clang extension and a resolution
of the defect report in the C++ Standard.

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

[CodeGenCXX] Treat 'this' as noalias in constructors

This is currently a clang extension and a resolution
of the defect report in the C++ Standard.

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

llvm-svn: 344150

show more ...


Revision tags: llvmorg-7.0.0, llvmorg-7.0.0-rc3, llvmorg-7.0.0-rc2, llvmorg-7.0.0-rc1, llvmorg-6.0.1, llvmorg-6.0.1-rc3, llvmorg-6.0.1-rc2, llvmorg-6.0.1-rc1, llvmorg-5.0.2, llvmorg-5.0.2-rc2, llvmorg-5.0.2-rc1, llvmorg-6.0.0, llvmorg-6.0.0-rc3, llvmorg-6.0.0-rc2
# 6e938eff 19-Jan-2018 Daniel Neilson <dneilson@azul.com>

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

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.

llvm-svn: 322964

show more ...


Revision tags: 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 ...


Revision tags: llvmorg-5.0.1, llvmorg-5.0.1-rc3, llvmorg-5.0.1-rc2, llvmorg-5.0.1-rc1, llvmorg-5.0.0, llvmorg-5.0.0-rc5, llvmorg-5.0.0-rc4, llvmorg-5.0.0-rc3, 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, llvmorg-3.9.1, llvmorg-3.9.1-rc3, llvmorg-3.9.1-rc2, llvmorg-3.9.1-rc1, llvmorg-3.9.0, llvmorg-3.9.0-rc3, llvmorg-3.9.0-rc2, llvmorg-3.9.0-rc1
# 6d004264 16-Jun-2016 Samuel Antao <sfantao@us.ibm.com>

Re-apply r272900 - [OpenMP] Cast captures by copy when passed to fork call so that they are compatible to what the runtime library expects.

An issue in one of the regression tests was fixed for 32-b

Re-apply r272900 - [OpenMP] Cast captures by copy when passed to fork call so that they are compatible to what the runtime library expects.

An issue in one of the regression tests was fixed for 32-bit hosts.

llvm-svn: 272931

show more ...


# b1f95012 16-Jun-2016 Samuel Antao <sfantao@us.ibm.com>

Revert r272900 - [OpenMP] Cast captures by copy when passed to fork call so that they are compatible to what the runtime library expects.

Was causing trouble in one of the regression tests for a 32-

Revert r272900 - [OpenMP] Cast captures by copy when passed to fork call so that they are compatible to what the runtime library expects.

Was causing trouble in one of the regression tests for a 32-bit address space.

llvm-svn: 272908

show more ...


# 49516179 16-Jun-2016 Samuel Antao <sfantao@us.ibm.com>

[OpenMP] Cast captures by copy when passed to fork call so that they are compatible to what the runtime library expects.

Summary:
This patch fixes an issue detected when firstprivate variables are p

[OpenMP] Cast captures by copy when passed to fork call so that they are compatible to what the runtime library expects.

Summary:
This patch fixes an issue detected when firstprivate variables are passed to an OpenMP outlined function vararg list. Currently they are not compatible with what the runtime library expects causing malfunction in some targets.

This patch fixes the issue by moving the casting logic already in place for offloading to the common code that creates the outline function and arguments and updates the regression tests accordingly.

Reviewers: hfinkel, arpith-jacob, carlo.bertolli, kkwli0, ABataev

Subscribers: cfe-commits, caomhin

Differential Revision: http://reviews.llvm.org/D21150

llvm-svn: 272900

show more ...


Revision tags: llvmorg-3.8.1, llvmorg-3.8.1-rc1
# 7ace49df 17-May-2016 Alexey Bataev <a.bataev@hotmail.com>

[OPENMP] Pass scalar firstprivate vars by value.

For better performance and to unify code with offloading part we pass
scalar firstprivate values by value, instead of by reference. It will
remove so

[OPENMP] Pass scalar firstprivate vars by value.

For better performance and to unify code with offloading part we pass
scalar firstprivate values by value, instead of by reference. It will
remove some extra copying operations.

llvm-svn: 269751

show more ...


# feddd64b 22-Apr-2016 Alexey Bataev <a.bataev@hotmail.com>

[OPENMP] Fix for PR27463: Privatizing struct fields with array type
causes code generation failure.

The codegen part of firstprivate clause for member decls used type of
original variable without sk

[OPENMP] Fix for PR27463: Privatizing struct fields with array type
causes code generation failure.

The codegen part of firstprivate clause for member decls used type of
original variable without skipping reference type from
OMPCapturedExprDecl. Patch fixes this problem.

llvm-svn: 267125

show more ...


Revision tags: llvmorg-3.8.0, llvmorg-3.8.0-rc3
# a462b450 17-Feb-2016 Alexey Bataev <a.bataev@hotmail.com>

[OPENMP] Fix tests incompatibility with ARM buildbots.

llvm-svn: 261098


# 417089fc 17-Feb-2016 Alexey Bataev <a.bataev@hotmail.com>

[OPENMP 4.5] Codegen support for data members in 'firstprivate' clause.

Added codegen for captured data members in non-static member functions.

llvm-svn: 261089


# cd8b6a2c 15-Feb-2016 Alexey Bataev <a.bataev@hotmail.com>

[OPENMP] Remove extra sync barriers for 'firstprivate' clause.
Sync barrier will be emitted after generation of firstprivate variables
only if one of the firstprivate vars is used in lastprivate clau

[OPENMP] Remove extra sync barriers for 'firstprivate' clause.
Sync barrier will be emitted after generation of firstprivate variables
only if one of the firstprivate vars is used in lastprivate clause.

llvm-svn: 260877

show more ...


Revision tags: llvmorg-3.8.0-rc2, llvmorg-3.8.0-rc1
# 6f531ec0 18-Dec-2015 Alexey Bataev <a.bataev@hotmail.com>

[OPENMP] Remove explicit call for implicit barrier
#pragma omp parallel needs an implicit barrier that is currently done by an explicit call to __kmpc_barrier. However, the runtime already ensures a

[OPENMP] Remove explicit call for implicit barrier
#pragma omp parallel needs an implicit barrier that is currently done by an explicit call to __kmpc_barrier. However, the runtime already ensures a barrier in __kmpc_fork_call which currently leads to two barriers per region per thread.
Differential Revision: http://reviews.llvm.org/D15561

llvm-svn: 255992

show more ...


Revision tags: llvmorg-3.7.1, llvmorg-3.7.1-rc2
# 3b39e88a 19-Nov-2015 Pete Cooper <peter_cooper@apple.com>

Revert "Change memcpy/memset/memmove to have dest and source alignments."

This reverts commit r253512.

This likely broke the bots in:
http://lab.llvm.org:8011/builders/clang-ppc64-elf-linux2/builds

Revert "Change memcpy/memset/memmove to have dest and source alignments."

This reverts commit r253512.

This likely broke the bots in:
http://lab.llvm.org:8011/builders/clang-ppc64-elf-linux2/builds/20202
http://bb.pgr.jp/builders/clang-3stage-i686-linux/builds/3787

llvm-svn: 253542

show more ...


# 7bfd5cb7 18-Nov-2015 Pete Cooper <peter_cooper@apple.com>

Change memcpy/memset/memmove to have dest and source alignments.

This is a follow on from a similar LLVM commit: r253511.

Note, this was reviewed (and more details are in) http://lists.llvm.org/pip

Change memcpy/memset/memmove to have dest and source alignments.

This is a follow on from a similar LLVM commit: r253511.

Note, this was reviewed (and more details are in) http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20151109/312083.html

These intrinsics currently have an explicit alignment argument which is
required to be a constant integer. It represents the alignment of the
source and dest, and so must be the minimum of those.

This change allows source and dest to each have their own alignments
by using the alignment attribute on their arguments. The alignment
argument itself is removed.

The only code change to clang is hidden in CGBuilder.h which now passes
both dest and source alignment to IRBuilder, instead of taking the minimum of
dest and source alignments.

Reviewed by Hal Finkel.

llvm-svn: 253512

show more ...


Revision tags: llvmorg-3.7.1-rc1
# 4eea8c6b 15-Sep-2015 Kelvin Li <kkwli0@gmail.com>

Allow static local variables specified on data-sharing attribute clauses.

http://reviews.llvm.org/D11619

llvm-svn: 247715


# 25e5b446 15-Sep-2015 Alexey Bataev <a.bataev@hotmail.com>

[OPENMP] Emit __kmpc_cancel_barrier() and code for 'cancellation point' only if 'cancel' is found.
Patch improves codegen for OpenMP constructs. If the OpenMP region does not have internal 'cancel' c

[OPENMP] Emit __kmpc_cancel_barrier() and code for 'cancellation point' only if 'cancel' is found.
Patch improves codegen for OpenMP constructs. If the OpenMP region does not have internal 'cancel' construct, a call to 'void __kmpc_barrier()' runtime function is generated for all implicit/explicit barriers. If the region has inner 'cancel' directive, then
```
if (__kmpc_cancel_barrier())
exit from outer construct;
```
code is generated.
Also, the code for 'canellation point' directive is not generated if parent directive does not have 'cancel' directive.

llvm-svn: 247681

show more ...


# c71a4099 11-Sep-2015 Alexey Bataev <a.bataev@hotmail.com>

[OPENMP] Preserve alignment of the original variables for the captured references.
Patch makes codegen to preserve alignment of the shared variables captured and used in OpenMP regions.

llvm-svn: 24

[OPENMP] Preserve alignment of the original variables for the captured references.
Patch makes codegen to preserve alignment of the shared variables captured and used in OpenMP regions.

llvm-svn: 247401

show more ...


# 1d7f0faf 10-Sep-2015 Alexey Bataev <a.bataev@hotmail.com>

[OPENMP] Propagate alignment from original variables to the private copies.
Currently private copies of captured variables have default alignment. Patch makes private variables to have same alignment

[OPENMP] Propagate alignment from original variables to the private copies.
Currently private copies of captured variables have default alignment. Patch makes private variables to have same alignment as original variables.

llvm-svn: 247260

show more ...


# 2377fe95 10-Sep-2015 Alexey Bataev <a.bataev@hotmail.com>

[OPENMP] Outlined function for parallel and other regions with list of captured variables.
Currently all variables used in OpenMP regions are captured into a record and passed to outlined functions i

[OPENMP] Outlined function for parallel and other regions with list of captured variables.
Currently all variables used in OpenMP regions are captured into a record and passed to outlined functions in this record. It may result in some poor performance because of too complex analysis later in optimization passes. Patch makes to emit outlined functions for parallel-based regions with a list of captured variables. It reduces code for 2*n GEPs, stores and loads at least.
Codegen for task-based regions remains unchanged because runtime requires that all captured variables are passed in captured record.

llvm-svn: 247251

show more ...


Revision tags: llvmorg-3.7.0, llvmorg-3.7.0-rc4, llvmorg-3.7.0-rc3, studio-1.4, llvmorg-3.7.0-rc2, llvmorg-3.7.0-rc1
# b44fdfc7 14-Jul-2015 Alexey Bataev <a.bataev@hotmail.com>

[OPENMP] Drop type qualifiers from private variables.

If the variable is marked as private in OpenMP construct, the reference to this variable should not keep type qualifiers for the original variab

[OPENMP] Drop type qualifiers from private variables.

If the variable is marked as private in OpenMP construct, the reference to this variable should not keep type qualifiers for the original variable. Private copy is not volatile or constant, so we can use unqualified type for private copy.

llvm-svn: 242133

show more ...


# ea3e51d7 29-Jun-2015 David Blaikie <dblaikie@gmail.com>

Account for calling convention specifiers in function definitions in IR test cases

Several tests wouldn't pass when executed on an armv7a_pc_linux triple
due to the non-default arm_aapcs calling con

Account for calling convention specifiers in function definitions in IR test cases

Several tests wouldn't pass when executed on an armv7a_pc_linux triple
due to the non-default arm_aapcs calling convention produced on the
function definitions in the IR output. Account for this with the
application of a little regex.

Patch by Ying Yi.

llvm-svn: 240971

show more ...


Revision tags: llvmorg-3.6.2, llvmorg-3.6.2-rc1
# 5129d3a4 21-May-2015 Alexey Bataev <a.bataev@hotmail.com>

[OPENMP] Fixed codegen for parameters privatization.

For parameters we shall take a derived type of parameters, not the original one.

llvm-svn: 237882


# db39021c 20-May-2015 Alexey Bataev <a.bataev@hotmail.com>

[OPENMP] -fopenmp enables OpenMP support (fix for http://llvm.org/PR23492)

-fopenmp turns on OpenMP support and links libiomp5 as OpenMP library. Also there is -fopenmp={libiomp5|libgomp} option tha

[OPENMP] -fopenmp enables OpenMP support (fix for http://llvm.org/PR23492)

-fopenmp turns on OpenMP support and links libiomp5 as OpenMP library. Also there is -fopenmp={libiomp5|libgomp} option that allows to override effect of -fopenmp and link libgomp library (if -fopenmp=libgomp is specified).
Differential Revision: http://reviews.llvm.org/D9736

llvm-svn: 237769

show more ...


1234