This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Problems in IPA passes
- From: Jeff Law <law at redhat dot com>
- To: Jan Hubicka <jh at suse dot cz>
- Cc: GCC <gcc at gcc dot gnu dot org>
- Date: Sat, 28 Oct 2017 01:28:38 -0600
- Subject: Problems in IPA passes
- Authentication-results: sourceware.org; auth=none
- Authentication-results: ext-mx03.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com
- Authentication-results: ext-mx03.extmail.prod.ext.phx2.redhat.com; spf=fail smtp.mailfrom=law at redhat dot com
- Dmarc-filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 3C9A96A7C5
Jan,
What's the purpose behind calling vrp_meet and
extract_range_from_unary_expr from within the IPA passes?
AFAICT that is not safe to do. Various paths through those routines
will access static objects within tree-vrp.c which may not be
initialized when IPA runs (vrp_equiv_obstack, vr_value).
While this seems to be working today, it's a failure waiting to happen.
Is there any way you can avoid using those routines? I can't believe
you really need all the complexity of those routines, particularly
extract_range_from_unary_expr. Plus it's just downright fugly from a
modularity standpoint.
?
Jeff