hanchenye-llvm-project/llvm
Manman Ren 60352032bf Debug Info: Use identifier to reference DIType in base type field of
ptr_to_member.

We introduce a new class DITypeRef that represents a reference to a DIType.
It wraps around a Value*, which can be either an identifier in MDString
or an actual MDNode. The class has a helper function "resolve" that
finds the actual MDNode for a given DITypeRef.

We specialize getFieldAs to return a field that is a reference to a
DIType. To correctly access the base type field of ptr_to_member,
getClassType now calls getFieldAs<DITypeRef> to return a DITypeRef.

Also add a typedef for DITypeIdentifierMap and a helper
generateDITypeIdentifierMap in DebugInfo.h. In DwarfDebug.cpp, we keep
a DITypeIdentifierMap and call generateDITypeIdentifierMap to actually
populate the map.

Verifier is updated accordingly.

llvm-svn: 190081
2013-09-05 18:48:31 +00:00
..
autoconf [conf] Add config variable to disable crash related overrides. 2013-08-30 20:39:21 +00:00
bindings
cmake [CMake] Add -O1 in debug builds with LLVM_USE_SANITIZER 2013-09-02 09:15:01 +00:00
docs TableGen: Enumerate Schedule Model too. 2013-09-03 19:43:28 +00:00
examples ExceptionDemo.cpp: Tweak a @param. [-Wdocumentation] 2013-07-29 11:03:50 +00:00
include Debug Info: Use identifier to reference DIType in base type field of 2013-09-05 18:48:31 +00:00
lib Debug Info: Use identifier to reference DIType in base type field of 2013-09-05 18:48:31 +00:00
projects Port the detection of zlib from the main autoconf system to the sample 2013-08-18 01:55:15 +00:00
runtime Use @rpath for libraries rather than @executable_path on OSX. 2013-08-02 01:51:52 +00:00
test Debug Info: Use identifier to reference DIType in base type field of 2013-09-05 18:48:31 +00:00
tools msbuild: Add clang's compiler-rt libs to the LibraryPath 2013-09-05 02:09:34 +00:00
unittests MemoryBufer: add a test: check that a file with size that is a multiple of the 2013-09-04 18:02:13 +00:00
utils [lit] Allow config files to pass arbitrary values to child configs. 2013-09-03 23:32:55 +00:00
.arcconfig
.clang-format Add a clang-format file so that the tool can automatically detect the 2013-09-02 07:19:04 +00:00
.gitignore
CMakeLists.txt [conf] Add config variable to disable crash related overrides. 2013-08-30 20:39:21 +00:00
CODE_OWNERS.TXT Add more owners to CODE_OWNERS.TXT (Kostya Serebryany: AddressSanitizer and ThreadSanitizer; Evgeniy Stepanov: MemorySanitizer) 2013-06-27 08:47:12 +00:00
CREDITS.TXT Test commit. 2013-08-16 18:09:06 +00:00
LICENSE.TXT
LLVMBuild.txt
Makefile Fix regular expression used by 'make update' to only look for 'I' and '?' at the start of svn info results and to check for spaces after 'I' instead of just after '?'. 2013-07-03 14:48:37 +00:00
Makefile.common
Makefile.config.in Add an autoconf option for turning on -gsplit-dwarf by default 2013-06-25 01:12:25 +00:00
Makefile.rules Makefile.rules: Avoid -fomit-frame-pointer also on cygwin due to PR14646. 2013-08-18 03:38:40 +00:00
README.txt
configure [conf] Add config variable to disable crash related overrides. 2013-08-30 20:39:21 +00:00
llvm.spec.in

README.txt

Low Level Virtual Machine (LLVM)
================================

This directory and its subdirectories contain source code for the Low Level
Virtual Machine, a toolkit for the construction of highly optimized compilers,
optimizers, and runtime environments.

LLVM is open source software. You may freely distribute it under the terms of
the license agreement found in LICENSE.txt.

Please see the documentation provided in docs/ for further
assistance with LLVM, and in particular docs/GettingStarted.rst for getting
started with LLVM and docs/README.txt for an overview of LLVM's
documentation setup.

If you're writing a package for LLVM, see docs/Packaging.rst for our
suggestions.