diff options
author | Jan Hubicka <hubicka@ucw.cz> | 2019-06-17 12:22:39 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2019-06-17 10:22:39 +0000 |
commit | e67ddda63ca523614921f2baaf3d571791d32d1a (patch) | |
tree | 60da19ed9408faa384b1fc75c9ed7d89f8eef8be | |
parent | c98d845f308a2eaef5a9bc33256bf5cfceb9dc13 (diff) | |
download | gcc-e67ddda63ca523614921f2baaf3d571791d32d1a.zip gcc-e67ddda63ca523614921f2baaf3d571791d32d1a.tar.gz gcc-e67ddda63ca523614921f2baaf3d571791d32d1a.tar.bz2 |
tree-ssa-alias.c (nonoverlapping_component_refs_p): Also truncate access path on BIT_FIELD_REFs.
* tree-ssa-alias.c (nonoverlapping_component_refs_p): Also truncate
access path on BIT_FIELD_REFs.
From-SVN: r272380
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/tree-ssa-alias.c | 6 |
2 files changed, 9 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d2f4db4..4351972 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2019-06-17 Jan Hubicka <hubicka@ucw.cz> + + * tree-ssa-alias.c (nonoverlapping_component_refs_p): Also truncate + access path on BIT_FIELD_REFs. + 2019-06-17 Martin Liska <mliska@suse.cz> PR ipa/90874 diff --git a/gcc/tree-ssa-alias.c b/gcc/tree-ssa-alias.c index b9cdc85..399e06c 100644 --- a/gcc/tree-ssa-alias.c +++ b/gcc/tree-ssa-alias.c @@ -1268,7 +1268,8 @@ nonoverlapping_component_refs_p (const_tree x, const_tree y) 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_tree x, const_tree y) 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); } |