]> gcc.gnu.org Git - gcc.git/commit
omp-offload.cc: Fix value-expr handling of 'declare target link' vars [PR115637]
authorTobias Burnus <tburnus@baylibre.com>
Thu, 1 Aug 2024 07:06:32 +0000 (09:06 +0200)
committerTobias Burnus <tburnus@baylibre.com>
Thu, 1 Aug 2024 07:06:32 +0000 (09:06 +0200)
commitc99cdcab4f1c497a872cf552138fd8ea27e9a5eb
treebed53376395653556c931ff102aeb24bdf12e9ec
parent25dba615e3c191f0a7264538b6d260e91ca2624a
omp-offload.cc: Fix value-expr handling of 'declare target link' vars [PR115637]

As the PR and included testcase shows, replacing 'arr2' by its value expression
'*arr2$13$linkptr' failed for
  MEM <uint128_t> [(c_char * {ref-all})&arr2]
which left 'arr2' in the code as unknown symbol. Now expand the value expression
already in pass_omp_target_link::execute's process_link_var_op walk_gimple_stmt
walk - and don't rely on gimple_regimplify_operands.

PR middle-end/115637

gcc/ChangeLog:

* gimplify.cc (gimplify_body): Fix macro name in the comment.
* omp-offload.cc (find_link_var_op): Rename to ...
(process_link_var_op): ... this. Replace value expr.
(pass_omp_target_link::execute): Update walk_gimple_stmt call.

libgomp/ChangeLog:

* testsuite/libgomp.fortran/declare-target-link.f90: Uncomment
now working code.

Co-authored-by: Richard Biener <rguenther@suse.de
gcc/gimplify.cc
gcc/omp-offload.cc
libgomp/testsuite/libgomp.fortran/declare-target-link.f90
This page took 0.063693 seconds and 5 git commands to generate.