]> granicus.if.org Git - llvm/commit
[PM] The assumption cache is fundamentally designed to be self-updating,
authorChandler Carruth <chandlerc@gmail.com>
Sun, 15 Jan 2017 00:26:18 +0000 (00:26 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Sun, 15 Jan 2017 00:26:18 +0000 (00:26 +0000)
commit15050a4c1ee47ea1efaf5d314e1bc89ffeb4e445
tree38b71fbd3b04812136f032687b64b880591fb5c3
parent340ad683c830e13f5deb881442bd0fee7c9cf7ed
[PM] The assumption cache is fundamentally designed to be self-updating,
mark it as never invalidated in the new PM.

The old PM already required this to work, and after a discussion with
Hal this seems to really be the only sensible answer. The cache
gracefully degrades as the IR is mutated, and most things which do this
should already be incrementally updating the cache.

This gets rid of a bunch of logic preserving and testing the
invalidation of this analysis.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292039 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Analysis/AssumptionCache.h
include/llvm/Transforms/Scalar/LoopPassManager.h
lib/Analysis/LoopAnalysisManager.cpp
lib/Transforms/InstCombine/InstructionCombining.cpp
test/Analysis/MemoryDependenceAnalysis/invalidation.ll
test/Analysis/ScalarEvolution/invalidation.ll
unittests/Transforms/Scalar/LoopPassManagerTest.cpp