1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 03:53:04 +02:00
llvm-mirror/tools
Zachary Turner fa65a3c140 [CodeView] Finish decoupling TypeDatabase from TypeDumper.
Previously the type dumper itself was passed around to a lot of different
places and manipulated in ways that were more appropriate on the type
database. For example, the entire TypeDumper was passed into the symbol
dumper, when all the symbol dumper wanted to do was lookup the name of a
TypeIndex so it could print it. That's what the TypeDatabase is for --
mapping type indices to names.

Another example is how if the user runs llvm-pdbdump with the option to
dump symbols but not types, we still have to visit all types so that we
can print minimal information about the type of a symbol, but just without
dumping full symbol records. The way we did this before is by hacking it
up so that we run everything through the type dumper with a null printer,
so that the output goes to /dev/null. But really, we don't need to dump
anything, all we want to do is build the type database. Since
TypeDatabaseVisitor now exists independently of TypeDumper, we can do
this. We just build a custom visitor callback pipeline that includes a
database visitor but not a dumper.

All the hackery around printers etc goes away. After this patch, we could
probably even delete the entire CVTypeDumper class since really all it is
at this point is a thin wrapper that hides the details of how to build a
useful visitation pipeline. It's not a priority though, so CVTypeDumper
remains for now.

After this patch we will be able to easily plug in a different style of
type dumper by only implementing the proper visitation methods to dump
one-line output and then sticking it on the pipeline.

Differential Revision: https://reviews.llvm.org/D28524

llvm-svn: 291724
2017-01-11 23:24:22 +00:00
..
bugpoint Fix spelling mistakes in Tools/Tests comments. NFC. 2016-11-20 13:31:13 +00:00
bugpoint-passes [CMake] bugpoint-passes depends on intrinsics_gen 2016-11-19 02:20:59 +00:00
dsymutil Remove all variants of DWARFDie::getAttributeValueAs...() that had parameters that specified default values. 2017-01-11 17:43:37 +00:00
gold Pass sample pgo flags to thinlto. 2016-12-16 16:48:46 +00:00
llc MC: support passing search paths to the IAS 2017-01-05 05:56:39 +00:00
lli Prune unused libdeps. 2016-12-08 15:28:02 +00:00
llvm-ar Always use / as the path separator. 2016-12-04 07:27:02 +00:00
llvm-as [CMake] llvm-as depends on intrinsics_gen 2016-11-19 02:15:04 +00:00
llvm-as-fuzzer Remove every uses of getGlobalContext() in LLVM (but the C API) 2016-04-14 21:59:01 +00:00
llvm-bcanalyzer Add llvm-bcanalyzer support for new metadata node types. 2017-01-03 19:17:49 +00:00
llvm-c-test Fix "isn't a prototype" warning 2016-11-16 21:51:39 +00:00
llvm-cat llvm-cat: Allow bitcode files to be created with no modules. 2016-12-13 23:14:55 +00:00
llvm-config [llvm-config] Canonicalize CMake booleans to 0/1 2017-01-10 19:55:51 +00:00
llvm-cov Apply clang-tidy's 'performance-faster-string-find' check to LLVM. 2016-11-30 10:01:11 +00:00
llvm-cxxdump Make the Error class constructor protected 2016-11-11 04:28:40 +00:00
llvm-cxxfilt llvm-cxxfilt: support reading from stdin 2016-11-13 20:43:38 +00:00
llvm-diff [CMake] llvm-diff depends on intrinsics_gen 2016-11-19 02:28:18 +00:00
llvm-dis [CMake] llvm-dis depends on intrinsics_gen 2016-11-19 02:31:14 +00:00
llvm-dwarfdump Fix a bugs with using some Mach-O command line flags like "-arch armv7m". 2016-12-16 22:54:02 +00:00
llvm-dwp [CMake] llvm-dwp depends on intrinsics_gen 2016-11-19 02:33:42 +00:00
llvm-extract [CMake] llvm-extract depends on intrinsics_gen 2016-11-19 02:33:57 +00:00
llvm-go [llvm-go] parameterize $GOPATH construction 2016-07-27 03:21:51 +00:00
llvm-jitlistener Search for llvm-symbolizer binary in the same directory as argv[0], before 2016-06-09 00:53:21 +00:00
llvm-link [ThinLTO] Rework llvm-link to use the FunctionImporter 2017-01-04 14:27:31 +00:00
llvm-lto llvm-lto: pass errs() to the module verifier (NFC) 2016-12-23 23:53:57 +00:00
llvm-lto2 llvm-lto2: remove leading '-' for cl::opt declaration 2016-12-23 23:54:34 +00:00
llvm-mc [llvm] Fix D26214: Move error handling out of MC and to the callers. 2016-12-06 02:49:17 +00:00
llvm-mc-fuzzer Turn cl::values() (for enum) from a vararg function to using C++ variadic template 2016-10-08 19:41:06 +00:00
llvm-mcmarkup Search for llvm-symbolizer binary in the same directory as argv[0], before 2016-06-09 00:53:21 +00:00
llvm-modextract llvm-modextract: Call keep() on the output stream before exiting. 2016-12-01 23:13:11 +00:00
llvm-nm Fix a bugs with using some Mach-O command line flags like "-arch armv7m". 2016-12-16 22:54:02 +00:00
llvm-objdump llvm-objdump: speed up -objc-meta-data 2017-01-08 19:14:15 +00:00
llvm-opt-report [llvm-opt-report] Fix context-sensitive lines where nothing happened 2017-01-07 20:21:17 +00:00
llvm-pdbdump [CodeView] Finish decoupling TypeDatabase from TypeDumper. 2017-01-11 23:24:22 +00:00
llvm-profdata [CMake] llvm-profdata depends on intrinsics_gen 2016-11-18 23:04:15 +00:00
llvm-readobj [CodeView] Finish decoupling TypeDatabase from TypeDumper. 2017-01-11 23:24:22 +00:00
llvm-rtdyld Apply clang-tidy's 'performance-faster-string-find' check to LLVM. 2016-11-30 10:01:11 +00:00
llvm-shlib Fix llvm-shlib cmake build 2016-11-01 20:19:33 +00:00
llvm-size llvm-size: remove leading dash in '-radix' option 2016-12-23 23:55:08 +00:00
llvm-split [CMake] llvm-split depends on intrinsics_gen 2016-11-18 23:20:38 +00:00
llvm-stress [CMake] llvm-stress depends on intrinsics_gen 2016-11-19 02:25:54 +00:00
llvm-strings llvm-strings: support the -n option 2016-11-15 00:43:52 +00:00
llvm-symbolizer Turn cl::values() (for enum) from a vararg function to using C++ variadic template 2016-10-08 19:41:06 +00:00
llvm-xray [XRay] Define the library for XRay trace logs 2017-01-11 06:39:09 +00:00
lto [ThinLTO] Honor -O{0,1,2,4} passed through the libLTO interface for ThinLTO 2016-12-28 19:37:16 +00:00
msbuild
obj2yaml [ObjectYAML] Support for DWARF line tables 2017-01-10 06:22:49 +00:00
opt [PM] Separate the LoopAnalysisManager from the LoopPassManager and move 2017-01-11 09:43:56 +00:00
sancov [sancov] skip duplicated points 2016-12-21 22:10:01 +00:00
sanstats [CMake] sanstats depends on intrinsics_gen 2016-11-18 23:30:39 +00:00
verify-uselistorder [CMake] verify-uselistorder depends on intrinsics_gen 2016-11-18 23:30:58 +00:00
xcode-toolchain [CMake] Minor fix to regex in r279152 2016-08-18 21:36:36 +00:00
yaml2obj [ObjectYAML] Support for DWARF line tables 2017-01-10 06:22:49 +00:00
CMakeLists.txt Fixup r271533, or check-clang didn't find llvm-lto as the target. 2016-06-02 20:39:24 +00:00
LLVMBuild.txt Add llvm-modextract tool. 2016-11-29 21:54:33 +00:00