SuccessChanges

Summary

  1. [lldb/Debugger] Rename IO handler methods to be more meaningful (NFC) (details)
  2. Revert "Allow system header to provide their own implementation of some (details)
  3. [COFF] Warn that LLD does not support /PDBSTRIPPED: (details)
  4. [libcxx] Use mtx_plain | mtx_recursive following C11 API (details)
  5. [lldb/Utils] Patch all variables used by lldb-dotest (details)
  6. [IR] Module's NamedMD table needn't be 'void *' (details)
  7. GlobalISel: Handle more cases of G_SEXT narrowing (details)
  8. AMDGPU: Remove custom node for exports (details)
  9. AMDGPU/GlobalISel: Select exp with patterns (details)
  10. [CodeExtractor] Transfer debug info to extracted function (details)
  11. [OPENMP]Use regular processing of vtable used when TU is a prefix. (details)
  12. Revert "Further implement CWG 2292" (details)
  13. Process BUNDLE in tail duplication (details)
  14. [lldb/Utils] Patch all variables used by lldb-dotest (2/2) (details)
  15. [lldb/Utils] Patch all variables used by lit (3/3) (details)
  16. Fix pack deduction to only deduce the arity of packs that are actually (details)
  17. [LLDB] Add ObjectFileWasm plugin for WebAssembly debugging (details)
Commit 7ce2de2ce4e7d4dd8e1e5a7a5b35c0f98e46681d by Jonas Devlieghere
[lldb/Debugger] Rename IO handler methods to be more meaningful (NFC)
Make it clear form the method names whether they are synchronous or
asynchronous.
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Lua/ScriptInterpreterLua.cpp
The file was modifiedlldb/source/Commands/CommandObjectGUI.cpp
The file was modifiedlldb/include/lldb/Core/Debugger.h
The file was modifiedlldb/source/Commands/CommandObjectCommands.cpp
The file was modifiedlldb/source/Core/Debugger.cpp
The file was modifiedlldb/source/Expression/REPL.cpp
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
The file was modifiedlldb/source/Target/Process.cpp
The file was modifiedlldb/source/Commands/CommandObjectExpression.cpp
The file was modifiedlldb/source/Interpreter/CommandInterpreter.cpp
Commit 3d210ed3d1880c615776b07d1916edb400c245a6 by akhuang
Revert "Allow system header to provide their own implementation of some
builtin"
This reverts commit 921f871ac438175ca8fcfcafdfcfac4d7ddf3905 because it
causes libc++ code to trigger __warn_memset_zero_len.
See https://reviews.llvm.org/D71082.
The file was removedclang/test/CodeGen/memcpy-nobuiltin.inc
The file was modifiedclang/lib/AST/Decl.cpp
The file was modifiedclang/lib/CodeGen/CGExpr.cpp
The file was removedclang/test/CodeGen/memcpy-nobuiltin.c
The file was modifiedclang/include/clang/AST/Decl.h
The file was modifiedclang/lib/CodeGen/CodeGenModule.cpp
Commit 8045a8a7f184b682bfb4e729a986a3c2bd3a5b4e by rnk
[COFF] Warn that LLD does not support /PDBSTRIPPED:
Doesn't really fix PR44491, but it avoids treating it as an input.
The file was modifiedlld/COFF/Options.td
The file was modifiedlld/COFF/Driver.cpp
The file was addedlld/test/COFF/pdbstripped.test
Commit 3481e5d7ed08d068a4e3427cb1afcd8bf2acafdc by phosek
[libcxx] Use mtx_plain | mtx_recursive following C11 API
The C11 API specifies that to initialize a recursive mutex, mtx_plain |
mtx_recursive should be used with mtx_init.
Differential Revision: https://reviews.llvm.org/D72809
The file was modifiedlibcxx/include/__threading_support
Commit 81fc1be601e7a8b73b675d318af9b1ba046fb5f5 by Jonas Devlieghere
[lldb/Utils] Patch all variables used by lldb-dotest
Instead of passing all the arguments for dotest.py as a single CMake
variable, lldb-dotest now uses separate variables for the different test
binaries. Before this change they'd all get patched as part of the
LLDB_DOTEST_ARGS. We need to patch the new variables as well.
The file was modifiedlldb/utils/lldb-dotest/CMakeLists.txt
Commit daab9227ff013db431e4ab6045bdbba55b3dd4f3 by modocache
[IR] Module's NamedMD table needn't be 'void *'
Summary: In July 21 2010 `llvm::NamedMDNode` was refactored such that it
would no longer subclass `llvm::Value`:
https://github.com/llvm/llvm-project/commit/2637cc1a38d7336ea30caf
As part of this change, a map type from metadata names to their named
metadata, `llvm::MDSymbolTable`, was deleted. In its place, the type of
member `llvm::Module::NamedMDSymTab` was changed, from
`llvm::MDSymbolTable` to `void *`. The underlying memory allocations for
this pointer were changed to `new StringMap<NamedMDNode *>()`.
However, as far as I can tell, there's no need for obscuring the
underlying type being pointed to by the `void *`, and no need for static
casts from `void *` to `StringMap`. In fact, I don't think there's a
need for explicit calls to `new` and `delete` at all.
This commit changes `NamedMDSymTab` from a pointer to a reference, which
automatically couples its lifetime with the lifetime of its owning
`llvm::Module` instance, thus removing the explicit calls to `new` and
`delete` in the `llvm::Module` constructor and destructor. It also
changes the type from `void *` to a newly defined `NamedMDSymTabType`,
and removes the static casts.
Test Plan: An ASAN-enabled build and run of `check-all` succeeds with
this change
(aside from some tests that always fail for me in ASAN for some reason,
such as `check-clang` `SemaTemplate/stack-exhaustion.cpp`).
Reviewers: aprantl, dblaikie, chandlerc, pcc, echristo
Reviewed By: dblaikie
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D72812
The file was modifiedllvm/lib/IR/Module.cpp
The file was modifiedllvm/include/llvm/IR/Module.h
Commit 25e9938a45e8dfde752a4e93c48ff0184d4784d9 by arsenm2
GlobalISel: Handle more cases of G_SEXT narrowing
This now develops the same problem G_ZEXT/G_ANYEXT have where the
requested type is assumed to be the source type. This will be fixed
separately by creating intermediate merges.
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-sext.mir
The file was modifiedllvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
Commit eef92f25ccf186935008c98f8147ad2ee178dcbb by arsenm2
AMDGPU: Remove custom node for exports
I'm mildly worried about potentially reordering exp/exp_done with
IntrWriteMem on the intrinsic.
Requires hacking out the illegal type on SI, so manually select that
case during lowering.
The file was modifiedllvm/include/llvm/IR/IntrinsicsAMDGPU.td
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.td
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInstrInfo.td
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIInstructions.td
Commit 711a17afaff276f816aca5dc4a68fae4e17a2c12 by arsenm2
AMDGPU/GlobalISel: Select exp with patterns
This does produce slightly different code. Now a unique IMPLICIT_DEF is
emitted for each of the implicit_def operands, rather than reusing the
same one.
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-amdgcn.exp.mir
Commit 360abb7ee56f1524b6e2951a4fda36296d5b3582 by Vedant Kumar
[CodeExtractor] Transfer debug info to extracted function
After extracting, fix up debug info in both the old and new functions by
1) Pointing line locations and debug intrinsics to the new subprogram
  scope, and
2) Deleting intrinsics which point to values outside of the new
  function.
Depends on https://reviews.llvm.org/D72795.
Testing: check-llvm, check-clang, a build of LNT in the `-Os -g` config
with "-mllvm -hot-cold-split=1" set, and end-to-end debugging of a toy
program which undergoes splitting to verify that lldb can find
variables, single step, etc. in extracted code.
rdar://45507940
Differential Revision: https://reviews.llvm.org/D72801
The file was modifiedllvm/lib/Transforms/Utils/CodeExtractor.cpp
The file was addedllvm/test/Transforms/HotColdSplit/transfer-debug-info.ll
The file was addedllvm/test/Transforms/HotColdSplit/update-split-loop-metadata.ll
The file was addedllvm/test/Transforms/HotColdSplit/split-out-dbg-label.ll
Commit b841b9e96e605bed5a1f9b846a07aae88c65ce02 by a.bataev
[OPENMP]Use regular processing of vtable used when TU is a prefix.
If current kind of the translation unit is TU_Prefix and it is not
complete, cannot decide what to do with virtual members/table at that
time, need to delay it to later stages.
The file was modifiedclang/lib/Sema/SemaDeclCXX.cpp
The file was modifiedclang/test/OpenMP/declare_target_codegen.cpp
Commit 44560762c62d72a103bdceff49ffa70451efd5f8 by akhuang
Revert "Further implement CWG 2292"
This reverts commit ee0f1f1edc3ec0d4e698d50cc3180217448802b7 because it
causes an error on valid code. See
https://reviews.llvm.org/rGee0f1f1edc3ec0d4e698d50cc3180217448802b7.
The file was modifiedclang/lib/Sema/SemaExprCXX.cpp
The file was removedclang/test/SemaCXX/pseudo-destructor-name.cpp
Commit 8b417dd3d6c6e4c83dee172e9b37cc2ba51c635a by Stanislav.Mekhanoshin
Process BUNDLE in tail duplication
When tail duplication estimates a size of tail it uses instruction
count. Account for a number of instrictions in a bundle too.
Differential Revision: https://reviews.llvm.org/D72783
The file was modifiedllvm/lib/CodeGen/TailDuplicator.cpp
The file was addedllvm/test/CodeGen/AMDGPU/tail-dup-bundle.mir
Commit cf958498c4b49447ab1ba6bb61a7d8816d306107 by Jonas Devlieghere
[lldb/Utils] Patch all variables used by lldb-dotest (2/2)
Instead of passing all the arguments for dotest.py as a single CMake
variable, lldb-dotest now uses separate variables for the different test
binaries. Before this change they'd all get patched as part of the
LLDB_DOTEST_ARGS. We need to patch the new variables as well.
The file was modifiedlldb/utils/lldb-dotest/CMakeLists.txt
Commit eac134ddf0344ff44bcd6a6285b6498e080cd1e3 by Jonas Devlieghere
[lldb/Utils] Patch all variables used by lit (3/3)
Instead of passing all the arguments for dotest.py as a single CMake
variable, lit now uses separate variables for the different test
binaries. Before this change they'd all get patched as part of the
LLDB_DOTEST_ARGS. We need to patch the new variables as well.
The file was modifiedlldb/test/API/CMakeLists.txt
Commit e8f198dd9e9dabed8d50276465906e7c8827cada by richard
Fix pack deduction to only deduce the arity of packs that are actually
expanded by the deduced pack.
We recently started also deducing the arity of separately-expanded packs
that are merely mentioned within the pack in question, which is
incorrect.
The file was modifiedclang/lib/Sema/SemaTemplateDeduction.cpp
The file was modifiedclang/test/SemaTemplate/deduction.cpp
Commit 4bafceced6a7641be7b090229c6ccef22cf55bff by dschuff
[LLDB] Add ObjectFileWasm plugin for WebAssembly debugging
Summary: This is the first in a series of patches to enable LLDB
debugging of WebAssembly targets.
Current versions of Clang emit (partial) DWARF debug information in
WebAssembly modules and we can leverage this debug information to give
LLDB the ability to do source-level debugging of Wasm code that runs in
a WebAssembly engine.
A way to do this could be to use the remote debugging functionalities
provided by LLDB via the GDB-remote protocol. Remote debugging can
indeed be useful not only to connect a debugger to a process running on
a remote machine, but also to connect the debugger to a managed VM or
script engine that runs locally, provided that the engine implements a
GDB-remote stub that offers the ability to access the engine runtime
internal state.
To make this work, the GDB-remote protocol would need to be extended
with a few Wasm-specific custom query commands, used to access aspects
of the Wasm engine state (like the Wasm memory, Wasm local and global
variables, and so on). Furthermore, the DWARF format would need to be
enriched with a few Wasm-specific extensions, here detailed:
https://yurydelendik.github.io/webassembly-dwarf.
This CL introduce classes **ObjectFileWasm**, a file plugin to represent
a Wasm module loaded in a debuggee process. It knows how to parse Wasm
modules and store the Code section and the DWARF-specific sections.
Reviewers: jasonmolenda, clayborg, labath
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D71575
The file was addedlldb/source/Plugins/ObjectFile/wasm/CMakeLists.txt
The file was addedlldb/test/Shell/ObjectFile/wasm/embedded-debug-sections.yaml
The file was addedlldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.h
The file was modifiedlldb/source/API/SystemInitializerFull.cpp
The file was addedlldb/test/Shell/ObjectFile/wasm/basic.yaml
The file was addedlldb/test/Shell/ObjectFile/wasm/stripped-debug-sections.yaml
The file was addedlldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.cpp
The file was modifiedlldb/include/lldb/Utility/ArchSpec.h
The file was modifiedlldb/tools/lldb-test/SystemInitializerTest.cpp
The file was modifiedlldb/source/Plugins/ObjectFile/CMakeLists.txt
The file was modifiedlldb/source/Utility/ArchSpec.cpp