[nvptx] Replace dots in function names
authorTom de Vries <tdevries@suse.de>
Sat, 10 Oct 2020 15:22:01 +0000 (17:22 +0200)
committerTom de Vries <tdevries@suse.de>
Sat, 10 Oct 2020 21:34:24 +0000 (23:34 +0200)
commite88b04bda8a4bdcd03f867fc23f07d5d80f3f19a
tree4f4004e02b3ca3f64916c70efeed9cdb80a72936
parentdb52bcfe4a0ef1bae9ed52b4e51af085f71c984d
[nvptx] Replace dots in function names

When function splitting clones a function sinf in the host compiler, the clone
is callled sinf.part.0.  However, ptx does not allows dots in identifiers, so
we run into:
...
ptxas test.o, line 23; fatal   : Parsing error near '.part': syntax error
ptxas fatal   : Ptx assembly aborted due to errors
nvptx-as: ptxas returned 255 exit status
...

Rename such functions by replacing the dots with dollar signs.

Tested check-gcc on nvptx.

Tested libgomp on x86_64-linux with nvptx accelerator.

gcc/ChangeLog:

2020-10-10  Tom de Vries  <tdevries@suse.de>

PR target/97318
* config/nvptx/nvptx.c (nvptx_replace_dot): New function.
(write_fn_proto, write_fn_proto_from_insn, nvptx_output_call_insn):
Use nvptx_replace_dot.
gcc/config/nvptx/nvptx.c