[LVI] Complete the abstract of the cache layer [NFCI]
authorPhilip Reames <listmail@philipreames.com>
Mon, 12 Sep 2016 22:38:44 +0000 (22:38 +0000)
committerPhilip Reames <listmail@philipreames.com>
Mon, 12 Sep 2016 22:38:44 +0000 (22:38 +0000)
commit9db7948e90133938079bc9bdb02b16cfd22f0015
tree4dda41b2e6bff71d19df088bcbcf0b128334f8e8
parent5a805df1a57565d724569eaa2814ba53842316fe
[LVI] Complete the abstract of the cache layer [NFCI]

Convert the previous introduced is-a relationship between the LVICache and LVIImple clases into a has-a relationship and hide all the implementation details of the cache from the lazy query layer.

The only slightly concerning change here is removing the addition of a queried block into the SeenBlock set in LVIImpl::getBlockValue.  As far as I can tell, this was effectively dead code.  I think it *used* to be the case that getCachedValueInfo wasn't const and might end up inserting elements in the cache during lookup.  That's no longer true and hasn't been for a while.  I did fixup the const usage to make that more obvious.

llvm-svn: 281272
llvm/lib/Analysis/LazyValueInfo.cpp