https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103083
--- Comment #3 from Jan Hubicka <hubicka at gcc dot gnu.org> --- Just for the record, the problem is the ancestor jump function being used to model two things - pointer plus which originates from ADDR_EXPR of component reference and also C++ casts which checks whether parameter is NULL and does pointer plus inly for non-NULL. In this case the VR propgataion expects the first interpretation (without special casing NULL) while the testcase does the second. Honza