1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-26 04:32:44 +01:00
llvm-mirror/unittests
Adrian Prantl 4f3b6de7f9 Let replaceVTableHolder accept any type.
In Rust, a trait can be implemented for any type, and if a trait
object pointer is used for the type, then a virtual table will be
emitted for that trait/type combination.

We would like debuggers to be able to inspect trait objects, which
requires finding the concrete type associated with a given vtable.

This patch changes LLVM so that any type can be passed to
replaceVTableHolder. This allows the Rust compiler to emit the needed
debug info -- associating a vtable with the concrete type for which it
was emitted.

This is a DWARF extension: DWARF only specifies the meaning of
DW_AT_containing_type in one specific situation. This style of DWARF
extension is routine, though, and LLVM already has one such case for
DW_AT_containing_type.

Patch by Tom Tromey!

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

llvm-svn: 317730
2017-11-08 22:04:43 +00:00
..
ADT Add llvm::for_each as a range-based extensions to <algorithm> and make use of it in some cases where it is a more clear alternative to std::for_each. 2017-11-03 20:01:25 +00:00
Analysis Revert "[SCEV] Maintain and use a loop->loop invalidation dependency" 2017-10-17 01:03:56 +00:00
AsmParser Remove every uses of getGlobalContext() in LLVM (but the C API) 2016-04-14 21:59:01 +00:00
BinaryFormat [BinaryFormat] Fix out of bounds read. 2017-08-31 12:50:42 +00:00
Bitcode Re-sort #include lines for unittests. This uses a slightly modified 2017-06-06 11:06:56 +00:00
CodeGen Target/TargetInstrInfo.h -> CodeGen/TargetInstrInfo.h to match layering 2017-11-08 01:01:31 +00:00
DebugInfo [DWARFv5] Support DW_FORM_strp in the .debug_line header. 2017-11-07 19:57:12 +00:00
ExecutionEngine [ORC] Replace decltype with a concrete type to make MSVC happy. 2017-09-29 05:03:43 +00:00
FuzzMutate Re-apply "Introduce FuzzMutate library" 2017-08-21 22:57:06 +00:00
IR Let replaceVTableHolder accept any type. 2017-11-08 22:04:43 +00:00
LineEditor Remove autoconf support 2016-01-26 21:29:08 +00:00
Linker Fix build for LLVM unittests 2017-09-15 21:12:13 +00:00
MC Move Object format code to lib/BinaryFormat. 2017-06-07 03:48:56 +00:00
MI Delete Default and JITDefault code models 2017-08-03 02:16:21 +00:00
Object Fix unittest for buildbot with mips host (32bit big endian) from r295174 2017-02-15 16:03:22 +00:00
ObjectYAML Move ObjectYAML code to a new library. 2016-03-01 19:15:06 +00:00
Option [GSoC] Flag value completion for clang 2017-06-20 16:31:31 +00:00
ProfileData [Coverage] Simplify r316141. NFC. 2017-10-19 06:16:23 +00:00
Support Convert FileOutputBuffer::commit to Error. 2017-11-08 01:50:29 +00:00
Target Reapply "[GlobalISel] Remove the GISelAccessor API." 2017-08-15 22:31:51 +00:00
tools [cfi-verify] Add blacklist parsing for result filtering. 2017-11-03 20:54:26 +00:00
Transforms Reapply r316582 [Local] Fix a bug in the domtree update logic for MergeBasicBlockIntoOnlyPred. 2017-10-26 15:04:53 +00:00
XRay [XRay][graph] Disambiguate name of type from member name 2017-02-10 06:59:25 +00:00
CMakeLists.txt Reland 'Classify llvm-cfi-verify.' 2017-10-11 20:35:01 +00:00