Changes

Summary

  1. [libc++] Move the linker script generation step to CMake (details)
  2. Trust the arange accelerator tables in dSYMs (details)
  3. [OpenMP] Enable thread affinity on FreeBSD (details)
  4. Fix crash or wrong code bug if a lifetime-extended temporary contains a (details)
  5. [libc++] Workaround old versions of CMake that don't understand (details)
  6. Revert Trust the arange accelerator tables in dSYMs (details)
  7. DebugInfo: Move LLE enum handling to .def to match RLE handling (details)
  8. [dsymutil] Improve verbose output (NFC) (details)
  9. [IA] Add tests for a few other edge cases (details)
  10. [sanitizer] Fix crypt.cpp on Android again (details)
  11. [IRGen] Emit lifetime markers for temporary struct allocas (details)
  12. [clang-scan-deps] Improve string/character literal skipping (details)
  13. [Docs] Fixes broken sphinx build - undefined label (details)
Commit 1ea8bb39b9c4ec71bb53196a2cdfa001328e1cac by Louis Dionne
[libc++] Move the linker script generation step to CMake
Summary: This allows the linker script generation to query CMake
properties
(specifically the dependencies of libc++.so) instead of having to carry
these dependencies around manually in global variables. Notice the
removal of the LIBCXX_INTERFACE_LIBRARIES global variable.
Reviewers: phosek, EricWF
Subscribers: mgorny, christof, jkorous, dexonsmith, libcxx-commits
Tags: #libc
Differential Revision: https://reviews.llvm.org/D68343
llvm-svn: 374116
The file was addedlibcxx/cmake/Modules/DefineLinkerScript.cmake
The file was modifiedlibcxx/CMakeLists.txt
The file was modifiedlibcxx/src/CMakeLists.txt
The file was removedlibcxx/utils/gen_link_script.py
Commit 6399db2f6fd64fa250093368be40eb5ae3af513b by Adrian Prantl
Trust the arange accelerator tables in dSYMs
When ingesting aranges from a dSYM it makes sense to always trust the
contents of the accelerator table since it always comes from dsymutil.
According to Instruments, skipping the decoding of all CU DIEs to get at
the DW_AT_ranges attribute removes ~3.5 seconds from setting a
breakpoint by file/line when debugging clang with a dSYM. Interestingly
on the wall clock the speedup is less noticeable, but still present.
rdar://problem/56057688
Differential Revision: https://reviews.llvm.org/D68655
llvm-svn: 374117
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfo.cpp
Commit f61f13d4e7e08b44629a1411ace53c5c6aeaf32b by David CARLIER
[OpenMP] Enable thread affinity on FreeBSD
Reviewers: chandlerc, jlpeyton, jdoerfert, dim
Reviewed-By: dim
Differential Revision: https://reviews.llvm.org/D68580
llvm-svn: 374118
The file was modifiedopenmp/runtime/src/kmp_affinity.cpp
The file was modifiedopenmp/runtime/src/z_Linux_util.cpp
The file was modifiedopenmp/runtime/src/kmp_os.h
The file was modifiedopenmp/runtime/src/kmp.h
The file was modifiedopenmp/runtime/src/kmp_affinity.h
The file was modifiedopenmp/runtime/src/kmp_runtime.cpp
Commit 48632af25cfbe05c8e29307a397d60c9998e6231 by richard-llvm
Fix crash or wrong code bug if a lifetime-extended temporary contains a
"non-constant" value.
If the constant evaluator evaluates part of a variable initializer,
including the initializer for some lifetime-extended temporary, but
fails to fully evaluate the initializer, it can leave behind wrong
values for temporaries encountered in that initialization. Don't try to
emit those from CodeGen! Instead, look at the values that constant
evaluation produced if (and only if) it actually succeeds and we're
emitting the lifetime-extending declaration's initializer as a constant.
llvm-svn: 374119
The file was modifiedclang/lib/AST/ExprConstant.cpp
The file was modifiedclang/lib/CodeGen/CodeGenModule.cpp
The file was addedclang/test/CodeGenCXX/no-const-init-cxx2a.cpp
Commit fe53d2dc6b2bf0f21a1acd72e0e3d7390932ce96 by Louis Dionne
[libc++] Workaround old versions of CMake that don't understand
list(JOIN)
llvm-svn: 374120
The file was modifiedlibcxx/cmake/Modules/DefineLinkerScript.cmake
Commit 35b63a435c95a75e21929966c05fdc0c4a66b6aa by Adrian Prantl
Revert Trust the arange accelerator tables in dSYMs
This reverts r374117 (git commit
6399db2f6fd64fa250093368be40eb5ae3af513b) while inspecting bot breakage.
llvm-svn: 374121
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfo.cpp
Commit 5841e9af1dff8bfdf22ad9716ad9d0ae8d73dbd6 by dblaikie
DebugInfo: Move LLE enum handling to .def to match RLE handling
llvm-svn: 374122
The file was modifiedllvm/include/llvm/BinaryFormat/Dwarf.def
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugLoc.cpp
The file was modifiedllvm/lib/BinaryFormat/Dwarf.cpp
The file was modifiedllvm/include/llvm/BinaryFormat/Dwarf.h
Commit a3f794e9b4225470b0035dea85f47ee4a2fa4013 by Jonas Devlieghere
[dsymutil] Improve verbose output (NFC)
The verbose output for finding relocations assumed that we'd always dump
the DIE after (which starts with a newline) and therefore didn't include
one itself. However, this isn't always true, leading to garbled output.
This patch adds a newline to the verbose output and adds a line that
says that the DIE is being kept (which isn't obvious otherwise). It also
adds a 0x prefix to the relocations.
llvm-svn: 374123
The file was modifiedllvm/tools/dsymutil/DwarfLinker.cpp
The file was modifiedllvm/test/tools/dsymutil/basic-linking.test
Commit 4d69ca8c67c90fcf9f4e7aeeb0d0c48307dd1168 by isanbard
[IA] Add tests for a few other edge cases
Test with the last eight bits within the range [7F, FF] and with
lower-case hex letters.
llvm-svn: 374124
The file was modifiedllvm/test/MC/AsmParser/directive_ascii.s
Commit d5f92e345cb6780d01debdcbfe56fe5720d8d50b by Vitaly Buka
[sanitizer] Fix crypt.cpp on Android again
llvm-svn: 374125
The file was modifiedcompiler-rt/test/sanitizer_common/lit.common.cfg.py
The file was modifiedcompiler-rt/test/sanitizer_common/TestCases/Posix/crypt.cpp
Commit 143f6b837790dd695c140c0cc6c5164ec54e0c0e by francisvm
[IRGen] Emit lifetime markers for temporary struct allocas
When passing arguments using temporary allocas, we need to add the
appropriate lifetime markers so that the stack coloring passes can
re-use the stack space.
This patch keeps track of all the lifetime.start calls emited before the
codegened call, and adds the corresponding lifetime.end calls after the
call.
Differential Revision: https://reviews.llvm.org/D68611
llvm-svn: 374126
The file was modifiedclang/lib/CodeGen/CGCall.cpp
The file was addedclang/test/CodeGen/aarch64-byval-temp.c
Commit a13f0da1d0bc32e5adfc62c0ba0d92b39192256c by Alex Lorenz
[clang-scan-deps] Improve string/character literal skipping
The existing string/character literal skipping code in the dependency
directives source minimizer has two issues:
- It doesn't stop the scanning when a newline is reached before the
terminating character, unlike the lexer which considers the token to be
done (even if it's invalid) at the end of the line.
- It doesn't support whitespace between '\' and the newline when looking
if the '\' is used as a line continuation character.
This commit fixes both issues.
Differential Revision: https://reviews.llvm.org/D68436
llvm-svn: 374127
The file was modifiedclang/unittests/Lex/DependencyDirectivesSourceMinimizerTest.cpp
The file was modifiedclang/lib/Lex/DependencyDirectivesSourceMinimizer.cpp
Commit b7538c5140c08d737d4670f26dd266cd2ab2913a by d4m1887
[Docs] Fixes broken sphinx build - undefined label
Removes label ref pointing to non-existent subsystem docs page.
llvm-svn: 374128
The file was modifiedllvm/docs/Contributing.rst