llvm-6502/unittests/IR
Chandler Carruth 4d32e85359 [PM] Switch the downward invalidation to be incremental where only the
one function's analyses are invalidated at a time. Also switch the
preservation of the proxy to *fully* preserve the lower (function)
analyses.

Combined, this gets both upward and downward analysis invalidation to
a point I'm happy with:

- A function pass invalidates its function analyses, and its parent's
  module analyses.
- A module pass invalidates all of its functions' analyses including the
  set of which functions are in the module.
- A function pass can preserve a module analysis pass.
- If all function passes preserve a module analysis pass, that
  preservation persists. If any doesn't the module analysis is
  invalidated.
- A module pass can opt into managing *all* function analysis
  invalidation itself or *none*.
- The conservative default is none, and the proxy takes the maximally
  conservative approach that works even if the set of functions has
  changed.
- If a module pass opts into managing function analysis invalidation it
  has to propagate the invalidation itself, the proxy just does nothing.

The only thing really missing is a way to query for a cached analysis or
nothing at all. With this, function passes can more safely request
a cached module analysis pass without fear of it accidentally running
part way through.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@195519 91177308-0d34-0410-b5e6-96231b3b80d8
2013-11-22 23:38:07 +00:00
..
AttributesTest.cpp
CMakeLists.txt [PM] Start sketching out the new module and function pass manager. 2013-11-09 13:09:08 +00:00
ConstantsTest.cpp
DominatorTreeTest.cpp
InstructionsTest.cpp Add addrspacecast instruction. 2013-11-15 01:34:59 +00:00
IRBuilderTest.cpp Give unit test its own LLVMContext so MDNodes aren't leaked even if we never call llvm_shutdown. 2013-11-15 09:34:33 +00:00
LegacyPassManagerTest.cpp Move the old pass manager infrastructure into a legacy namespace and 2013-11-09 12:26:54 +00:00
Makefile
MDBuilderTest.cpp
MetadataTest.cpp
PassManagerTest.cpp [PM] Switch the downward invalidation to be incremental where only the 2013-11-22 23:38:07 +00:00
PatternMatch.cpp
TypeBuilderTest.cpp
TypesTest.cpp
ValueMapTest.cpp
ValueTest.cpp
VerifierTest.cpp
WaymarkTest.cpp