nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1From d243f4009d8071b734df16cd70f4c5d09a373769 Mon Sep 17 00:00:00 2001
2From: Andrew Pinski <apinski@marvell.com>
3Date: Wed, 5 Jan 2022 22:00:07 +0000
4Subject: [PATCH] Fix target/103910: missing GTY on x86_mfence causing PCH
5 usage to ICE
6
7With -O3 -march=opteron, a mfence builtin is added after the loop
8to say the nontemporal stores are no longer needed. This all good
9without precompiled headers as the function decl that is referneced
10by x86_mfence is referenced in another variable but with precompiled
11headers, x86_mfence is all messed up and the decl was GC'ed away.
12This fixes the problem by marking x86_mfence as GTY to save/restore
13during precompiled headers just like most other variables in
14the header file.
15
16Committed as obvious after a bootstrap/test on x86_64-linux-gnu.
17
18gcc/ChangeLog:
19
20 PR target/103910
21 * config/i386/i386.h (x86_mfence): Mark with GTY.
22---
23 gcc/config/i386/i386.h | 2 +-
24 1 file changed, 1 insertion(+), 1 deletion(-)
25
26diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h
27index f027608eefa..3ac0f698ae2 100644
28--- a/gcc/config/i386/i386.h
29+++ b/gcc/config/i386/i386.h
30@@ -486,7 +486,7 @@ extern unsigned char ix86_prefetch_sse;
31
32 /* Fence to use after loop using storent. */
33
34-extern tree x86_mfence;
35+extern GTY(()) tree x86_mfence;
36 #define FENCE_FOLLOWING_MOVNT x86_mfence
37
38 /* Once GDB has been enhanced to deal with functions without frame
39--
402.31.1
41