The rtx u2 field currently uses a desc/tag pair for GTY.  This seems
unnecessary though, since the field is specifically supposed to be
32 bits wide on 64-bit hosts and so cannot hold a pointer.

Tested on x86_64-linux-gnu.  OK to install?

Thanks,
Richard


gcc/
        * rtl.h (rtx_def): Mark u2 as GTY ((skip)).

Index: gcc/rtl.h
===================================================================
--- gcc/rtl.h   2014-05-10 09:35:05.112643742 +0100
+++ gcc/rtl.h   2014-05-10 14:02:52.349291772 +0100
@@ -354,8 +354,8 @@ struct GTY((chain_next ("RTX_NEXT (&%h)"
 
     /* In a CONST_WIDE_INT (aka hwivec_def), this is the number of
        HOST_WIDE_INTs in the hwivec_def.  */
-    unsigned GTY ((tag ("CONST_WIDE_INT"))) num_elem:32;
-  } GTY ((desc ("GET_CODE (&%0)"))) u2;
+    unsigned num_elem;
+  } GTY ((skip)) u2;
 
   /* The first element of the operands of this rtx.
      The number of operands and their types are controlled

Reply via email to