Go to file
Aaron Smith 010edd37f8 PDB support of function-level linking and splitted functions
Summary:
The patch adds support of splitted functions (when MSVC is used with PGO) and function-level linking feature.

SymbolFilePDB::ParseCompileUnitLineTable function relies on fact that ranges of compiled source files in the binary are continuous and don't intersect each other. The function creates LineSequence for each file and inserts it into LineTable, and implementation of last one relies on continuity of the sequence. But it's not always true when function-level linking enabled, e.g. in added input test file test-pdb-function-level-linking.exe there is xstring's std__basic_string_char_std__char_traits_char__std__allocator_char_____max_size (.00454820) between test-pdb-function-level-linking.cpp's foo (.00454770) and main (.004548F0).

To fix the problem this patch renews the sequence on each address gap.

Reviewers: asmith, zturner

Reviewed By: asmith

Subscribers: aleksandr.urakov, labath, mgorny, lldb-commits

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

llvm-svn: 334260
2018-06-08 02:45:25 +00:00
clang [X86] Add builtins for vpermilps/pd instructions to enable target feature checking. 2018-06-08 00:59:27 +00:00
clang-tools-extra [checks/property-decls] Fix comment in clang-tidy/objc/PropertyDeclarationCheck.cpp ✍️ 2018-06-07 21:30:56 +00:00
compiler-rt [HWASan] Disable allocator_returns_null.cc test on Android. 2018-06-08 00:56:49 +00:00
debuginfo-tests [Darwin] Specify DWARF 2/4 when running apple accelerator tests. 2018-02-26 20:56:45 +00:00
libclc r600/fmin: Flush denormals before calling builtin. 2018-06-07 20:27:58 +00:00
libcxx Remove unused code from __functional_base. NFC. 2018-06-06 06:42:27 +00:00
libcxxabi private_typeinfo: limit is_dst_type_derived_from_static_type optimization 2018-05-18 20:51:38 +00:00
libunwind [OR1K] Add the EPCR special-purpose register to register state. 2018-05-16 19:09:48 +00:00
lld Expand comments. 2018-06-08 00:18:32 +00:00
lldb PDB support of function-level linking and splitted functions 2018-06-08 02:45:25 +00:00
llgo
llvm [X86] Improve some shuffle decoding code to remove a conditional from a loop and reduce the number of temporary variables. NFCI 2018-06-08 01:09:31 +00:00
openmp [OMPT] Rename ompt_wait_id to omp_wait_id 2018-05-28 08:16:08 +00:00
parallel-libs
polly Back out of GPU Codegen if NVPTX is not available 2018-06-07 21:10:49 +00:00
README.md

README.md

Low Level Virtual Machine (LLVM)

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