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

--- Comment #29 from Martin Sebor <msebor at gcc dot gnu.org> ---
>From memory: At use1 the cache is empty so go and find its definition and
record the offset at that point, with the pointer addition as the context.  And
at use2 we look up the same offset.  So use1 won't reflect the constant offset.
 That could be both good (if the code is unreachable) and bad (if it is and the
use is invalid.

If it did work the way you're concerned I'd expect to see a lot of mysterious
false positives.  The cache has been in use since GCC 11 and I don't recall
coming across any puzzling problems.  But we have seen an uptick in false
positives in GCC 12 after we switched over to Ranger so let me double check it
really does work the way I say it does.

Reply via email to