------- 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

Reply via email to