[bootstrap-O3] use unsigned type for regno in df-scan
Alexandre Oliva
aoliva@redhat.com
Wed Jan 4 13:16:00 GMT 2017
On Jan 3, 2017, Jeff Law <law@redhat.com> wrote:
> What if REGNO is 2147483648 (assume 32 bit host). That will get us
> into the else block in df_ref_record as it's >= FIRST_PSEUDO_REGISTER.
> In df_ref_create_structure, we use the same expression to compute
> REGNO, but this time it's interpreted as a signed integer, so
> -2147483648. That gets us into the path where we call
> TEST_HARD_REG_BIT and thus the oob array index.
> Right?
Yup, that's exactly how VRP goes about in concluding that there is
something to warn about.
If we get a pseudo count overflow, I guess we'll have bigger problems
than this one, but VRP doesn't know it ;-)
--
Alexandre Oliva, freedom fighter http://FSFLA.org/~lxoliva/
You must be the change you wish to see in the world. -- Gandhi
Be Free! -- http://FSFLA.org/ FSF Latin America board member
Free Software Evangelist|Red Hat Brasil GNU Toolchain Engineer
More information about the Gcc-patches
mailing list