On Mon, 2020-05-04 at 14:11 +0200, Richard Biener wrote: > This patch sits in my trees for quite some years and I always forget > to push it - it usually gets triggered by weird targets (PSImode > pointers/sizetype) which run into GIMPLE IL checking asserts for > pointer -> integer conversions and the "sizetype" special-case > not triggering. That special-case should not exist but instead > it should be something like the patch below - the whole point > of the IL consistecy check is to ensure we know how to extend > from pointer to integer. > > I've bootstrapped / tested the patch on x86_64 where it is a no-op. > > But from the looks, can you punch any holes in it? (it was able > to resolve reporters issues at least). > > Thanks, > Richard. > > - > > The existing check doesn't reflect the actual reason why it exists, > the patch makes us to use POINTERS_EXTEND_UNSIGNED instead which > is specified for ptr_mode and word_mode/Pmode precision. > > * tree-cfg.c (verify_gimple_assign_unary): Adjust integer > to/from pointer conversion checking. I'd say let's go for it. The tester will pick it up and I'll complain if any of the targets start failing.
jeff >