]> git.ipfire.org Git - thirdparty/gcc.git/commit
Various OpenACC reduction enhancements - ME and nvptx changes
authorJulian Brown <julian@codesourcery.com>
Tue, 12 Feb 2019 23:06:55 +0000 (15:06 -0800)
committerThomas Schwinge <thomas@codesourcery.com>
Tue, 3 Mar 2020 11:13:36 +0000 (12:13 +0100)
commit5d7ed774d9f61775d852ab22beaed977b3898bd6
treefc52202b13ec9bae88f55970d76f5d6bf9e8d481
parent3fa4bb72dcb3b9171952a0eca5310bb8811d5ffd
Various OpenACC reduction enhancements - ME and nvptx changes

Parts of the first posting got lost in the second posting, above.
This version hopefully contains everything.

2018-10-30  Cesar Philippidis  <cesar@codesourcery.com>

gcc/
* config/nvptx/nvptx.c (nvptx_propagate_unified): New.
(nvptx_split_blocks): Call it for cond_uni insn.
(nvptx_expand_cond_uni): New.
(enum nvptx_builtins): Add NVPTX_BUILTIN_COND_UNI.
(nvptx_init_builtins): Initialize it.
(nvptx_expand_builtin):
(nvptx_generate_vector_shuffle): Change integral SHIFT operand to
tree BITS operand.
(nvptx_vector_reduction): New.
(nvptx_adjust_reduction_type): New.
(nvptx_goacc_reduction_setup): Use it to adjust the type of ref_to_res.
(nvptx_goacc_reduction_init): Don't update LHS if it doesn't exist.
(nvptx_goacc_reduction_fini): Call nvptx_vector_reduction for vector.
Use it to adjust the type of ref_to_res.
(nvptx_goacc_reduction_teardown):
* config/nvptx/nvptx.md (cond_uni): New pattern.

(cherry picked from openacc-gcc-9-branch commit
6f456aa7d21e587debff82f3cbf89750528018d1)
gcc/ChangeLog.omp
gcc/config/nvptx/nvptx.c
gcc/config/nvptx/nvptx.md
gcc/gimplify.c
gcc/omp-general.h
gcc/omp-low.c
gcc/omp-offload.c