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