[PATCH] D130270: [clang][dataflow] Use a dedicated bool to encode which branch was taken

Yitzhak Mandelbaum via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Sep 9 10:19:35 PDT 2022


ymandel requested changes to this revision.
ymandel added a comment.
This revision now requires changes to proceed.

It turns out that this change wasn't necessary. I've deleted the relevant FIXME in https://reviews.llvm.org/rGabc16c7a5b0a63d14172262153608b3d24de957f.

AFAICT, the reason that the new test `JoinBackedge` fails at HEAD is because we discard the results of analyzing the function body, so the update `Foo = false` is simply ignored. This hypothesis rests on observing that each block is visited only once during analysis of the test. It's also consistent with the known (broken) behavior of our comparison operator. Interestingly, this is a nicely stark illustration of the unsoundness of our current approach. :( So, this test will be useful in the future when add proper widening.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D130270/new/

https://reviews.llvm.org/D130270



More information about the cfe-commits mailing list