]> gcc.gnu.org Git - gcc.git/commitdiff
Fix target/103910: missing GTY on x86_mfence causing PCH usage to ICE
authorAndrew Pinski <apinski@marvell.com>
Wed, 5 Jan 2022 22:00:07 +0000 (22:00 +0000)
committerAndrew Pinski <apinski@marvell.com>
Wed, 5 Jan 2022 22:37:19 +0000 (22:37 +0000)
With -O3 -march=opteron, a mfence builtin is added after the loop
to say the nontemporal stores are no longer needed. This all good
without precompiled headers as the function decl that is referneced
by x86_mfence is referenced in another variable but with precompiled
headers, x86_mfence is all messed up and the decl was GC'ed away.
This fixes the problem by marking x86_mfence as GTY to save/restore
during precompiled headers just like most other variables in
the header file.

Committed as obvious after a bootstrap/test on x86_64-linux-gnu.

gcc/ChangeLog:

PR target/103910
* config/i386/i386.h (x86_mfence): Mark with GTY.

gcc/config/i386/i386.h

index f027608eefacc87ac1357c7f2369f5af05c4af86..3ac0f698ae2bd9de112570bee1b9fbcc8eeab785 100644 (file)
@@ -486,7 +486,7 @@ extern unsigned char ix86_prefetch_sse;
 
 /* Fence to use after loop using storent.  */
 
-extern tree x86_mfence;
+extern GTY(()) tree x86_mfence;
 #define FENCE_FOLLOWING_MOVNT x86_mfence
 
 /* Once GDB has been enhanced to deal with functions without frame
This page took 0.072313 seconds and 5 git commands to generate.