]> gcc.gnu.org Git - gcc.git/commitdiff
tree.h (DECL_RESTRICTED_P): Delete.
authorEric Botcazou <ebotcazou@adacore.com>
Mon, 26 Nov 2012 13:56:23 +0000 (13:56 +0000)
committerEric Botcazou <ebotcazou@gcc.gnu.org>
Mon, 26 Nov 2012 13:56:23 +0000 (13:56 +0000)
* tree.h (DECL_RESTRICTED_P): Delete.
(DECL_READ_P): Add comment.
(DECL_NONSHAREABLE): Likewise.
(TYPE_NO_FORCE_BLK): Fix comment.
(struct tree_decl_common): Remove decl_restricted_flag, add decl_flag_3.
* tree-emutls.c (new_emutls_decl): Do not deal with DECL_RESTRICTED_P.
* tree-streamer-in.c (unpack_ts_decl_common_value_fields): Likewise.
* tree-streamer-out.c (pack_ts_decl_common_value_fields): Likewise.
fortran/
* trans-decl.c (gfc_finish_var_decl): Do not set DECL_RESTRICTED_P.

* alias.c (nonoverlapping_component_refs_p): Fix thinko.

From-SVN: r193815

gcc/ChangeLog
gcc/alias.c
gcc/fortran/ChangeLog
gcc/fortran/trans-decl.c
gcc/tree-emutls.c
gcc/tree-streamer-in.c
gcc/tree-streamer-out.c
gcc/tree.h

index 2a03bcac81c827e0383d39bd659819b354bb002b..1ff798fd254d58d6bbd9d55e120421197e25a037 100644 (file)
@@ -1,3 +1,16 @@
+2012-11-26  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * tree.h (DECL_RESTRICTED_P): Delete.
+       (DECL_READ_P): Add comment.
+       (DECL_NONSHAREABLE): Likewise.
+       (TYPE_NO_FORCE_BLK): Fix comment.
+       (struct tree_decl_common): Remove decl_restricted_flag, add decl_flag_3.
+       * tree-emutls.c (new_emutls_decl): Do not deal with DECL_RESTRICTED_P.
+       * tree-streamer-in.c (unpack_ts_decl_common_value_fields): Likewise.
+       * tree-streamer-out.c (pack_ts_decl_common_value_fields): Likewise.
+
+       * alias.c (nonoverlapping_component_refs_p): Fix thinko.
+
 2012-11-26  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
 
        * doc/sourcebuild.texi: Document arm_v8_vfp_ok.
index 21daa5fdb4f2520f96009fb4a59181d03311c46f..15fd7f3180426560cbaf1340a031537f08f4bc8d 100644 (file)
@@ -2237,19 +2237,9 @@ nonoverlapping_component_refs_p (const_rtx rtlx, const_rtx rtly)
 
     found:
       /* If we're left with accessing different fields of a structure, then no
-        possible overlap, unless they are both true bitfields, i.e. bitfields
-        for which the size isn't a multiple of the (memory) unit.  */
+        possible overlap, unless they are both bitfields.  */
       if (TREE_CODE (typex) == RECORD_TYPE && fieldx != fieldy)
-       {
-         if (!DECL_BIT_FIELD (fieldx) || !DECL_BIT_FIELD (fieldy))
-           return true;
-
-         if ((tree_low_cst (DECL_SIZE (fieldx), 1) % BITS_PER_UNIT) == 0
-             || (tree_low_cst (DECL_SIZE (fieldy), 1) % BITS_PER_UNIT) == 0)
-           return true;
-
-         return false;
-       }
+       return !(DECL_BIT_FIELD (fieldx) && DECL_BIT_FIELD (fieldy));
 
       /* The comparison on the current field failed.  If we're accessing
         a very nested structure, look at the next outer level.  */
index d6c759c314b2735bc263fe03f7bc0b10f8cbf7a1..2aa8d60e1f1e1a22fd34b6c053c1da9b97e18a40 100644 (file)
@@ -1,3 +1,7 @@
+2012-11-26  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * trans-decl.c (gfc_finish_var_decl): Do not set DECL_RESTRICTED_P.
+
 2012-11-26  Janus Weil  <janus@gcc.gnu.org>
 
        PR fortran/54997
index 9adcb8bddb27eb34919b9408e860ef5eb30d4b4f..3bee1781d643a613a69b92b1c883245059a9222d 100644 (file)
@@ -611,12 +611,6 @@ gfc_finish_var_decl (tree decl, gfc_symbol * sym)
   if (sym->attr.threadprivate
       && (TREE_STATIC (decl) || DECL_EXTERNAL (decl)))
     DECL_TLS_MODEL (decl) = decl_default_tls_model (decl);
-
-  if (!sym->attr.target
-      && !sym->attr.pointer
-      && !sym->attr.cray_pointee
-      && !sym->attr.proc_pointer)
-    DECL_RESTRICTED_P (decl) = 1;
 }
 
 
index 93270b861c2729dac9bba9daa93d2dea81f55826..8731b24719635b1b0cfae9f9045cdf0b081c292f 100644 (file)
@@ -296,7 +296,6 @@ new_emutls_decl (tree decl, tree alias_of)
   DECL_WEAK (to) = DECL_WEAK (decl);
   DECL_VISIBILITY (to) = DECL_VISIBILITY (decl);
   DECL_VISIBILITY_SPECIFIED (to) = DECL_VISIBILITY_SPECIFIED (decl);
-  DECL_RESTRICTED_P (to) = DECL_RESTRICTED_P (decl);
   DECL_DLLIMPORT_P (to) = DECL_DLLIMPORT_P (decl);
 
   DECL_ATTRIBUTES (to) = targetm.merge_decl_attributes (decl, to);
index 62649d18eeca1c7b3404bffbd59f9a76778f08e1..73dc73cf3837ce63b872c7e73a1be86b8a86dfba 100644 (file)
@@ -236,7 +236,6 @@ unpack_ts_decl_common_value_fields (struct bitpack_d *bp, tree expr)
       if (TREE_CODE (expr) == VAR_DECL
          || TREE_CODE (expr) == PARM_DECL)
        DECL_HAS_VALUE_EXPR_P (expr) = (unsigned) bp_unpack_value (bp, 1);
-      DECL_RESTRICTED_P (expr) = (unsigned) bp_unpack_value (bp, 1);
     }
 }
 
index f1470c1736f1fed24b8580aea5012ff1d056cb34..525426c6d20dbecf1176bbe7ad5c8eeca065d723 100644 (file)
@@ -202,7 +202,6 @@ pack_ts_decl_common_value_fields (struct bitpack_d *bp, tree expr)
       if (TREE_CODE (expr) == VAR_DECL
          || TREE_CODE (expr) == PARM_DECL)
        bp_pack_value (bp, DECL_HAS_VALUE_EXPR_P (expr), 1);
-      bp_pack_value (bp, DECL_RESTRICTED_P (expr), 1);
     }
 }
 
index a830e28d682f54738fd8f7b30d7ede55171baaab..9f17253fbf8613b4de7fc0258cc770728192f5ac 100644 (file)
@@ -1321,18 +1321,13 @@ extern void omp_clause_range_check_failed (const_tree, const char *, int,
   (TREE_CHECK3 (NODE, VAR_DECL, PARM_DECL, \
                RESULT_DECL)->decl_common.decl_by_reference_flag)
 
-/* In a RESULT_DECL, PARM_DECL and VAR_DECL, means that this decl
-   can be used as restricted tag to disambiguate against other restrict
-   pointers.  Used by fortran to capture something like non-addressability
-   (which it isn't really because the middle-end does take addresses of
-   such variables).  */
-#define DECL_RESTRICTED_P(NODE) \
-  (TREE_CHECK3 (NODE, VAR_DECL, PARM_DECL, \
-               RESULT_DECL)->decl_common.decl_restricted_flag)
-
+/* In VAR_DECL and PARM_DECL, set when the decl has been used except for
+   being set.  */
 #define DECL_READ_P(NODE) \
   (TREE_CHECK2 (NODE, VAR_DECL, PARM_DECL)->decl_common.decl_read_flag)
 
+/* In VAR_DECL or RESULT_DECL, set when significant code movement precludes
+   attempting to share the stack slot with some other variable.  */
 #define DECL_NONSHAREABLE(NODE) \
   (TREE_CHECK2 (NODE, VAR_DECL, \
                RESULT_DECL)->decl_common.decl_nonshareable_flag)
@@ -2195,8 +2190,8 @@ extern enum machine_mode vector_type_mode (const_tree);
    get one debug info record for them.  */
 #define TYPE_STUB_DECL(NODE) (TREE_CHAIN (TYPE_CHECK (NODE)))
 
-/* In a RECORD_TYPE, UNION_TYPE or QUAL_UNION_TYPE, it means the type
-   has BLKmode only because it lacks the alignment requirement for
+/* In a RECORD_TYPE, UNION_TYPE, QUAL_UNION_TYPE or ARRAY_TYPE, it means
+   the type has BLKmode only because it lacks the alignment required for
    its size.  */
 #define TYPE_NO_FORCE_BLK(NODE) \
   (TYPE_CHECK (NODE)->type_common.no_force_blk_flag)
@@ -2848,26 +2843,22 @@ struct GTY(()) tree_decl_common {
      In VAR_DECL, PARM_DECL and RESULT_DECL, this is
      DECL_HAS_VALUE_EXPR_P.  */
   unsigned decl_flag_2 : 1;
+  /* 1 bit unused.  */
+  unsigned decl_flag_3 : 1;
   /* Logically, these two would go in a theoretical base shared by var and
      parm decl. */
   unsigned gimple_reg_flag : 1;
   /* In VAR_DECL, PARM_DECL and RESULT_DECL, this is DECL_BY_REFERENCE.  */
   unsigned decl_by_reference_flag : 1;
-  /* In VAR_DECL, PARM_DECL and RESULT_DECL, this is DECL_RESTRICTED_P.  */
-  unsigned decl_restricted_flag : 1;
-
-  /* In VAR_DECL and PARM_DECL set when the decl has been used except for
-     being set.  */
+  /* In a VAR_DECL and PARM_DECL, this is DECL_READ_P.  */
   unsigned decl_read_flag : 1;
-
-  /* In VAR_DECL or RESULT_DECL set when significant code movement precludes
-     attempting to share the stack slot with some other variable.  */
+  /* In a VAR_DECL or RESULT_DECL, this is DECL_NONSHAREABLE.  */
   unsigned decl_nonshareable_flag : 1;
 
   /* DECL_OFFSET_ALIGN, used only for FIELD_DECLs.  */
   unsigned int off_align : 8;
 
-  /* 24-bits unused.  */
+  /* 24 bits unused.  */
 
   /* DECL_ALIGN.  It should have the same size as TYPE_ALIGN.  */
   unsigned int align;
This page took 0.119564 seconds and 5 git commands to generate.