1. [lldb] Extract reproducer providers & co into their own header. (details)
  2. [flang] Fix assert on bad character kind (details)
  3. [flang][msvc] Disambiguate injected class name. (details)
  4. [llvm-reduce] make llvm-reduce save the best reduction it has when it crashes (details)
  5. [LiveDebugValues] Add instruction-referencing LDV implementation (details)
  6. [gn build] Port ae6f7882403 (details)
  7. Move Py_buffer_RAII to .h file so SWIG 2 doesnt have to parse it (details)
  8. [LiveDebugValues] Delete unneeded copy constructor after D83047 (details)
Commit bb894b97821a1c970ce0c3243aaebbfa94add15c by Jonas Devlieghere
[lldb] Extract reproducer providers & co into their own header.

Extract all the provider related logic from Reproducer.h and move it
into its own header ReproducerProvider.h. These classes are seeing most
of the development these days and this reorganization reduces
incremental compilation from ~520 to ~110 files when making changes to
the new header.
The file was addedlldb/source/Utility/ReproducerProvider.cpp
The file was modifiedlldb/source/API/SBReproducerPrivate.h
The file was modifiedlldb/source/Core/IOHandler.cpp
The file was modifiedlldb/include/lldb/Utility/Reproducer.h
The file was modifiedlldb/source/Utility/CMakeLists.txt
The file was modifiedlldb/unittests/Utility/ReproducerTest.cpp
The file was modifiedlldb/source/Interpreter/CommandInterpreter.cpp
The file was modifiedlldb/source/Utility/Reproducer.cpp
The file was modifiedlldb/include/lldb/Utility/GDBRemote.h
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
The file was modifiedlldb/include/lldb/Core/IOHandler.h
The file was modifiedlldb/source/Initialization/SystemInitializerCommon.cpp
The file was addedlldb/include/lldb/Utility/ReproducerProvider.h
The file was modifiedlldb/include/lldb/Utility/ProcessInfo.h
The file was modifiedlldb/source/Plugins/SymbolVendor/MacOSX/SymbolVendorMacOSX.cpp
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp
The file was modifiedlldb/source/Host/common/Host.cpp
The file was modifiedlldb/source/Utility/ProcessInfo.cpp
Commit c0c3cafa2bdaaf878a6b544837073d3d92fbb797 by tkeith
[flang] Fix assert on bad character kind

When we report an error for a bad character kind, don't keep it in the
`DeclTypeSpec`. Otherwise there could be further problems. In this case,
`ComputeOffsets()` got an assertion error because we didn't recognize
`CHARACTER(*,8)` as needing a descriptor because of the bad kind.


Differential Revision:
The file was modifiedflang/test/Semantics/kinds02.f90
The file was modifiedflang/lib/Semantics/resolve-names.cpp
Commit 2aaa5a546ea016b8e2092ced1bd7147db51d483a by llvm-project
[flang][msvc] Disambiguate injected class name.

The identifier `Expr` within the scope of the Expr class (including its temple specializations) refers to the current template/instantiation (see for details). The `MapTemplate` template expect a non-instantiated template as the first template argument, not the concrete instantiation of `Expr`.

At least msvc interprets `Expr` as the injected class name, whereas gcc and clang use the global `flang::evaluate::Expr` template. Disambiguate by explicitly using the namespace.

This patch is part of the series to [[ | make flang compilable with MS Visual Studio ]].

Reviewed By: DavidTruby

Differential Revision:
The file was modifiedflang/include/flang/Evaluate/expression.h
Commit 7fef40d83cbb1be376f58b5763cf362e517b5e8d by tyker
[llvm-reduce] make llvm-reduce save the best reduction it has when it crashes

This helps with both debugging llvm-reduce and sometimes getting usefull result even if llvm-reduce crashes

Reviewed By: lebedev.ri

Differential Revision:
The file was modifiedllvm/tools/llvm-reduce/llvm-reduce.cpp
The file was modifiedllvm/tools/llvm-reduce/deltas/Delta.cpp
Commit ae6f788240310e50f912f67353bc0a845a104d97 by jeremy.morse
[LiveDebugValues] Add instruction-referencing LDV implementation

This patch imports the instruction-referencing implementation of
LiveDebugValues proposed here:

The new implementation is unreachable in this patch, it's the next patch
that enables it behind a command line switch. Briefly, rather than
tracking variable locations by just their location as the 'VarLoc'
implementation does, this implementation does it by value:
* Each value defined in a function is numbered, and propagated through
* Each DBG_VALUE reads a machine value number from a machine location,
* Variable _values_ are propagated through dataflow,
* Variable values are translated back into locations, DBG_VALUEs
   inserted to specify where those locations are.

The ultimate aim of this is to enable referring to variable values
throughout post-isel code, rather than locations. Those patches will
build on top of this new LiveDebugValues implementation in later patches
-- it can't be done with the VarLoc implementation as we don't have
value information, only locations.

Differential Revision:
The file was modifiedllvm/lib/CodeGen/CMakeLists.txt
The file was addedllvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
The file was modifiedllvm/lib/CodeGen/LiveDebugValues/LiveDebugValues.h
Commit 21ad3c4738cb69bd2974a1d9d820b768024406da by llvmgnsyncbot
[gn build] Port ae6f7882403
The file was modifiedllvm/utils/gn/secondary/llvm/lib/CodeGen/
Commit 5d8eedee917de2d39d1c485d07a30f8649bc6866 by antonio.afonso
Move Py_buffer_RAII to .h file so SWIG 2 doesnt have to parse it

`struct Py_buffer_RAII` definition uses explicit deleted functions which are not supported by SWIG 2 (only 3).
To get around this I moved this struct to an .h file that is included to avoid being parsed by swig.

Reviewed By: lawrence_danna

Differential Revision:
The file was modifiedlldb/bindings/python/python-typemaps.swig
The file was addedlldb/bindings/python/python-typemaps.h
Commit 60bcec4eead73996877c389d439af337f186c3ae by maskray
[LiveDebugValues] Delete unneeded copy constructor after D83047

It will suppress the implicitly-declared copy assignment operator in C++20.
The file was modifiedllvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp