[PATCH] D30003: AssumptionCache: Disable the verifier by default, move it behind a hidden cl::opt and verify from releaseMemory().
Chandler Carruth via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Feb 15 14:35:01 PST 2017
chandlerc added a comment.
In https://reviews.llvm.org/D30003#677918, @dberlin wrote:
> While i agree it's troubling, it's interesting to note that we have that behavior elsewhere.
>
> For example memdep caches, but not in a way that invalidates fully.
>
> Thus, opt -gvn -gvn will give different answers than opt -gvn | opt -gvn
> both are "correct" answers, just the former is more conservative than the latter.
Yeah, SCEV also has this property. So do several other analyses IIRC. =[
I'm not thrilled about making it worse, and we have a PR tracking this. My current best idea is to pull this up into a function analysis that can actually be invalidated. We can trivially make the new PM work this way today, and with some work could probably get it to work in the old PM as well.
(There remains the meta discussion of whether an analysis invalidation strategy to be conservatively correct is the most efficient approach or we should do something else, but even if we decide to do something else that seems significantly longer term to me.)
Repository:
rL LLVM
https://reviews.llvm.org/D30003
More information about the llvm-commits
mailing list