aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2023-12-05 13:56:10 +0100
committerRichard Biener <rguenther@suse.de>2023-12-05 14:55:15 +0100
commit1e6c4aa47972d6b56225e7776f3cf41f2cc01da2 (patch)
treee1926f9c116dbffca7a0fd575d07646c5fc35929 /gcc
parent68d32d02035fc081384ec6d6fd275e49ffa5d016 (diff)
downloadgcc-1e6c4aa47972d6b56225e7776f3cf41f2cc01da2.zip
gcc-1e6c4aa47972d6b56225e7776f3cf41f2cc01da2.tar.gz
gcc-1e6c4aa47972d6b56225e7776f3cf41f2cc01da2.tar.bz2
ipa/92606 - IPA ICF merging variables in different address-space
The following aovids merging variables that are put in different address-spaces. PR ipa/92606 * ipa-icf.cc (sem_variable::equals_wpa): Compare address-spaces.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ipa-icf.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/ipa-icf.cc b/gcc/ipa-icf.cc
index c72c9d5..81232d5 100644
--- a/gcc/ipa-icf.cc
+++ b/gcc/ipa-icf.cc
@@ -1666,6 +1666,10 @@ sem_variable::equals_wpa (sem_item *item,
if (DECL_IN_TEXT_SECTION (decl) != DECL_IN_TEXT_SECTION (item->decl))
return return_false_with_msg ("text section");
+ if (TYPE_ADDR_SPACE (TREE_TYPE (decl))
+ != TYPE_ADDR_SPACE (TREE_TYPE (item->decl)))
+ return return_false_with_msg ("address-space");
+
ipa_ref *ref = NULL, *ref2 = NULL;
for (unsigned i = 0; node->iterate_reference (i, ref); i++)
{