Hi!

On Fri, Oct 21, 2022 at 03:14:26PM +0200, Aldy Hernandez via Gcc-patches wrote:
> The name nonzero_bits is confusing.  We're not tracking nonzero bits.
> We're tracking known-zero bits, or at the worst we're tracking "maye
> nonzero bits".  But really, the only thing we're sure about in the
> "nonzero" bits are the bits that are zero, which are known to be 0.
> We're not tracking nonzero bits.

Indeed.

> I know we've been carrying around this name forever, but the fact that
> both of the maintainers of the code *HATE* it, should be telling.
> Also, we'd also like to track known-one bits in the irange, so it's
> best to keep the nomenclature consistent.

And that as well.

However:

>       * asan.cc (handle_builtin_alloca): Rename *nonzero* to *known_zero*.

Our "nonzero" means "not known to be zero", not "known to be zero", so
this renaming makes it worse than it was.  Rename it to
"not_known_zero", make that a thin wrapper around a new "known_zero",
and slowly get rid of not_known_zero?

> --- a/gcc/asan.cc
> +++ b/gcc/asan.cc
> @@ -816,7 +816,7 @@ handle_builtin_alloca (gcall *call, gimple_stmt_iterator 
> *iter)
>    tree redzone_size = build_int_cst (size_type_node, ASAN_RED_ZONE_SIZE);
>  
>    /* Extract lower bits from old_size.  */
> -  wide_int size_nonzero_bits = get_nonzero_bits (old_size);
> +  wide_int size_nonzero_bits = get_known_zero_bits (old_size);

Such variables should also be renamed :-(


Segher

Reply via email to