LTO: Fixes for renaming issues with offload/OpenMP [PR104285]
authorTobias Burnus <tobias@codesourcery.com>
Wed, 23 Mar 2022 08:44:39 +0000 (09:44 +0100)
committerTobias Burnus <tobias@codesourcery.com>
Wed, 23 Mar 2022 08:44:39 +0000 (09:44 +0100)
commit1002a7ace111d746249fdea71af9b8e039cea0eb
treed020e020682e89e2d5b6cd29b48c6f8a5c4b6e6c
parent8fa7216ae0d8a15aaa1a54e1d8e308f791e65d97
LTO: Fixes for renaming issues with offload/OpenMP [PR104285]

gcc/lto/ChangeLog:

PR middle-end/104285
* lto-partition.cc (maybe_rewrite_identifier): Use get_identifier
for the returned string to be usable as hash key.
(validize_symbol_for_target): Hence, use return value directly.
(privatize_symbol_name_1): Track maybe_rewrite_identifier renames.
* lto.cc (offload_handle_link_vars): Move function up before ...
(do_whole_program_analysis): Call it after static renamings.
(lto_main): Move call after static renamings.

libgomp/ChangeLog:

PR middle-end/104285
* testsuite/libgomp.c++/target-same-name-2-a.C: New test.
* testsuite/libgomp.c++/target-same-name-2-b.C: New test.
* testsuite/libgomp.c++/target-same-name-2.C: New test.
* testsuite/libgomp.c-c++-common/target-same-name-1-a.c: New test.
* testsuite/libgomp.c-c++-common/target-same-name-1-b.c: New test.
* testsuite/libgomp.c-c++-common/target-same-name-1.c: New test.
gcc/lto/lto-partition.cc
gcc/lto/lto.cc
libgomp/testsuite/libgomp.c++/target-same-name-2-a.C [new file with mode: 0644]
libgomp/testsuite/libgomp.c++/target-same-name-2-b.C [new file with mode: 0644]
libgomp/testsuite/libgomp.c++/target-same-name-2.C [new file with mode: 0644]
libgomp/testsuite/libgomp.c-c++-common/target-same-name-1-a.c [new file with mode: 0644]
libgomp/testsuite/libgomp.c-c++-common/target-same-name-1-b.c [new file with mode: 0644]
libgomp/testsuite/libgomp.c-c++-common/target-same-name-1.c [new file with mode: 0644]