public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Aldy Hernandez <aldyh@redhat.com>
To: GCC patches <gcc-patches@gcc.gnu.org>
Cc: Andrew MacLeod <amacleod@redhat.com>, Aldy Hernandez <aldyh@redhat.com>
Subject: [PATCH 00/16] prange supporting patchset
Date: Sun, 28 Apr 2024 21:05:38 +0200	[thread overview]
Message-ID: <20240428190557.1209586-1-aldyh@redhat.com> (raw)

In this cycle, we will be contributing ranges for pointers (prange),
to disambiguate pointers from integers in a range.  Initially they
will behave exactly as they do now, with just two integer end points
and a bitmask, but eventually we will track points-to info in a less
hacky manner than what we do with the pointer equivalency class
(pointer_equiv_analyzer).

This first set of patches implements a bunch of little cleanups and
set-ups that will make it easier to drop in prange in a week or two.
The patches in this set are non-intrusive, and don't touch code that
changes much in the release, so they should be safe to push now.

There should be no change in behavior in any of these patches.

All patches have been tested on x86-64 Linux.

Aldy Hernandez (16):
  Make vrange an abstract class.
  Add a virtual vrange destructor.
  Make some Value_Range's explicitly integer.
  Add tree versions of lower and upper bounds to vrange.
  Move bitmask routines to vrange base class.
  Remove GTY support for vrange and derived classes.
  Make fold_cond_with_ops use a boolean type for range_true/range_false.
  Change range_includes_zero_p argument to a reference.
  Verify that reading back from vrange_storage doesn't drop bits.
  Accept a vrange in get_legacy_range.
  Move get_bitmask_from_range out of irange class.
  Make some integer specific ranges generic Value_Range's.
  Accept any vrange in range_includes_zero_p.
  Move print_irange_* out of vrange_printer class.
  Remove range_zero and range_nonzero.
  Callers of irange_bitmask must normalize value/mask pairs.

 gcc/gimple-range-op.cc          |   6 +-
 gcc/gimple-ssa-warn-access.cc   |   4 +-
 gcc/ipa-cp.cc                   |   9 +-
 gcc/ipa-prop.cc                 |  10 +-
 gcc/range-op-mixed.h            |   2 +-
 gcc/range-op-ptr.cc             |  14 +-
 gcc/range-op.cc                 |  20 ++-
 gcc/range.cc                    |  14 --
 gcc/range.h                     |   2 -
 gcc/tree-ssa-ccp.cc             |   1 +
 gcc/tree-ssa-loop-niter.cc      |  16 +-
 gcc/tree-ssa-loop-split.cc      |   6 +-
 gcc/tree-ssa-strlen.cc          |   2 +-
 gcc/value-query.cc              |   4 +-
 gcc/value-range-pretty-print.cc |  83 +++++-----
 gcc/value-range-pretty-print.h  |   2 -
 gcc/value-range-storage.cc      |  20 ++-
 gcc/value-range-storage.h       |   4 -
 gcc/value-range.cc              | 284 ++++++++++++++++----------------
 gcc/value-range.h               | 166 ++++++++-----------
 gcc/vr-values.cc                |   7 +-
 21 files changed, 310 insertions(+), 366 deletions(-)

-- 
2.44.0


             reply	other threads:[~2024-04-28 19:06 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-28 19:05 Aldy Hernandez [this message]
2024-04-28 19:05 ` [COMMITTED 01/16] Make vrange an abstract class Aldy Hernandez
2024-04-28 19:05 ` [COMMITTED 02/16] Add a virtual vrange destructor Aldy Hernandez
2024-04-28 19:05 ` [COMMITTED 03/16] Make some Value_Range's explicitly integer Aldy Hernandez
2024-04-30  7:46   ` Richard Biener
2024-04-30  8:38     ` Aldy Hernandez
2024-04-28 19:05 ` [COMMITTED 04/16] Add tree versions of lower and upper bounds to vrange Aldy Hernandez
2024-04-28 19:05 ` [COMMITTED 05/16] Move bitmask routines to vrange base class Aldy Hernandez
2024-04-28 19:05 ` [COMMITTED 06/16] Remove GTY support for vrange and derived classes Aldy Hernandez
2024-04-28 19:05 ` [COMMITTED 07/16] Make fold_cond_with_ops use a boolean type for range_true/range_false Aldy Hernandez
2024-04-28 19:05 ` [COMMITTED 08/16] Change range_includes_zero_p argument to a reference Aldy Hernandez
2024-04-28 19:05 ` [COMMITTED 09/16] Verify that reading back from vrange_storage doesn't drop bits Aldy Hernandez
2024-04-28 19:05 ` [COMMITTED 10/16] Accept a vrange in get_legacy_range Aldy Hernandez
2024-04-28 19:05 ` [COMMITTED 11/16] Move get_bitmask_from_range out of irange class Aldy Hernandez
2024-04-28 19:05 ` [COMMITTED 12/16] Make some integer specific ranges generic Value_Range's Aldy Hernandez
2024-04-28 19:05 ` [COMMITTED 13/16] Accept any vrange in range_includes_zero_p Aldy Hernandez
2024-04-28 19:05 ` [COMMITTED 14/16] Move print_irange_* out of vrange_printer class Aldy Hernandez
2024-04-28 19:05 ` [COMMITTED 15/16] Remove range_zero and range_nonzero Aldy Hernandez
2024-04-28 19:05 ` [COMMITTED 16/16] Callers of irange_bitmask must normalize value/mask pairs Aldy Hernandez

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240428190557.1209586-1-aldyh@redhat.com \
    --to=aldyh@redhat.com \
    --cc=amacleod@redhat.com \
    --cc=gcc-patches@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).