llvm-project/llvm/tools
Chandler Carruth 043949d446 [PM] Make the verifier work independently of any pass manager.
This makes the 'verifyFunction' and 'verifyModule' functions totally
independent operations on the LLVM IR. It also cleans up their API a bit
by lifting the abort behavior into their clients and just using an
optional raw_ostream parameter to control printing.

The implementation of the verifier is now just an InstVisitor with no
multiple inheritance. It also is significantly more const-correct, and
hides the const violations internally. The two layers that force us to
break const correctness are building a DomTree and dispatching through
the InstVisitor.

A new VerifierPass is used to implement the legacy pass manager
interface in terms of the other pieces.

The error messages produced may be slightly different now, and we may
have slightly different short circuiting behavior with different usage
models of the verifier, but generally everything works equivalently and
this unblocks wiring the verifier up to the new pass manager.

llvm-svn: 199569
2014-01-19 02:22:18 +00:00
..
bugpoint Whitespace. 2014-01-15 08:21:38 +00:00
bugpoint-passes Set LLVM_EXPORTED_SYMBOL_FILE in CMakeLists whose corresponding Makefiles do so. 2013-12-29 23:06:49 +00:00
gold Re-sort #include lines again, prior to moving headers around. 2014-01-13 08:04:33 +00:00
llc Re-sort #include lines again, prior to moving headers around. 2014-01-13 08:04:33 +00:00
lli Return an error_code from materializeAllPermanently. 2014-01-14 23:51:27 +00:00
llvm-ar Handle UIDs and GIDs that don't fit in 6 decimal places. 2014-01-14 17:02:09 +00:00
llvm-as [PM] Make the verifier work independently of any pass manager. 2014-01-19 02:22:18 +00:00
llvm-bcanalyzer [cleanup] Move the Dominators.h and Verifier.h headers into the IR 2014-01-13 09:26:24 +00:00
llvm-c-test Use -std=gnu99 in tools/llvm-c-test/CMakeLists.txt 2014-01-08 11:48:19 +00:00
llvm-config llvm-config: Fix typo in help message introduced with r197664. 2013-12-25 02:24:32 +00:00
llvm-cov llvm-cov: Added -f option for function summaries. 2013-12-19 00:29:25 +00:00
llvm-diff [CMake] Update LLVM_LINK_COMPONENTS for each CMakeLists.txt. 2013-12-10 11:13:32 +00:00
llvm-dis Return an error_code from materializeAllPermanently. 2014-01-14 23:51:27 +00:00
llvm-dwarfdump llvm-dwarfdump: type unit dwo support 2014-01-09 05:08:24 +00:00
llvm-extract [PM] Wire up support for writing bitcode with new PM. 2014-01-13 07:38:24 +00:00
llvm-jitlistener Manually update the dependencies in the Makefiles. It turns out that all 2013-03-26 03:45:47 +00:00
llvm-link [cleanup] Move the Dominators.h and Verifier.h headers into the IR 2014-01-13 09:26:24 +00:00
llvm-lto Re-sort #include lines again, prior to moving headers around. 2014-01-13 08:04:33 +00:00
llvm-mc [CMake] Update LLVM_LINK_COMPONENTS for each CMakeLists.txt. 2013-12-10 11:13:32 +00:00
llvm-mcmarkup MC: Simple example parser for MC assembly markup. 2012-10-31 23:24:13 +00:00
llvm-nm Return an ErrorOr<Binary *> from createBinary. 2014-01-15 19:37:43 +00:00
llvm-objdump llvm-objdump/COFF: Print ordinal base number. 2014-01-17 22:02:24 +00:00
llvm-readobj Return an ErrorOr<Binary *> from createBinary. 2014-01-15 19:37:43 +00:00
llvm-rtdyld [CMake] Update LLVM_LINK_COMPONENTS for each CMakeLists.txt. 2013-12-10 11:13:32 +00:00
llvm-shlib Strip dead code when linking by default with BFD ld (linux, ...) and ld64 (os x). 2013-12-27 22:38:59 +00:00
llvm-size Return an ErrorOr<Binary *> from createBinary. 2014-01-15 19:37:43 +00:00
llvm-stress [cleanup] Move the Dominators.h and Verifier.h headers into the IR 2014-01-13 09:26:24 +00:00
llvm-symbolizer llvm-symbolizer: make mangled name heuristic apply to all symbols 2014-01-16 17:25:12 +00:00
lto Revert r199361: Now, the sanitizer got the change 2014-01-16 07:29:07 +00:00
macho-dump Return an ErrorOr<Binary *> from createBinary. 2014-01-15 19:37:43 +00:00
msbuild VS integration: use the correct registry key after r195379 2013-11-22 18:25:43 +00:00
obj2yaml [CMake] Update LLVM_LINK_COMPONENTS for each CMakeLists.txt. 2013-12-10 11:13:32 +00:00
opt [opt][PassInfo] Allow opt to run passes that need target machine. 2014-01-16 21:44:34 +00:00
yaml2obj [CMake] Update LLVM_LINK_COMPONENTS for each CMakeLists.txt. 2013-12-10 11:13:32 +00:00
CMakeLists.txt llvm/tools/llvm-c-test should be built also on msvc. 2013-10-23 17:56:59 +00:00
LLVMBuild.txt Remove the very substantial, largely unmaintained legacy PGO 2013-10-02 15:42:23 +00:00
Makefile Add llvm-c-test tool for testing llvm-c 2013-10-23 08:10:20 +00:00