SuccessChanges

Summary

  1. [DWARF] Emit DW_AT_call_return_pc as an address (details)
  2. DebugInfo: Factor out logic to update locations in MD_loop metadata, NFC (details)
  3. Work around PR43337: don't try to use the vec_sel overloads for vector (details)
  4. PR17164: Change clang's default behavior from (details)
Commit f0120556c7e2ef14ff3da5bd7d5717cedf94b767 by Vedant Kumar
[DWARF] Emit DW_AT_call_return_pc as an address
This reverts D53469, which changed llvm's DWARF emission to emit
DW_AT_call_return_pc as a function-local offset. Such an encoding is not
compatible with post-link block re-ordering tools and isn't standards-
compliant.
In addition to reverting back to the original DW_AT_call_return_pc
encoding, teach lldb how to fix up DW_AT_call_return_pc when the address
comes from an object file pointed-to by a debug map. While doing this I
noticed that lldb's support for tail calls that cross a DSO/object file
boundary wasn't covered, so I added tests for that. This latter case
exercises the newly added return PC fixup.
The dsymutil changes in this patch were originally included in D49887:
the associated test should be sufficient to test DW_AT_call_return_pc
encoding purely on the llvm side.
Differential Revision: https://reviews.llvm.org/D72489
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
The file was addedlldb/packages/Python/lldbsuite/test/functionalities/tail_call_frames/cross_object/main.c
The file was addedlldb/packages/Python/lldbsuite/test/functionalities/tail_call_frames/cross_dso/main.c
The file was addedlldb/packages/Python/lldbsuite/test/functionalities/tail_call_frames/cross_dso/shared.h
The file was modifiedlldb/include/lldb/Symbol/Function.h
The file was addedlldb/packages/Python/lldbsuite/test/functionalities/tail_call_frames/cross_object/One.c
The file was addedlldb/packages/Python/lldbsuite/test/functionalities/tail_call_frames/cross_dso/Two.mk
The file was modifiedllvm/tools/dsymutil/DwarfLinkerForBinary.cpp
The file was addedlldb/packages/Python/lldbsuite/test/functionalities/tail_call_frames/cross_dso/TestCrossDSOTailCalls.py
The file was addedllvm/test/tools/dsymutil/call-site-entry-linking.test
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp
The file was addedllvm/test/tools/dsymutil/Inputs/call-site-entry.c
The file was addedlldb/packages/Python/lldbsuite/test/functionalities/tail_call_frames/cross_dso/One.mk
The file was addedlldb/packages/Python/lldbsuite/test/functionalities/tail_call_frames/cross_object/TestCrossObjectTailCalls.py
The file was modifiedlldb/source/Symbol/Function.cpp
The file was addedllvm/test/tools/dsymutil/Inputs/call-site-entry.macho.x86_64.o
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
The file was addedlldb/packages/Python/lldbsuite/test/functionalities/tail_call_frames/cross_dso/One/One.c
The file was modifiedllvm/include/llvm/CodeGen/DebugHandlerBase.h
The file was addedlldb/packages/Python/lldbsuite/test/functionalities/tail_call_frames/cross_object/shared.h
The file was modifiedllvm/test/DebugInfo/X86/debug_addr.ll
The file was addedlldb/packages/Python/lldbsuite/test/functionalities/tail_call_frames/cross_object/Makefile
The file was addedlldb/packages/Python/lldbsuite/test/functionalities/tail_call_frames/cross_dso/Two/Two.c
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h
The file was addedlldb/packages/Python/lldbsuite/test/functionalities/tail_call_frames/cross_dso/Makefile
The file was addedlldb/packages/Python/lldbsuite/test/functionalities/tail_call_frames/cross_object/Two.c
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
The file was addedllvm/test/tools/dsymutil/Inputs/call-site-entry.macho.x86_64
Commit a2cc80bc95703b99afefddb1d9d545c639ac4ff5 by Vedant Kumar
DebugInfo: Factor out logic to update locations in MD_loop metadata, NFC
Factor out the logic needed to update debug locations contained within
MD_loop metadata.
This refactor is preparation for a future change that also needs to
rewrite MD_loop metadata.
rdar://45507940
The file was modifiedllvm/include/llvm/IR/DebugInfo.h
The file was modifiedllvm/lib/IR/DebugInfo.cpp
The file was modifiedllvm/lib/Transforms/Utils/InlineFunction.cpp
Commit 388eaa1270c2762d61b756759b6db8cf15bd3a83 by richard
Work around PR43337: don't try to use the vec_sel overloads for vector
long long, since clang's <altivec.h> doesn't provide it yet!
The file was modifiedclang/lib/Headers/ppc_wrappers/emmintrin.h
Commit b72a8c65e4e34779b6bc9e466203f553f5294486 by richard
PR17164: Change clang's default behavior from
-flax-vector-conversions=all to -flax-vector-conversions=integer.
Summary: See proposal on cfe-dev:
http://lists.llvm.org/pipermail/cfe-dev/2019-April/062030.html
Reviewers: SjoerdMeijer, eli.friedman
Subscribers: kristof.beyls, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D67678
The file was modifiedclang/test/Headers/x86intrin.c
The file was modifiedclang/test/Sema/vector-ops.c
The file was modifiedclang/docs/ReleaseNotes.rst
The file was modifiedclang/test/Headers/x86intrin-2.c
The file was modifiedclang/include/clang/Basic/LangOptions.def
The file was modifiedclang/test/Headers/x86-intrinsics-headers.c
The file was modifiedclang/docs/CommandGuide/clang.rst
The file was modifiedclang/test/Headers/altivec-header.c
The file was modifiedclang/test/Headers/arm-neon-header.c
The file was modifiedclang/test/Sema/vector-assign.c
The file was modifiedclang/test/Sema/vector-cast.c