https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96564

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Last reconfirmed|2020-08-11 00:00:00         |2024-5-16
                 CC|                            |aldyh at gcc dot gnu.org

--- Comment #17 from Richard Biener <rguenth at gcc dot gnu.org> ---
Handling pointer-vs-pointer in ptrs_compare_unequal isn't enough since we have

  # PT = nonlocal null
  unsigned int * x_7(D) = x;
...
  # PT = null { D.2785 }
  a_9 = malloc (_2);
  if (a_9 == 0B) 
    goto <bb 7>; [0.04%]
  else
    goto <bb 3>; [99.96%]

  <bb 7> [local count: 429496]:
  goto <bb 6>; [100.00%]

  <bb 3> [local count: 1073312328]:
  if (x_7(D) != a_9)

so querying points-to only has to consider both pointers being NULL.  Now,
I'm not sure how prange handles the above and whether or how it integrates
knowledge from flow-insensitive points-to analysis.

Aldy might know.

I'm testing a patch enhancing ptrs_compare_unequal right now, also filling
in a missing bit in points-to info.

Reply via email to