1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 11:13:28 +01:00
llvm-mirror/tools
Greg Clayton 82231cda69 This change removes the dependency on DwarfDebug that was used for DW_FORM_ref_addr by making a new DIEUnit class in DIE.cpp.
The DIEUnit class represents a compile or type unit and it owns the unit DIE as an instance variable. This allows anyone with a DIE, to get the unit DIE, and then get back to its DIEUnit without adding any new ivars to the DIE class. Why was this needed? The DIE class has an Offset that is always the CU relative DIE offset, not the "offset in debug info section" as was commented in the header file (the comment has been corrected). This is great for performance because most DIE references are compile unit relative and this means most code that accessed the DIE's offset didn't need to make it into a compile unit relative offset because it already was. When we needed to emit a DW_FORM_ref_addr though, we needed to find the absolute offset of the DIE by finding the DIE's compile/type unit. This class did have the absolute debug info/type offset and could be added to the CU relative offset to compute the absolute offset. With this change we can easily get back to a DIE's DIEUnit which will have this needed offset. Prior to this is required having a DwarfDebug and required calling:

DwarfCompileUnit *DwarfDebug::lookupUnit(const DIE *CU) const;
Now we can use the DIEUnit class to do so without needing DwarfDebug. All clients now use DIEUnit objects (the DwarfDebug stack and the DwarfLinker). A follow on patch for the DWARF generator will also take advantage of this.

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

llvm-svn: 288399
2016-12-01 18:56:29 +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 This change removes the dependency on DwarfDebug that was used for DW_FORM_ref_addr by making a new DIEUnit class in DIE.cpp. 2016-12-01 18:56:29 +00:00
gold Apply clang-tidy's 'performance-faster-string-find' check to LLVM. 2016-11-30 10:01:11 +00:00
llc [CMake] llc depends on intrinsics_gen 2016-11-19 02:12:03 +00:00
lli Fix spelling mistakes in Tools/Tests comments. NFC. 2016-11-20 13:31:13 +00:00
llvm-ar [CMake] llvm-ar depends on intrinsics_gen 2016-11-18 23:04:27 +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 Bitcode: Correctly handle Fixed and VBR arrays in BitstreamCursor::skipRecord(). 2016-12-01 05:47:58 +00:00
llvm-c-test Fix "isn't a prototype" warning 2016-11-16 21:51:39 +00:00
llvm-cat Add missing dependency. 2016-11-29 21:02:19 +00:00
llvm-config Replace a few more "fall through" comments with LLVM_FALLTHROUGH 2016-08-17 20:30:52 +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 dwarfdump: -summarize-types: print a short summary (unqualified type name, hash, length) of type units rather than dumping contents 2016-10-18 21:09:48 +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 [CMake] llvm-link depends on intrinsics_gen 2016-11-19 02:36:28 +00:00
llvm-lto [CMake] llvm-lto depends on intrinsics_gen 2016-11-18 23:20:35 +00:00
llvm-lto2 llvm-lto2: Simpler workaround for PR30396. 2016-11-30 23:19:05 +00:00
llvm-mc [llvm] Implement support for -defsym assembler option 2016-12-01 18:42:04 +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 Add another missing dependency. 2016-11-29 23:22:55 +00:00
llvm-nm Object: Set SF_Indirect in ModuleSymbolTable. 2016-12-01 07:00:35 +00:00
llvm-objdump [WebAssembly] Add llvm-objdump support for wasm file format 2016-11-30 16:49:11 +00:00
llvm-opt-report [llvm-opt-report] Fix unroll-count reporting 2016-10-24 05:07:18 +00:00
llvm-pdbdump [CodeView] Hook up CodeViewRecordIO to type serialization path. 2016-11-08 22:24:53 +00:00
llvm-profdata [CMake] llvm-profdata depends on intrinsics_gen 2016-11-18 23:04:15 +00:00
llvm-readobj llvm-readobj: Use hash tables to print dynamic symbols. 2016-11-23 18:04:23 +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 Make the Error class constructor protected 2016-11-11 04:28:40 +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 Make the Error class constructor protected 2016-11-11 04:28:40 +00:00
lto [CMake] LTO depends on intrinsics_gen 2016-11-18 23:03:51 +00:00
msbuild MSBuild integration: fix the loop in install.bat 2014-09-30 22:30:06 +00:00
obj2yaml [ELF] Convert ELF.h to Expected<T>. 2016-11-16 05:10:28 +00:00
opt Change setDiagnosticsOutputFile to take a unique_ptr from a raw pointer (NFC) 2016-11-19 18:19:41 +00:00
sancov Make the Error class constructor protected 2016-11-11 04:28:40 +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 Misc improvements to StringTableBuilder. 2016-10-04 22:43:25 +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