This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH][RFC] Add dynamic edge/bb flag allocation
On Tue, 22 May 2018, Richard Biener wrote:
> + if (*sptr & (1 << (CHAR_BIT * sizeof (T) - 1)))
> + gcc_unreachable ();
> + m_flag = 1 << ((CHAR_BIT * sizeof (T)) - clz_hwi (*sptr));
I don't see how the use of clz_hwi works with a type T that may be
narrower than HOST_WIDE_INT. Surely this logic requires a count of
leading zeros in something of type T, not a possibly larger number of
leading zeros after conversion to HOST_WIDE_INT? Also, if T is wider than
int, shifting plain 1 won't work here.
--
Joseph S. Myers
joseph@codesourcery.com