Hi
this is patch for BIT_FIELD_REFs on nonoverlapping_component_refs_p
I comitted after testing on x86_64-linux

Honza

Index: ChangeLog
===================================================================
--- ChangeLog   (revision 272379)
+++ ChangeLog   (working copy)
@@ -1,3 +1,8 @@
+2019-06-17  Jan Hubicka  <hubi...@ucw.cz>
+
+       * tree-ssa-alias.c (nonoverlapping_component_refs_p): Also truncate
+       access path on BIT_FIELD_REFs.
+
 2019-06-17  Martin Liska  <mli...@suse.cz>
 
        PR ipa/90874
Index: tree-ssa-alias.c
===================================================================
--- tree-ssa-alias.c    (revision 272379)
+++ tree-ssa-alias.c    (working copy)
@@ -1268,7 +1268,8 @@ nonoverlapping_component_refs_p (const_t
          if (TREE_CODE (type) == RECORD_TYPE)
            fieldsx.safe_push (field);
        }
-      else if (TREE_CODE (x) == VIEW_CONVERT_EXPR)
+      else if (TREE_CODE (x) == VIEW_CONVERT_EXPR
+              || TREE_CODE (x) == BIT_FIELD_REF)
        fieldsx.truncate (0);
       x = TREE_OPERAND (x, 0);
     }
@@ -1284,7 +1285,8 @@ nonoverlapping_component_refs_p (const_t
          if (TREE_CODE (type) == RECORD_TYPE)
            fieldsy.safe_push (TREE_OPERAND (y, 1));
        }
-      else if (TREE_CODE (y) == VIEW_CONVERT_EXPR)
+      else if (TREE_CODE (y) == VIEW_CONVERT_EXPR
+              || TREE_CODE (y) == BIT_FIELD_REF)
        fieldsy.truncate (0);
       y = TREE_OPERAND (y, 0);
     }

Reply via email to