llvm/test
Adrian Prantl d6200f6d89 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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@317730 91177308-0d34-0410-b5e6-96231b3b80d8
2017-11-08 22:04:43 +00:00
..
Analysis [LV][X86] update the cost of interleaving mem. access of floats 2017-11-06 10:56:20 +00:00
Assembler [IR] redefine 'UnsafeAlgebra' / 'reassoc' fast-math-flags and add 'trans' fast-math-flag 2017-11-06 16:27:15 +00:00
Bindings [LLVM-C] Expose functions to create debug locations via DIBuilder. 2017-11-01 22:18:52 +00:00
Bitcode [IR] redefine 'UnsafeAlgebra' / 'reassoc' fast-math-flags and add 'trans' fast-math-flag 2017-11-06 16:27:15 +00:00
BugPoint
CodeGen Add an @llvm.sideeffect intrinsic 2017-11-08 21:59:51 +00:00
DebugInfo Let replaceVTableHolder accept any type. 2017-11-08 22:04:43 +00:00
Examples
ExecutionEngine [mips] Adds support for R_MIPS_26, HIGHER, HIGHEST relocations in RuntimeDyld. 2017-10-22 09:47:41 +00:00
Feature
FileCheck Add a -D flag to FileCheck to define variables 2017-11-07 13:24:44 +00:00
Instrumentation Fix for Bug 34475 - LOCK/REP/REPNE prefixes emitted as instruction on their own. 2017-11-03 15:25:13 +00:00
Integer
JitListener
Linker Verifier: Ignore CUs pulled in by ODR-uniqued types. 2017-10-18 01:11:01 +00:00
LTO [LTO][ThinLTO] Use the linker resolutions to mark global values as dso_local. 2017-11-04 17:04:39 +00:00
MC [AArch64][SVE] Asm: Add support for (ADD|SUB)_ZZZ 2017-11-07 16:58:13 +00:00
Object [test] Add test files that were missed from SVN r317459 2017-11-06 07:36:17 +00:00
ObjectYAML [ObjectYAML] Handle SHF_COMPRESSED 2017-10-03 06:35:55 +00:00
Other Recommit r317351 : Add CallSiteSplitting pass 2017-11-03 20:41:16 +00:00
SafepointIRVerifier
SymbolRewriter
TableGen [globalisel][tablegen] Add support for multi-insn emission 2017-11-01 19:57:57 +00:00
ThinLTO/X86 [LTO][ThinLTO] Use the linker resolutions to mark global values as dso_local. 2017-11-04 17:04:39 +00:00
tools Make sure an error is always handled. 2017-11-08 21:15:21 +00:00
Transforms Add an @llvm.sideeffect intrinsic 2017-11-08 21:59:51 +00:00
Unit [lit] Make lit support config files with .py extension. 2017-09-21 00:24:52 +00:00
Verifier Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
YAMLParser
.clang-format
CMakeLists.txt Add test dependency on llvm-cfi-verify to fix up the build breakages on sanitizers. 2017-11-01 00:49:45 +00:00
lit.cfg.py llvm/test/lit.cfg.py: Don't set the feature "llvm-64-bits" if -m32 is specified. 2017-11-04 06:55:55 +00:00
lit.site.cfg.py.in Reland "Add feature to determine if host architecture is 64-bit in llvm-lit" 2017-11-02 23:45:51 +00:00
TestRunner.sh