------- Comment #9 from rguenth at gcc dot gnu dot org 2006-03-10 11:10 -------
<L2>:; pretmp.23_2 = (union U *) &rv; # NMT.6_4 = PHI <NMT.6_5(2), NMT.6_6(5)>; ovfl:; rv.0_1 = pretmp.23_2; # NMT.6_6 = V_MAY_DEF <NMT.6_4>; rv.0_1->d = 42; # VUSE <NMT.6_6>; D.1529_3 = rv.0_1->L; if (D.1529_3 != 0) goto <L5>; else goto <L1>; <L5>:; goto <bb 3> (ovfl); we prop pretmp.23_2 to rv.0_1 in rv.0_1->d = 42 -- but we don't have the NMT associated with pretmp.23_2: $5 = {pt_anything = 0, value_escapes_p = 0, is_dereferenced = 0, pt_global_mem = 0, pt_null = 0, pt_vars = 0xb7dec890, name_mem_tag = 0x0, escape_mask = 0} As we have in alias after PRE: Pointed-to sets for pointers in breakme pretmp.23_2, points-to vars: { rv } rv.0_1, name memory tag: NMT.6, is dereferenced, points-to vars: { rv } which looks inconsistent. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26626