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.
This commit is contained in:
parent
3670c70c56
commit
5080840d8f
1 changed files with 2 additions and 0 deletions
|
@ -7813,6 +7813,8 @@ decl_binds_to_current_def_p (const_tree decl)
|
|||
for all other declaration types. */
|
||||
if (DECL_WEAK (decl))
|
||||
return false;
|
||||
if (DECL_COMDAT_GROUP (decl))
|
||||
return false;
|
||||
if (DECL_COMMON (decl)
|
||||
&& (DECL_INITIAL (decl) == NULL
|
||||
|| (!in_lto_p && DECL_INITIAL (decl) == error_mark_node)))
|
||||
|
|
Loading…
Add table
Reference in a new issue