This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[trunk][patch committed] New default_def_flag in tree_base


Hello.

This patch introduces a new default_def_flag, to tree_base. This
is needed because I've run into a flag collision, when volatile_flag
is used for indicating a default definition. Thus some variables end
up being marked as volatile, when in fact they should not be.

Tested on i686-linux, no new regressions.

Approved by dnovillo.


Oleg
Index: tree.h
===================================================================
--- tree.h	(revision 134191)
+++ tree.h	(working copy)
@@ -389,6 +389,7 @@ struct tree_base GTY(())
   unsigned deprecated_flag : 1;
   unsigned invariant_flag : 1;
   unsigned saturating_flag : 1;
+  unsigned default_def_flag : 1;
 
   unsigned lang_flag_0 : 1;
   unsigned lang_flag_1 : 1;
@@ -399,7 +400,7 @@ struct tree_base GTY(())
   unsigned lang_flag_6 : 1;
   unsigned visited : 1;
 
-  unsigned spare : 23;
+  unsigned spare : 22;
 
   /* FIXME tuples: Eventually, we need to move this somewhere external to
      the trees.  */
@@ -1881,7 +1882,7 @@ struct tree_exp GTY(())
    Default definitions are always created by an empty statement and
    belong to no basic block.  */
 #define SSA_NAME_IS_DEFAULT_DEF(NODE)	\
-    SSA_NAME_CHECK (NODE)->base.volatile_flag
+    SSA_NAME_CHECK (NODE)->base.default_def_flag
 
 /* Attributes for SSA_NAMEs for pointer-type variables.  */
 #define SSA_NAME_PTR_INFO(N) \
Index: ChangeLog
===================================================================
--- ChangeLog	(revision 134191)
+++ ChangeLog	(working copy)
@@ -1,3 +1,8 @@
+2008-04-10  Oleg Ryjkov  <olegr@google.com>
+
+	* tree.h (struct tree_base): Added a new flag default_def_flag.
+	(SSA_NAME_IS_DEFAULT_DEF): Changed to use the new flag.
+
 2008-04-11  Kaz Kojima  <kkojima@gcc.gnu.org>
 
 	* config.gcc (need_64bit_hwint): Need 64bit hwint for sh-*-*.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]