[PATCH] D37353: [SparsePropagation] Enable interprocedural analysis

Davide Italiano via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 14 14:27:12 PDT 2017


davide added a comment.

In https://reviews.llvm.org/D37353#871147, @mssimpso wrote:

> Added some unit tests. Thanks for the suggestion. I briefly considered moving SCCP over to the generic solver (as a simple way to re-purpose the existing tests), but this might not be that straightforward after all. The re-solving for `undef` values will need to be considered. In the end, adding unit tests for this patch wasn't that difficult to do.


Ideally we should consider moving to a model where the resolver doesn't really exist.
There are lots of subtleties in the way solver and resolver work in lockstep.
I'm pretty sure the only reason why SCCP didn't fall apart as GVN (the old one) or many other passes in tree is because Zhendong didn't fire up his fuzzer engine on it :)
I didn't have time to work on this (I had a couple of prototypes) and it's unlikely things will change in the near future (1-2 months).
So, for now I'm fine to leave the constant solver where it is but I'd still like to point out you just uncovered the tip of the iceberg.


https://reviews.llvm.org/D37353





More information about the llvm-commits mailing list