diff options
author | Jakub Jelinek <jakub@redhat.com> | 2006-05-02 22:03:38 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2006-05-02 22:03:38 +0200 |
commit | 8ca5b2a2d4d6e210374f933c4c09895912d5e4ac (patch) | |
tree | eb02e1dd8220b3599be8ae1486c225f960b5ccf3 /symlink-tree | |
parent | a3428e070102b16998dacc499781306137b9f787 (diff) | |
download | gcc-8ca5b2a2d4d6e210374f933c4c09895912d5e4ac.zip gcc-8ca5b2a2d4d6e210374f933c4c09895912d5e4ac.tar.gz gcc-8ca5b2a2d4d6e210374f933c4c09895912d5e4ac.tar.bz2 |
re PR c++/26943 ([gomp] firstprivate + lastprivate uses inefficient barrier)
PR c++/26943
* omp-low.c (maybe_lookup_decl_in_outer_ctx): New function.
(build_outer_var_ref): Use maybe_lookup_decl_in_outer_ctx
to find if var will be a global variable even in the nested context.
(omp_copy_decl): Only check for global variable at the end, it might
be overridden in outer contexts.
(scan_sharing_clauses): For global variables don't create a field.
(lower_rec_input_clauses): Do nothing for global shared variables.
Emit a barrier at the end of ILIST if there were any decls in both
firstprivate and lastprivate clauses.
(lower_send_clauses): Do nothing for global variables except for
COPYIN.
* testsuite/libgomp.c/pr26943-1.c: New test.
* testsuite/libgomp.c/pr26943-2.c: New test.
* testsuite/libgomp.c/pr26943-3.c: New test.
* testsuite/libgomp.c/pr26943-4.c: New test.
* testsuite/libgomp.c++/pr27337.C: Remove barrier.
* testsuite/libgomp.c++/pr26943.C: New test.
From-SVN: r113483
Diffstat (limited to 'symlink-tree')
0 files changed, 0 insertions, 0 deletions