This avoids one instance of a shift from bytes to bits in
get_ref_base_and_extent by using TYPE_SIZE instead of TYPE_SIZE_UNIT.

Bootstrapped and tested on x86_64-unknown-linux-gnu, pushed.

        * tree-dfa.cc (get_ref_base_and_extent): Avoid shift.
---
 gcc/tree-dfa.cc | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/gcc/tree-dfa.cc b/gcc/tree-dfa.cc
index 21c82cedb9f..e75e3d605b3 100644
--- a/gcc/tree-dfa.cc
+++ b/gcc/tree-dfa.cc
@@ -453,8 +453,8 @@ get_ref_base_and_extent (tree exp, poly_int64_pod *poffset,
                    if (!next
                        || TREE_CODE (stype) != RECORD_TYPE)
                      {
-                       tree fsize = DECL_SIZE_UNIT (field);
-                       tree ssize = TYPE_SIZE_UNIT (stype);
+                       tree fsize = DECL_SIZE (field);
+                       tree ssize = TYPE_SIZE (stype);
                        if (fsize == NULL
                            || !poly_int_tree_p (fsize)
                            || ssize == NULL
@@ -465,7 +465,6 @@ get_ref_base_and_extent (tree exp, poly_int64_pod *poffset,
                            poly_offset_int tem
                              = (wi::to_poly_offset (ssize)
                                 - wi::to_poly_offset (fsize));
-                           tem <<= LOG2_BITS_PER_UNIT;
                            tem -= woffset;
                            maxsize += tem;
                          }
-- 
2.35.3

Reply via email to