aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2022-05-27 14:07:03 +0200
committerRichard Biener <rguenther@suse.de>2022-05-27 14:08:18 +0200
commit37c988bc1b22d1259a4d8e819fc33c65faa9debb (patch)
tree9f936229aca61022a52ea03e6555d0124dfa93e8
parentf571596f8cd8fbad34305b4bec1a813620e0cbf0 (diff)
downloadgcc-37c988bc1b22d1259a4d8e819fc33c65faa9debb.zip
gcc-37c988bc1b22d1259a4d8e819fc33c65faa9debb.tar.gz
gcc-37c988bc1b22d1259a4d8e819fc33c65faa9debb.tar.bz2
Avoid shift in get_ref_base_and_extent
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. * tree-dfa.cc (get_ref_base_and_extent): Avoid shift.
-rw-r--r--gcc/tree-dfa.cc5
1 files changed, 2 insertions, 3 deletions
diff --git a/gcc/tree-dfa.cc b/gcc/tree-dfa.cc
index 21c82ce..e75e3d6 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;
}