diff options
author | Sam James <sam@gentoo.org> | 2024-06-28 13:49:23 +0100 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2024-06-28 13:49:23 +0100 |
commit | b97a75814a0b8969a5669c761dde86dc0d9ee2a1 (patch) | |
tree | 9b3727685b998bc9b143af1c58d0e228747a4e60 /15.0.0 | |
parent | 14.1.0: add 77_all_m2_docs_sandbox.patch (diff) | |
download | gcc-patches-b97a75814a0b8969a5669c761dde86dc0d9ee2a1.tar.gz gcc-patches-b97a75814a0b8969a5669c761dde86dc0d9ee2a1.tar.bz2 gcc-patches-b97a75814a0b8969a5669c761dde86dc0d9ee2a1.zip |
15.0.0: drop x86 backend fixes
Now fixed upstream.
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to '15.0.0')
-rw-r--r-- | 15.0.0/gentoo/77_all_i386-fix-ix86_expand_move.patch | 47 | ||||
-rw-r--r-- | 15.0.0/gentoo/78_all_i386-fix-recent-alias-set-change.patch | 97 |
2 files changed, 0 insertions, 144 deletions
diff --git a/15.0.0/gentoo/77_all_i386-fix-ix86_expand_move.patch b/15.0.0/gentoo/77_all_i386-fix-ix86_expand_move.patch deleted file mode 100644 index 2b5b8d4..0000000 --- a/15.0.0/gentoo/77_all_i386-fix-ix86_expand_move.patch +++ /dev/null @@ -1,47 +0,0 @@ -From ec0ead755e65ba51813aa8b66f4eb5574dd8437c Mon Sep 17 00:00:00 2001 -From: Sam James <sam@gentoo.org> -Date: Wed, 26 Jun 2024 13:19:42 +0100 -Subject: [PATCH 1/2] i386: fix ix86_expand_move - -Before r15-1599-g63512c72df09b4, legitimize_pe_coff_symbol would return NULL_RTX -for non-PECOFF targets, so the else branch would get taken. - -(This is a hack which doesn't work for PECOFF targets but fixes miscompilations -on ELF.) - -This partially reverts commit r15-1599-g63512c72df09b4. - -Bug: https://gcc.gnu.org/PR115635 -Bug: https://gcc.gnu.org/PR115661 ---- - gcc/config/i386/i386-expand.cc | 10 ---------- - 1 file changed, 10 deletions(-) - -diff --git a/gcc/config/i386/i386-expand.cc b/gcc/config/i386/i386-expand.cc -index 5dfa7d49f58c..5e0173bc7a84 100644 ---- a/gcc/config/i386/i386-expand.cc -+++ b/gcc/config/i386/i386-expand.cc -@@ -412,20 +412,10 @@ ix86_expand_move (machine_mode mode, rtx operands[]) - } - else - { --#if TARGET_PECOFF -- tmp = legitimize_pe_coff_symbol (op1, addend != NULL_RTX); -- if (tmp) -- { -- op1 = tmp; -- if (!addend) -- break; -- } -- else - { - op1 = operands[1]; - break; - } --#endif - } - - if (addend) --- -2.45.2 - diff --git a/15.0.0/gentoo/78_all_i386-fix-recent-alias-set-change.patch b/15.0.0/gentoo/78_all_i386-fix-recent-alias-set-change.patch deleted file mode 100644 index eb8f5bd..0000000 --- a/15.0.0/gentoo/78_all_i386-fix-recent-alias-set-change.patch +++ /dev/null @@ -1,97 +0,0 @@ -From 72a4d2d437782afa975f9b29c3ab4a1826ad0cd6 Mon Sep 17 00:00:00 2001 -From: Sam James <sam@gentoo.org> -Date: Wed, 26 Jun 2024 12:54:55 +0100 -Subject: [PATCH 2/2] i386: fix recent alias set change - -Before r15-1599-g63512c72df09b4, we would create a new alias set, but now -we use -1. Go back to using ix86_GOT_alias_set. - -(This is a hack which isn't the cleanest way of fixing it.) - -This partially reverts commit r15-1599-g63512c72df09b4. - -Bug: https://gcc.gnu.org/PR115635 -Bug: https://gcc.gnu.org/PR115661 ---- - gcc/config/i386/i386-expand.cc | 2 +- - gcc/config/i386/i386-expand.h | 1 + - gcc/config/i386/i386.cc | 17 ++++++++++++++--- - 3 files changed, 16 insertions(+), 4 deletions(-) - -diff --git a/gcc/config/i386/i386-expand.cc b/gcc/config/i386/i386-expand.cc -index 5e0173bc7a84..3345f40ad85d 100644 ---- a/gcc/config/i386/i386-expand.cc -+++ b/gcc/config/i386/i386-expand.cc -@@ -408,7 +408,7 @@ ix86_expand_move (machine_mode mode, rtx operands[]) - : UNSPEC_GOT)); - op1 = gen_rtx_CONST (Pmode, op1); - op1 = gen_const_mem (Pmode, op1); -- set_mem_alias_set (op1, GOT_ALIAS_SET); -+ set_mem_alias_set (op1, ix86_GOT_alias_set ()); - } - else - { -diff --git a/gcc/config/i386/i386-expand.h b/gcc/config/i386/i386-expand.h -index 5e02df1706df..56bee29253ba 100644 ---- a/gcc/config/i386/i386-expand.h -+++ b/gcc/config/i386/i386-expand.h -@@ -34,6 +34,7 @@ struct expand_vec_perm_d - }; - - rtx legitimize_tls_address (rtx x, enum tls_model model, bool for_mov); -+alias_set_type ix86_GOT_alias_set (void); - rtx legitimize_pic_address (rtx orig, rtx reg); - - bool insn_defines_reg (unsigned int regno1, unsigned int regno2, -diff --git a/gcc/config/i386/i386.cc b/gcc/config/i386/i386.cc -index 1f71ed04be67..62fca080f2f5 100644 ---- a/gcc/config/i386/i386.cc -+++ b/gcc/config/i386/i386.cc -@@ -11823,6 +11823,17 @@ constant_address_p (rtx x) - } - - -+/* Return a unique alias set for the GOT. */ -+ -+alias_set_type -+ix86_GOT_alias_set (void) -+{ -+ static alias_set_type set = -1; -+ if (set == -1) -+ set = new_alias_set (); -+ return set; -+} -+ - /* Return a legitimate reference for ORIG (an address) using the - register REG. If REG is 0, a new pseudo is generated. - -@@ -11925,7 +11936,7 @@ legitimize_pic_address (rtx orig, rtx reg) - UNSPEC_GOTPCREL); - new_rtx = gen_rtx_CONST (Pmode, new_rtx); - new_rtx = gen_const_mem (Pmode, new_rtx); -- set_mem_alias_set (new_rtx, GOT_ALIAS_SET); -+ set_mem_alias_set (new_rtx, ix86_GOT_alias_set ()); - } - else - { -@@ -11947,7 +11958,7 @@ legitimize_pic_address (rtx orig, rtx reg) - new_rtx = gen_rtx_PLUS (Pmode, pic_offset_table_rtx, new_rtx); - - new_rtx = gen_const_mem (Pmode, new_rtx); -- set_mem_alias_set (new_rtx, GOT_ALIAS_SET); -+ set_mem_alias_set (new_rtx, ix86_GOT_alias_set ()); - } - - new_rtx = copy_to_suggested_reg (new_rtx, reg, Pmode); -@@ -12324,7 +12335,7 @@ legitimize_tls_address (rtx x, enum tls_model model, bool for_mov) - if (pic) - off = gen_rtx_PLUS (tp_mode, pic, off); - off = gen_const_mem (tp_mode, off); -- set_mem_alias_set (off, GOT_ALIAS_SET); -+ set_mem_alias_set (off, ix86_GOT_alias_set ()); - - if (TARGET_64BIT || TARGET_ANY_GNU_TLS) - { --- -2.45.2 - |