llvm-6502/tools
Chandler Carruth a3376d2d36 [PM] Add a utility to the new pass manager for generating a pass which
is a no-op other than requiring some analysis results be available.

This can be used in real pass pipelines to force the usually lazy
analysis running to eagerly compute something at a specific point, and
it can be used to test the pass manager infrastructure (my primary use
at the moment).

I've also added bit of pipeline parsing magic to support generating
these directly from the opt command so that you can directly use these
when debugging your analysis. The syntax is:

  require<analysis-name>

This can be used at any level of the pass manager. For example:

  cgscc(function(require<my-analysis>,no-op-function))

This would produce a no-op function pass requiring my-analysis, followed
by a fully no-op function pass, both of these in a function pass manager
which is nested inside of a bottom-up CGSCC pass manager which is in the
top-level (implicit) module pass manager.

I have zero attachment to the particular syntax I'm using here. Consider
it a straw man for use while I'm testing and fleshing things out.
Suggestions for better syntax welcome, and I'll update everything based
on any consensus that develops.

I've used this new functionality to more directly test the analysis
printing rather than relying on the cgscc pass manager running an
analysis for me. This is still minimally tested because I need to have
analyses to run first! ;] That patch is next, but wanted to keep this
one separate for easier review and discussion.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@225236 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-06 02:10:51 +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 to the new pass manager for generating a pass which 2015-01-06 02:10:51 +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