]> git.ipfire.org Git - thirdparty/gcc.git/commit
Do not use caller-saved registers for COMDAT functions
authorLIU Hao <lh_mouse@126.com>
Mon, 15 Jul 2024 08:55:52 +0000 (16:55 +0800)
committerJonathan Yong <10walls@gmail.com>
Thu, 18 Jul 2024 13:14:39 +0000 (13:14 +0000)
commit5080840d8fbf25a321dd27543a1462d393d338bc
tree2b566e2a07fa56044b6de1af5ad6be4fcd7f1589
parent3670c70c561656a19f6bff36dd229f18120af127
Do not use caller-saved registers for COMDAT functions

A reference to a COMDAT function may be resolved to another definition
outside the current translation unit, so it's not eligible for `-fipa-ra`.

In `decl_binds_to_current_def_p()` there is already a check for weak
symbols. This commit checks for COMDAT functions that are not implemented
as weak symbols, for example, on *-*-mingw32.

gcc/ChangeLog:

PR rtl-optimization/115049
* varasm.cc (decl_binds_to_current_def_p): Add a check for COMDAT
declarations too, like weak ones.
gcc/varasm.cc