On 8/6/24 17:27, Andrew Pinski wrote:
This is a set of 5 small cleanups for the ranger op table.
I noticed it after was pointed out an uninitialized warning
sometimes happens for it. We should use final classes a lot more,
even if it just used for documentation that you can't use it as a
base class. Also local instances should really be in an anonymous
namespaces but they were missing.

Note there is some unused classes/instances I noticed after putting
them in an anonymous namespace so I `#if 0`ed then. Should we just
remove them instead? They were the pointer related ops which was just
added too.

Andrew Pinski (5):
   range: Make range_op_table class final
   range: Make range_op_table a true singleton class [PR116209]
   ranger: constify range_op_table class
   ranger: Make some classes local to the TU
   ranger: Fix LTO uninitialized variable warning about m_range_tree

  gcc/range-op-float.cc | 27 +++++++++++++++++++--------
  gcc/range-op-ptr.cc   | 20 +++++++++++++++-----
  gcc/range-op.cc       | 19 ++++++++++++++-----
  gcc/range-op.h        | 16 +++++++++++-----
  4 files changed, 59 insertions(+), 23 deletions(-)

I'm fine with all these.

Regarding patch 4 with the unused pointer entries, I think they should be deleted.  I believe they are subsumed by operator_min/operator_max/operator_and/operator_or versions of fold_range which take a prange operand.

Ie the code in pointer_min_max_operator::wi_fold () is basically the same as operator_max::fold_range (prange &r, ...) which is what is currently called for pointers.

I think its a remnant of the previous version before prange and dispatch came along.

Thanks

Andrew




Reply via email to