public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc r12-6999] analyzer: consolidate duplicate code in region::calc_offset
@ 2022-02-02 14:54 David Malcolm
0 siblings, 0 replies; only message in thread
From: David Malcolm @ 2022-02-02 14:54 UTC (permalink / raw)
To: gcc-cvs
https://gcc.gnu.org/g:ea3e1915954371d8230fda44ce6821928f04f80e
commit r12-6999-gea3e1915954371d8230fda44ce6821928f04f80e
Author: David Malcolm <dmalcolm@redhat.com>
Date: Tue Feb 1 15:48:26 2022 -0500
analyzer: consolidate duplicate code in region::calc_offset
gcc/analyzer/ChangeLog:
* region.cc (region::calc_offset): Consolidate effectively
identical cases.
Signed-off-by: David Malcolm <dmalcolm@redhat.com>
Diff:
---
gcc/analyzer/region.cc | 48 +++++-------------------------------------------
1 file changed, 5 insertions(+), 43 deletions(-)
diff --git a/gcc/analyzer/region.cc b/gcc/analyzer/region.cc
index 9d8fdb22271..77554b86143 100644
--- a/gcc/analyzer/region.cc
+++ b/gcc/analyzer/region.cc
@@ -499,41 +499,16 @@ region::calc_offset () const
switch (iter_region->get_kind ())
{
case RK_FIELD:
- {
- const field_region *field_reg
- = (const field_region *)iter_region;
- iter_region = iter_region->get_parent_region ();
-
- bit_offset_t rel_bit_offset;
- if (!field_reg->get_relative_concrete_offset (&rel_bit_offset))
- return region_offset::make_symbolic (iter_region);
- accum_bit_offset += rel_bit_offset;
- }
- continue;
-
case RK_ELEMENT:
- {
- const element_region *element_reg
- = (const element_region *)iter_region;
- iter_region = iter_region->get_parent_region ();
-
- bit_offset_t rel_bit_offset;
- if (!element_reg->get_relative_concrete_offset (&rel_bit_offset))
- return region_offset::make_symbolic (iter_region);
- accum_bit_offset += rel_bit_offset;
- }
- continue;
-
case RK_OFFSET:
+ case RK_BIT_RANGE:
{
- const offset_region *offset_reg
- = (const offset_region *)iter_region;
- iter_region = iter_region->get_parent_region ();
-
bit_offset_t rel_bit_offset;
- if (!offset_reg->get_relative_concrete_offset (&rel_bit_offset))
- return region_offset::make_symbolic (iter_region);
+ if (!iter_region->get_relative_concrete_offset (&rel_bit_offset))
+ return region_offset::make_symbolic
+ (iter_region->get_parent_region ());
accum_bit_offset += rel_bit_offset;
+ iter_region = iter_region->get_parent_region ();
}
continue;
@@ -549,19 +524,6 @@ region::calc_offset () const
}
continue;
- case RK_BIT_RANGE:
- {
- const bit_range_region *bit_range_reg
- = (const bit_range_region *)iter_region;
- iter_region = iter_region->get_parent_region ();
-
- bit_offset_t rel_bit_offset;
- if (!bit_range_reg->get_relative_concrete_offset (&rel_bit_offset))
- return region_offset::make_symbolic (iter_region);
- accum_bit_offset += rel_bit_offset;
- }
- continue;
-
default:
return region_offset::make_concrete (iter_region, accum_bit_offset);
}
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2022-02-02 14:54 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-02-02 14:54 [gcc r12-6999] analyzer: consolidate duplicate code in region::calc_offset David Malcolm
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).