Prune removed funcs from offload table
authorTom de Vries <tom@codesourcery.com>
Sat, 30 Dec 2017 17:02:00 +0000 (17:02 +0000)
committerTom de Vries <vries@gcc.gnu.org>
Sat, 30 Dec 2017 17:02:00 +0000 (17:02 +0000)
commit60bf575ccb787310f5f3063b036498de7e9c2c6b
tree1c337e37aa3127cc198dd0a948673450a1d8395f
parent1e4423dbb50bcafd41a1246602e4222d8562eb93
Prune removed funcs from offload table

2017-12-30  Tom de Vries  <tom@codesourcery.com>

PR libgomp/83046
* omp-expand.c (expand_omp_target): If in_lto_p, mark offload_funcs with
DECL_PRESERVE_P.
* lto-streamer-out.c (prune_offload_funcs): New function.  Remove
offload_funcs entries that no longer have a corresponding cgraph_node.
Mark the remaining ones as DECL_PRESERVE_P.
(output_lto): Call prune_offload_funcs.

* testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
* testsuite/libgomp.c-c++-common/pr83046.c: New test.

From-SVN: r256045
gcc/ChangeLog
gcc/lto-streamer-out.c
gcc/omp-expand.c
libgomp/ChangeLog
libgomp/testsuite/libgomp.c-c++-common/pr83046.c [new file with mode: 0644]
libgomp/testsuite/libgomp.oacc-c-c++-common/pr83046.c [new file with mode: 0644]