1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-22 18:54:02 +01:00
llvm-mirror/tools
Reid Kleckner 68092989f3 Sink all InitializePasses.h includes
This file lists every pass in LLVM, and is included by Pass.h, which is
very popular. Every time we add, remove, or rename a pass in LLVM, it
caused lots of recompilation.

I found this fact by looking at this table, which is sorted by the
number of times a file was changed over the last 100,000 git commits
multiplied by the number of object files that depend on it in the
current checkout:
  recompiles    touches affected_files  header
  342380        95      3604    llvm/include/llvm/ADT/STLExtras.h
  314730        234     1345    llvm/include/llvm/InitializePasses.h
  307036        118     2602    llvm/include/llvm/ADT/APInt.h
  213049        59      3611    llvm/include/llvm/Support/MathExtras.h
  170422        47      3626    llvm/include/llvm/Support/Compiler.h
  162225        45      3605    llvm/include/llvm/ADT/Optional.h
  158319        63      2513    llvm/include/llvm/ADT/Triple.h
  140322        39      3598    llvm/include/llvm/ADT/StringRef.h
  137647        59      2333    llvm/include/llvm/Support/Error.h
  131619        73      1803    llvm/include/llvm/Support/FileSystem.h

Before this change, touching InitializePasses.h would cause 1345 files
to recompile. After this change, touching it only causes 550 compiles in
an incremental rebuild.

Reviewers: bkramer, asbirlea, bollu, jdoerfert

Differential Revision: https://reviews.llvm.org/D70211
2019-11-13 16:34:37 -08:00
..
bugpoint Sink all InitializePasses.h includes 2019-11-13 16:34:37 -08:00
bugpoint-passes [LegacyPassManager] Delete BasicBlockPass/Manager. 2019-10-30 11:40:16 -07:00
dsymutil [dsymutil] Add support for linking remarks 2019-11-01 15:38:49 -07:00
gold [llvm] Migrate llvm::make_unique to std::make_unique 2019-08-15 15:54:37 +00:00
llc Sink all InitializePasses.h includes 2019-11-13 16:34:37 -08:00
lli [lli-child-target] Fix -DBUILD_SHARED_LIBS=on build 2019-10-29 22:46:13 -07:00
llvm-ar llvm-ranlib/nm: Don't print usage message except for usage errors 2019-11-08 15:17:07 -08:00
llvm-as Rename F_{None,Text,Append} to OF_{None,Text,Append}. NFC 2019-08-05 05:43:48 +00:00
llvm-as-fuzzer Fix some include order and file headers issues. NFC 2019-02-21 07:42:31 +00:00
llvm-bcanalyzer [llvm-bcanalyzer] Don't dump the contents if -dump is not passed 2019-11-13 10:38:57 -08:00
llvm-c-test [IR] Add Freeze instruction 2019-11-05 15:54:56 +09:00
llvm-cat Rename F_{None,Text,Append} to OF_{None,Text,Append}. NFC 2019-08-05 05:43:48 +00:00
llvm-cfi-verify [Mips] Use appropriate private label prefix based on Mips ABI 2019-10-23 12:24:35 +02:00
llvm-config llvm-config: emit the C++ standard flag into CXXFLAGS 2019-11-01 09:13:58 -07:00
llvm-cov Revert "[llvm-cov] Add option to whitelist filenames" 2019-10-29 22:38:38 -07:00
llvm-cvtres Share /machine: handling code with llvm-cvtres too 2019-06-12 11:32:43 +00:00
llvm-cxxdump [llvm/Object] - Make ELFObjectFile::getRelocatedSection return Expected<section_iterator> 2019-10-21 11:06:38 +00:00
llvm-cxxfilt [binutils] Add response file option to help and docs 2019-06-21 11:49:20 +00:00
llvm-cxxmap Rename F_{None,Text,Append} to OF_{None,Text,Append}. NFC 2019-08-05 05:43:48 +00:00
llvm-diff Fix some include order and file headers issues. NFC 2019-02-21 07:42:31 +00:00
llvm-dis [Tools] Mark output of tools as text if it is text 2019-10-08 08:21:20 +00:00
llvm-dwarfdump [Tools] Mark output of tools as text if it is text 2019-10-08 08:21:20 +00:00
llvm-dwp [Mips] Use appropriate private label prefix based on Mips ABI 2019-10-23 12:24:35 +02:00
llvm-elfabi [llvm] Migrate llvm::make_unique to std::make_unique 2019-08-15 15:54:37 +00:00
llvm-exegesis llvm-exegesis - fix shadow variable warnings. NFCI. 2019-11-09 13:43:09 +00:00
llvm-extract [llvm-extract] Update the help message for group extraction feature 2019-08-20 20:45:16 +00:00
llvm-go Bump llvm-go to C++14 2019-08-15 10:55:25 +00:00
llvm-ifs [llvm-ifs][NFC] Adds TODO comment for dropping ObjectFileFormat on yaml format. 2019-10-24 10:14:34 -07:00
llvm-isel-fuzzer [llvm] Migrate llvm::make_unique to std::make_unique 2019-08-15 15:54:37 +00:00
llvm-itanium-demangle-fuzzer Fix file header issues in fuzzers. NFC 2019-02-21 07:57:14 +00:00
llvm-jitlink [Mips] Use appropriate private label prefix based on Mips ABI 2019-10-23 12:24:35 +02:00
llvm-jitlistener Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
llvm-link [llvm] Migrate llvm::make_unique to std::make_unique 2019-08-15 15:54:37 +00:00
llvm-lipo [llvm-lipo] Add missing cast 2019-10-15 20:10:34 +00:00
llvm-lto [llvm] Migrate llvm::make_unique to std::make_unique 2019-08-15 15:54:37 +00:00
llvm-lto2 [llvm] Migrate llvm::make_unique to std::make_unique 2019-08-15 15:54:37 +00:00
llvm-mc [Mips] Use appropriate private label prefix based on Mips ABI 2019-10-23 12:24:35 +02:00
llvm-mc-assemble-fuzzer [Mips] Use appropriate private label prefix based on Mips ABI 2019-10-23 12:24:35 +02:00
llvm-mc-disassemble-fuzzer Fix file header issues in fuzzers. NFC 2019-02-21 07:57:14 +00:00
llvm-mca [Mips] Use appropriate private label prefix based on Mips ABI 2019-10-23 12:24:35 +02:00
llvm-microsoft-demangle-fuzzer Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
llvm-modextract Rename F_{None,Text,Append} to OF_{None,Text,Append}. NFC 2019-08-05 05:43:48 +00:00
llvm-mt Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
llvm-nm Revert [llvm-nm] Add tapi file support 2019-09-11 21:35:28 +00:00
llvm-objcopy [llvm-objcopy][COFF] Implement --redefine-sym and --redefine-syms 2019-11-12 11:28:00 -08:00
llvm-objdump [Mips] Use appropriate private label prefix based on Mips ABI 2019-10-23 12:24:35 +02:00
llvm-opt-fuzzer Sink all InitializePasses.h includes 2019-11-13 16:34:37 -08:00
llvm-opt-report [llvm-opt-report] Improve error handling 2019-09-13 20:52:04 +00:00
llvm-pdbutil [llvm] Migrate llvm::make_unique to std::make_unique 2019-08-15 15:54:37 +00:00
llvm-profdata Prune Pass.h include from DataLayout.h. NFCI 2019-10-21 17:51:54 +00:00
llvm-rc [llvm] Migrate llvm::make_unique to std::make_unique 2019-08-15 15:54:37 +00:00
llvm-readobj Using crtp to refactor the xcoff section header 2019-11-07 11:51:34 -05:00
llvm-reduce llvm-reduce: Follow-up to 372280, now with more-better msan fixing 2019-09-19 20:04:04 +00:00
llvm-rtdyld [Mips] Use appropriate private label prefix based on Mips ABI 2019-10-23 12:24:35 +02:00
llvm-shlib [LLVM-C] Fix omission of INSTALL_WITH_TOOLCHAIN to llvm_add_library() 2019-08-28 22:59:04 +00:00
llvm-size Reapply: [llvm-size] Tidy up error messages (PR42970) 2019-10-14 17:29:15 +00:00
llvm-special-case-list-fuzzer Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
llvm-split Rename F_{None,Text,Append} to OF_{None,Text,Append}. NFC 2019-08-05 05:43:48 +00:00
llvm-stress [llvm] Migrate llvm::make_unique to std::make_unique 2019-08-15 15:54:37 +00:00
llvm-strings [binutils] Add response file option to help and docs 2019-06-21 11:49:20 +00:00
llvm-symbolizer llvm-symbolizer: Untag addresses in object files by default. 2019-08-05 20:59:25 +00:00
llvm-undname [Demangle] Add a few more options to the microsoft demangler 2019-10-15 08:29:56 +00:00
llvm-xray [llvm-objdump] Add warning messages if disassembly + source for problematic inputs 2019-08-15 05:15:22 +00:00
llvm-yaml-numeric-parser-fuzzer Fix file header issues in fuzzers. NFC 2019-02-21 07:57:14 +00:00
lto [LTO][Legacy] Add new C inferface to query libcall functions 2019-09-16 18:49:54 +00:00
msbuild vs integration: bump version nbr 2019-06-19 07:39:53 +00:00
obj2yaml [yaml2obj/obj2yaml] - Add support for SHT_LLVM_LINKER_OPTIONS sections. 2019-11-12 09:55:20 +03:00
opt Add -disable-builtin option to opt 2019-11-13 21:32:49 +01:00
opt-viewer [llvm] [cmake] Add install targets for missing distribution components 2019-10-02 16:06:50 +00:00
remarks-shlib [Remarks] Add parser for bitstream remarks 2019-09-09 17:43:50 +00:00
sancov [Mips] Use appropriate private label prefix based on Mips ABI 2019-10-23 12:24:35 +02:00
sanstats [DebugInfo] add SectionedAddress to DebugInfo interfaces. 2019-02-27 13:17:36 +00:00
verify-uselistorder Rename F_{None,Text,Append} to OF_{None,Text,Append}. NFC 2019-08-05 05:43:48 +00:00
vfabi-demangle-fuzzer [SVFS] Vector Function ABI demangling. 2019-09-19 17:47:32 +00:00
xcode-toolchain [CMake] Use LLVM_ENABLE_IDE instead of CMAKE_CONFIGURATION_TYPES 2018-10-15 21:20:02 +00:00
yaml2obj [yaml2obj/ObjectYAML] - Cleanup the error reporting API, add custom errors handlers. 2019-09-13 16:00:16 +00:00
CMakeLists.txt Fix most of LLVM's tests with LLVM_ENABLE_PIC=OFF 2019-01-16 20:44:36 +00:00
LLVMBuild.txt [llvm-ifs][IFS] llvm Interface Stubs merging + object file generation tool. 2019-08-30 18:26:05 +00:00