llvm-project/llvm/lib
Teresa Johnson 9006d52651 [ThinLTO] Handle conflicting local names gracefully
Summary:
r285871 introduced an assert that was overly aggressive in the case
of a same-named local in different same-named files (in different
directories), where the source name and therefore the GUID ended up
the same because the files were compiled in their own directory without
any leading path. Change the handling in the promotion logic to get
the summary for the version in that module.

This also exposed an issue where we are not always importing the
right copy, which is a performance not correctness issue (because
the renaming is based on the module hash which must be different,
see the bug report for details). I will fix that as a follow-on.

Fixes PR31561.

Reviewers: mehdi_amini

Subscribers: llvm-commits

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

llvm-svn: 291304
2017-01-06 23:38:41 +00:00
..
Analysis [InstSimplify] Optimize away udivs in the presence of range metadata 2017-01-06 22:58:02 +00:00
AsmParser ASMParser: use range-based for loops (NFC) 2016-12-27 18:35:22 +00:00
Bitcode ThinLTO: add early "dead-stripping" on the Index 2017-01-05 21:34:18 +00:00
CodeGen [globalisel] Stop requiring -debug/-debug-only=registerbankinfo for assertions. 2017-01-06 14:29:34 +00:00
DebugInfo Add iterator support to DWARFDie to allow child DIE iteration. 2017-01-05 23:47:37 +00:00
Demangle Demangle: remove references to allocator for default allocator 2016-11-20 00:20:27 +00:00
ExecutionEngine [ExecutionEngine] Fix compile errors in OProfileJITEventListener. 2017-01-03 21:39:43 +00:00
Fuzzer [libFuzzer] remove dead code, NFC 2017-01-06 00:09:40 +00:00
IR [AVX-512] Remove vinsert intrinsics and autoupgrade to native shufflevectors. There are some codegen problems here that I'll try to fix in future commits. 2017-01-03 05:45:57 +00:00
IRReader Timer: Track name and description. 2016-11-18 19:43:18 +00:00
LTO ThinLTO: add early "dead-stripping" on the Index 2017-01-05 21:34:18 +00:00
LibDriver LibDriver: Allow resource files to be archive members. 2016-12-15 19:37:46 +00:00
LineEditor
Linker [ThinLTO] Import only necessary DICompileUnit fields 2016-12-12 16:09:30 +00:00
MC Reapply "[CodeGen] Fix invalid DWARF info on Win64" 2017-01-02 03:00:19 +00:00
Object [ThinLTO] Optionally ignore empty index file 2017-01-06 23:37:17 +00:00
ObjectYAML [ObjectYAML] Support for DWARF debug_info section 2016-12-22 22:44:27 +00:00
Option Generalize ArgList::AddAllArgs more 2016-09-29 19:47:58 +00:00
Passes [PM] Introduce a devirtualization iteration layer for the new PM. 2016-12-28 11:07:33 +00:00
ProfileData Make the Error class constructor protected 2016-11-11 04:28:40 +00:00
Support Use %z for size_t and avoid deprecated string functions 2017-01-06 18:22:18 +00:00
TableGen [Hexagon, TableGen] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-01-04 02:02:05 +00:00
Target [BPF] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-01-06 23:06:25 +00:00
Transforms [ThinLTO] Handle conflicting local names gracefully 2017-01-06 23:38:41 +00:00
CMakeLists.txt Try to fix a circular dependency in the modules build. 2016-09-06 20:16:19 +00:00
LLVMBuild.txt Add an c++ itanium demangler to llvm. 2016-09-06 19:16:48 +00:00