]> git.ipfire.org Git - thirdparty/gcc.git/commit
value-range: update comments
authorDavid Malcolm <dmalcolm@redhat.com>
Thu, 5 Feb 2026 23:36:32 +0000 (18:36 -0500)
committerDavid Malcolm <dmalcolm@redhat.com>
Thu, 5 Feb 2026 23:36:32 +0000 (18:36 -0500)
commitecb34673283fe1ff199ffdf7afa1053cf462b325
tree9dc3edbb4f06b7f073c4477e601315a5b3e9589e
parent11853468bc2745426b6d864266c5971e1c423bf2
value-range: update comments

One of the difficulties I ran into when familiarizing myself with
value-range.{h,cc} is that the comments and classes refer to
representations of "ranges", but the implementation has grown beyond
mere ranges of values (such as with bitmasks and NaN-tracking).

Arguably "range" could refer to the mathematical definition: the set
of possible outputs of a function, but I find it much clearer to think
of these classes as efficient representations of subsets of possible
values of a type.

This patch updates various leading comments in a way that clarifies
the intent of these classes (for me, at least).

gcc/ChangeLog:
* value-range.cc (irange_bitmask::irange_bitmask): Fix typo in
comment.
* value-range.h (class vrange): Update leading comment to refer
to "subsets" rather than "ranges".  Allude to the available
subclasses.  Warn that the classes can be over-approximations and
thus can introduce imprecision.
(class irange_bitmask): Updating leading comment to refer to
knowledge about a "value", rather than a "range".  Reword
description of MASK and VALUE to clarify implementation, and
add an example.
(class irange): Update leading comment to refer to a
"subset of possible values" rather than a "range", and
that subclasses have responsibility for storage.
(class nan_state): Rewrite leading comment.
(class frange final): Update leading comment to refer to
subsets of possible values, rather than ranges, and to
consistently use "Nan" when capitalizing.

Signed-off-by: David Malcolm <dmalcolm@redhat.com>
gcc/value-range.cc
gcc/value-range.h