llvm/lib/IR
Chandler Carruth edd2b49134 [PM] Widen the interface for invalidate on an analysis result now that
it is completely optional, and sink the logic for handling the preserved
analysis set into it.

This allows us to implement the delegation logic desired in the proxy
module analysis for the function analysis manager where if the proxy
itself is preserved we assume the set of functions hasn't changed and we
do a fine grained invalidation by walking the functions in the module
and running the invalidate for them all at the manager level and letting
it try to invalidate any passes.

This in turn makes it blindingly obvious why we should hoist the
invalidate trait and have two collections of results. That allows
handling invalidation for almost all analyses without indirect calls and
it allows short circuiting when the preserved set is all.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@195338 91177308-0d34-0410-b5e6-96231b3b80d8
2013-11-21 10:53:05 +00:00
..
AsmWriter.cpp Print new JavaScript calling conventions symbolically. 2013-11-11 22:40:22 +00:00
AsmWriter.h Revert "Give internal classes hidden visibility." 2013-09-11 18:05:11 +00:00
AttributeImpl.h [weak vtables] Remove a bunch of weak vtables 2013-11-19 00:57:56 +00:00
Attributes.cpp [weak vtables] Remove a bunch of weak vtables 2013-11-19 00:57:56 +00:00
AutoUpgrade.cpp Add addrspacecast instruction. 2013-11-15 01:34:59 +00:00
BasicBlock.cpp
CMakeLists.txt Introduce an AnalysisManager which is like a pass manager but with a lot 2013-11-13 01:12:08 +00:00
ConstantFold.cpp Add addrspacecast instruction. 2013-11-15 01:34:59 +00:00
ConstantFold.h
Constants.cpp Add addrspacecast instruction. 2013-11-15 01:34:59 +00:00
ConstantsContext.h Revert "Give internal classes hidden visibility." 2013-09-11 18:05:11 +00:00
Core.cpp Expose the fence instruction via the C API. 2013-11-20 00:07:49 +00:00
DataLayout.cpp DataLayout: value initialize globals to avoid static construction. 2013-11-19 20:28:04 +00:00
DebugInfo.cpp Debug Info: fix typo in function name. 2013-11-17 19:35:03 +00:00
DebugLoc.cpp
DIBuilder.cpp DebugInfo: Simplify a few more explicit constructions, underconstrained types, and make DIType(MDNode*) explicit like all the other DI* node ctors. 2013-11-18 23:33:32 +00:00
Dominators.cpp
Function.cpp Enable variable arguments support for intrinsics. 2013-10-31 17:18:11 +00:00
GCOV.cpp llvm-cov: Formatting change. 2013-11-21 04:12:10 +00:00
Globals.cpp Revert r193251 : Use address-taken to disambiguate global variable and indirect memops. 2013-10-27 03:08:44 +00:00
GVMaterializer.cpp
InlineAsm.cpp Add static cast to unsigned char whenever a character classification function is called with a signed char argument, in order to avoid assertions in Windows Debug configuration. 2013-02-12 21:21:59 +00:00
Instruction.cpp Add addrspacecast instruction. 2013-11-15 01:34:59 +00:00
Instructions.cpp Add addrspacecast instruction. 2013-11-15 01:34:59 +00:00
IntrinsicInst.cpp
IRBuilder.cpp
LeakDetector.cpp
LeaksContext.h Revert "Give internal classes hidden visibility." 2013-09-11 18:05:11 +00:00
LegacyPassManager.cpp Move the old pass manager infrastructure into a legacy namespace and 2013-11-09 12:26:54 +00:00
LLVMBuild.txt
LLVMContext.cpp Memory Dependence Analysis (not mem-dep test) take advantage of "invariant.load" metadata. 2013-03-06 17:48:48 +00:00
LLVMContextImpl.cpp Revert "Rename LLVMContext diagnostic handler types and functions." 2013-02-11 05:37:07 +00:00
LLVMContextImpl.h Implement function prefix data as an IR feature. 2013-09-16 01:08:15 +00:00
Makefile Actually update the CMake and Makefile builds correctly, and update the 2013-01-02 12:09:16 +00:00
Metadata.cpp [weak vtables] Remove a bunch of weak vtables 2013-11-19 00:57:56 +00:00
Module.cpp Use error_code in GVMaterializer. 2013-11-05 19:36:34 +00:00
Pass.cpp Enable *BasicBlockPass::createPrinterPass() 2013-02-08 23:37:41 +00:00
PassManager.cpp [PM] Widen the interface for invalidate on an analysis result now that 2013-11-21 10:53:05 +00:00
PassRegistry.cpp Use an RWMutex instead of a Mutex in PassRegistry. 2013-07-03 18:38:08 +00:00
PrintModulePass.cpp Enable *BasicBlockPass::createPrinterPass() 2013-02-08 23:37:41 +00:00
SymbolTableListTraitsImpl.h
Type.cpp Simplify code. No functionality change. 2013-11-11 14:54:34 +00:00
TypeFinder.cpp TypeFinder: prefer iterative algorithm to keep stack usage low. 2013-10-16 04:10:06 +00:00
Use.cpp Fix Casting 2013-01-14 21:04:37 +00:00
User.cpp
Value.cpp Make it explicit that nulls are not allowed in names. 2013-11-19 21:12:39 +00:00
ValueSymbolTable.cpp
ValueTypes.cpp Add v4f16 to supported value types. 2013-10-03 03:29:21 +00:00
Verifier.cpp The 'optnone' attribute means don't inline anything into this function 2013-11-18 21:44:03 +00:00