llvm-6502/tools
Chandler Carruth 17395fa733 [PM] Add a utility pass template that synthesizes the invalidation of
a specific analysis result.

This is quite handy to test things, and will also likely be very useful
for debugging issues. You could narrow down pass validation failures by
walking these invalidate pass runs up and down the pass pipeline, etc.
I've added support to the pass pipeline parsing to be able to create one
of these for any analysis pass desired.

Just adding this class uncovered one latent bug where the
AnalysisManager CRTP base class had a hard-coded Module type rather than
using IRUnitT.

I've also added tests for invalidation and caching of analyses in
a basic way across all the pass managers. These in turn uncovered two
more bugs where we failed to correctly invalidate an analysis -- its
results were invalidated but the key for re-running the pass was never
cleared and so it was never re-run. Quite nasty. I'm very glad to debug
this here rather than with a full system.

Also, yes, the naming here is horrid. I'm going to update some of the
names to be slightly less awful shortly. But really, I've no "good"
ideas for naming. I'll be satisfied if I can get it to "not bad".

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@225246 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-06 04:49:44 +00:00
..
bugpoint Fix style. 2014-11-07 21:30:36 +00:00
bugpoint-passes [CMake] Add LLVM_LINK_COMPONENTS to loadable modules, LLVMHello and BugpointPasses, on Win32. 2014-07-13 13:36:48 +00:00
dsymutil [dsymutil] Implement the BinaryHolder object and gain archive support. 2015-01-05 21:29:28 +00:00
gold Fix a leak found by asan. 2014-12-23 18:18:37 +00:00
llc Remove an unnecessary reference variable that pointed to a unique_ptr variable. Just use the unique_ptr variable directly. 2014-12-12 07:52:06 +00:00
lli Silence gcc 4.9.1 warning 'xyz' is used uninitialized in this function. 2014-12-12 11:07:51 +00:00
llvm-ar Only seek once before writing the member offsets. 2014-12-11 16:34:00 +00:00
llvm-as Modernize raw_fd_ostream's constructor a bit. 2014-08-25 18:16:47 +00:00
llvm-bcanalyzer Bitcode: Add METADATA_NODE and METADATA_VALUE 2014-12-11 23:02:24 +00:00
llvm-c-test Have llvm-c-test only use libLLVM if libLLVM has all the right components. 2014-12-18 21:03:49 +00:00
llvm-config [cmake] Teach the llvm-config program to respect LLVM_LIBDIR_SUFFIX. 2014-12-29 11:16:25 +00:00
llvm-cov Remove unused includes and out of date comment. NFC. 2014-12-17 03:07:20 +00:00
llvm-diff Return a std::unique_ptr from the IRReader.h functions. NFC. 2014-08-26 17:29:46 +00:00
llvm-dis Modernize the getStreamedBitcodeModule interface a bit. NFC. 2014-12-18 05:08:43 +00:00
llvm-dwarfdump Remove unused includes and out of date comment. NFC. 2014-12-17 03:07:20 +00:00
llvm-extract Remove redundant calls to isMaterializable. 2014-11-01 16:46:18 +00:00
llvm-go Teach LLVM about llgo subproject. 2014-11-27 00:15:21 +00:00
llvm-jitlistener Fix line mapping information in LLVM JIT profiling with Vtune 2014-12-15 04:45:43 +00:00
llvm-link Make it easier to pass a custom diagnostic handler to the IR linker. 2014-10-27 23:02:10 +00:00
llvm-lto llvm-lto: Add testing coverage for local contexts 2014-12-17 02:00:38 +00:00
llvm-mc Remove unused includes and out of date comment. NFC. 2014-12-17 03:07:20 +00:00
llvm-mcmarkup Explicitly pass ownership of the MemoryBuffer to AddNewSourceBuffer using std::unique_ptr 2014-08-21 20:44:56 +00:00
llvm-nm Return ErrorOr<std::unique_ptr<Archive>> form getAsArchive. 2014-12-09 21:05:36 +00:00
llvm-objdump Another attempt to fix the LLVM Windows build bot lld-x86_64-win7, one last place to fix I think. 2014-12-24 00:16:51 +00:00
llvm-profdata Use ErrorOr for the ::create factory on instrumented and sample profilers. 2014-11-03 00:51:45 +00:00
llvm-readobj llvm-readobj: add support to dump COFF export tables 2015-01-03 21:35:09 +00:00
llvm-rtdyld [MCJIT] Update CMakeLists.txt for llvm-rtdyld to add Object as a requirement. 2014-11-27 04:18:50 +00:00
llvm-shlib [cmake] Start making LLVM_LIBDIR_SUFFIX effective by adding it to 2014-12-29 11:16:19 +00:00
llvm-size Return ErrorOr<std::unique_ptr<Archive>> form getAsArchive. 2014-12-09 21:05:36 +00:00
llvm-stress Modernize raw_fd_ostream's constructor a bit. 2014-08-25 18:16:47 +00:00
llvm-symbolizer llvm-symbolizer: teach it about PowerPC64 ELF function descriptors 2014-11-07 09:08:39 +00:00
llvm-vtabledump llvm-vtabledump: Handle Itanium VTables 2014-11-03 07:23:25 +00:00
lto Unbreak cmake build with shared libraries enabled. 2014-12-20 01:51:02 +00:00
macho-dump Add printing the LC_LINKER_OPTION load command with llvm-objdump’s -private-headers. 2014-12-18 00:53:40 +00:00
msbuild MSBuild integration: fix the loop in install.bat 2014-09-30 22:30:06 +00:00
obj2yaml obj2yaml, yaml2obj: Add support for COFF executables 2014-11-14 08:15:42 +00:00
opt [PM] Add a utility pass template that synthesizes the invalidation of 2015-01-06 04:49:44 +00:00
verify-uselistorder Prologue support 2014-12-03 02:08:38 +00:00
yaml2obj Remove StringMap::GetOrCreateValue in favor of StringMap::insert 2014-11-19 05:49:42 +00:00
CMakeLists.txt Initial dsymutil tool commit. 2014-12-12 17:31:24 +00:00
LLVMBuild.txt Initial dsymutil tool commit. 2014-12-12 17:31:24 +00:00
Makefile Initial dsymutil tool commit. 2014-12-12 17:31:24 +00:00