]> git.ipfire.org Git - thirdparty/gcc.git/commit
Cleanup irange::set.
authorAldy Hernandez <aldyh@redhat.com>
Thu, 2 Mar 2023 22:37:20 +0000 (23:37 +0100)
committerAldy Hernandez <aldyh@redhat.com>
Mon, 1 May 2023 06:33:16 +0000 (08:33 +0200)
commit178abecaa9ca96acee6e155261d4dc50dd98fab4
treedff34f1b8545cea5b5113879ce25a80945367afa
parentc92b8be9b52b7e0de5ad67bc268dad1498181908
Cleanup irange::set.

Now that anti-ranges are no more and iranges contain wide_ints instead
of trees, various cleanups are possible.  This is one of a handful of
patches improving the performance of irange::set() which is not on a
hot path, but quite sensitive because it is so pervasive.

gcc/ChangeLog:

* gimple-range-op.cc (cfn_ffs::fold_range): Use the correct
precision.
* gimple-ssa-warn-alloca.cc (alloca_call_type): Use <2> for
invalid_range, as it is an inverse range.
* tree-vrp.cc (find_case_label_range): Avoid trees.
* value-range.cc (irange::irange_set): Delete.
(irange::irange_set_1bit_anti_range): Delete.
(irange::irange_set_anti_range): Delete.
(irange::set): Cleanup.
* value-range.h (class irange): Remove irange_set,
irange_set_anti_range, irange_set_1bit_anti_range.
(irange::set_undefined): Remove set to m_type.
gcc/gimple-range-op.cc
gcc/gimple-ssa-warn-alloca.cc
gcc/tree-vrp.cc
gcc/value-range.cc
gcc/value-range.h