llvm-project/llvm/tools
Keno Fischer 04464cf731 [llc/opt] Add an option to run all passes twice
Summary: Lately, I have submitted a number of patches to fix bugs that
only occurred when using the same pass manager to compile multiple
modules (generally these bugs are failure to reset some persistent
state). Unfortunately I don't think there is currently a way to test
that from the command line. This adds a very simple flag to both llc
and opt, under which the tools will simply re-run their respective
pass pipelines using the same pass manager on (a clone of the same
module). Additionally, we verify that both outputs are bitwise the
same.

Reviewers: yaron.keren

Subscribers: loladiro, yaron.keren, kcc, llvm-commits

Differential Revision: http://reviews.llvm.org/D14965

llvm-svn: 254774
2015-12-04 21:56:46 +00:00
..
bugpoint Use references now that it is natural to do so. 2015-12-01 19:50:54 +00:00
bugpoint-passes [bugpoint] Add a named metadata (+their operands) reducer 2015-11-06 00:12:50 +00:00
dsymutil Generalize ownership/passing semantics to allow dsymutil to own abbreviations via unique_ptr 2015-11-18 00:34:10 +00:00
gold Use references now that it is natural to do so. 2015-12-01 19:50:54 +00:00
llc [llc/opt] Add an option to run all passes twice 2015-12-04 21:56:46 +00:00
lli [Orc] Rename JITCompileCallbackManagerBase to JITCompileCallbackManager. 2015-12-04 02:15:39 +00:00
llvm-ar [llvm-ar] Use failIfError/fail helpers. 2015-11-14 19:00:33 +00:00
llvm-as Support for function summary index bitcode sections and files. 2015-10-04 14:33:43 +00:00
llvm-as-fuzzer [libFuzzer] make LLVMFuzzerTestOneInput (the fuzzer target function) return int instead of void. The actual return value is not *yet* used (and expected to be 0). This change is API breaking, so the fuzzers will need to be updated. 2015-10-02 23:34:06 +00:00
llvm-bcanalyzer [ThinLTO] Add MODULE_CODE_METADATA_VALUES record 2015-11-20 14:51:27 +00:00
llvm-c-test Fix build breakage caused by memory leaks in llvm-c-test 2015-01-28 18:32:31 +00:00
llvm-config Fix a use-after-free in `llvm-config`. 2015-11-25 22:49:48 +00:00
llvm-cov [llvm-cov] Adjust column widths for function and file reports 2015-10-21 16:03:32 +00:00
llvm-cxxdump Reapply r250906 with many suggested updates from Rafael Espindola. 2015-11-05 19:24:56 +00:00
llvm-diff llvm-diff: Remove implicit ilist iterator conversions, NFC 2015-10-20 18:17:05 +00:00
llvm-dis Use std::unique_ptr to manage the DataStreamer in bitcode parsing. 2015-06-16 23:29:49 +00:00
llvm-dwarfdump dwarfdump: Added macro support to llvm-dwarfdump tool. 2015-11-12 09:38:54 +00:00
llvm-dwp [llvm-dwp] Implement the required on-disk probed hash table 2015-12-04 21:30:23 +00:00
llvm-extract uselistorder: Remove the global bits 2015-04-15 03:14:06 +00:00
llvm-go Enable linking tools, shared libraries against libLLVM 2015-09-01 03:14:31 +00:00
llvm-jitlistener Fix the -DBUILD_SHARED_LIBS=ON build. 2015-07-07 17:48:00 +00:00
llvm-link Rename Set variable to be plural 2015-12-03 02:40:39 +00:00
llvm-lto Modernize the C++ APIs for creating LTO modules. 2015-12-04 16:14:31 +00:00
llvm-mc Fix some Clang-tidy modernize warnings, other minor fixes. 2015-11-04 22:32:32 +00:00
llvm-mc-fuzzer [libFuzzer] make LLVMFuzzerTestOneInput (the fuzzer target function) return int instead of void. The actual return value is not *yet* used (and expected to be 0). This change is API breaking, so the fuzzers will need to be updated. 2015-10-02 23:34:06 +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 Fix UMR in llvm-nm on IR object files in printDarwinSymbol 2015-11-19 00:51:50 +00:00
llvm-objdump [llvm-objdump] Use report_fatal_error() if we can't find a target. 2015-12-03 22:13:40 +00:00
llvm-pdbdump Introduce a range version of std::any_of, and use it in SCEV 2015-12-01 07:49:23 +00:00
llvm-profdata Revert "[llvm-profdata] Add support for weighted merge of profile data" 2015-12-04 02:13:58 +00:00
llvm-readobj Fix llvm-readobj build on Windows, match noreturn attribute on reportError in headers 2015-12-04 21:29:53 +00:00
llvm-rtdyld [RuntimeDyld] Don't allocate unnecessary stub buffer space 2015-11-23 21:47:51 +00:00
llvm-shlib [CMake] Bug 25059 - CMake libllvm.so.$MAJOR.$MINOR shared object name not compatible with ldconfig 2015-11-04 23:11:12 +00:00
llvm-size Reapply r250906 with many suggested updates from Rafael Espindola. 2015-11-05 19:24:56 +00:00
llvm-split TransformUtils: Introduce module splitter. 2015-08-21 02:48:20 +00:00
llvm-stress ADT: Remove last implicit ilist iterator conversions, NFC 2015-11-07 00:01:16 +00:00
llvm-symbolizer [Symbolizer]: Add -pretty-print option 2015-11-11 20:41:43 +00:00
lto Modernize the C++ APIs for creating LTO modules. 2015-12-04 16:14:31 +00:00
msbuild MSBuild integration: fix the loop in install.bat 2014-09-30 22:30:06 +00:00
obj2yaml [obj2yaml] Fix "time of check to time of use" bug. Add a test. 2015-09-19 20:49:34 +00:00
opt [llc/opt] Add an option to run all passes twice 2015-12-04 21:56:46 +00:00
sancov fixing Makefile 2015-12-04 19:11:54 +00:00
verify-uselistorder [uselistorder] Insert blank line, NFC 2015-10-13 21:51:02 +00:00
xcode-toolchain [CMake] [Darwin] Add support for generating Xcode-compatible toolchains that xcodebuild and xcrun can search 2015-10-15 20:09:01 +00:00
yaml2obj Add a RAW mode to StringTableBuilder. 2015-10-23 21:48:05 +00:00
CMakeLists.txt [CMake] Autoconf builds libLTO with -fPIC, CMake should be able to as well. 2015-11-10 21:38:58 +00:00
LLVMBuild.txt llvm-dwp: Initial layout 2015-12-01 00:48:34 +00:00
Makefile llvm-dwp: Initial layout 2015-12-01 00:48:34 +00:00