1. [PowerPC] Fix for PC Relative call protocol (details)
  2. Pass DIEnumerator APInt args by const reference not value. (details)
  3. [llvm-readobj] - Simplify the symbols.test (details)
  4. [clang-tidy] fix cppcoreguidelines-init-variables with catch variables (details)
  5. Revert "[StackSafety,NFC] Remove unneded constexpr" (details)
  6. [lldb] Add basic -flimit-debug-info support to expression evaluator (details)
  7. [mlir][Linalg] Add an option to use Alloca instead of malloc/free pairs. (details)
Commit b294e00fb079600f337f479eb29fc27058228302 by kamau.bridgeman
[PowerPC] Fix for PC Relative call protocol

The situation where the caller uses a TOC and the callee does not
but is marked as clobbers the TOC (st_other=1) was not being compiled
correctly if both functions where in the same object file.

The call site where we had `callee` was missing a nop after the call.
This is because it was assumed that since the two functions where in
the same DSO they would be sharing a TOC. This is not the case if the
callee uses PC Relative because in that case it may clobber the TOC.
This patch makes sure that we add the cnop correctly so that the
linker has a place to restore the TOC.

Reviewers: sfertile, NeHuang, saghir

Differential Revision:
The file was modifiedllvm/test/CodeGen/PowerPC/ifunc.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
The file was addedllvm/test/CodeGen/PowerPC/func-alias.ll
The file was addedllvm/test/CodeGen/PowerPC/pcrel-local-caller-toc.ll
Commit 65647ed1e5e8a74ef28f19279d329bb49741dcaa by llvm-dev
Pass DIEnumerator APInt args by const reference not value.

Noticed by clang-tidy performance-unnecessary-value-param warning.
The file was modifiedllvm/include/llvm/IR/DebugInfoMetadata.h
The file was modifiedllvm/lib/IR/DebugInfoMetadata.cpp
Commit 37dd8b6ce5f3ad6c5b9f6b5498606f8b7723e8ab by grimar
[llvm-readobj] - Simplify the symbols.test

We are able to use YAML macros to avoid having
4 independent YAML descriptions.

Differential revision:
The file was modifiedllvm/test/tools/llvm-readobj/ELF/symbols.test
Commit 669494e9c06c78b51260598bba9d84ba7634a53e by n.james93
[clang-tidy] fix cppcoreguidelines-init-variables with catch variables

Ignore catch statement var decls.

Reviewed By: aaron.ballman

Differential Revision:
The file was modifiedclang-tools-extra/clang-tidy/cppcoreguidelines/InitVariablesCheck.cpp
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines-init-variables.cpp
Commit e35a5876e4c7f67211dd600a3006bede2ccab25c by a.bataev
Revert "[StackSafety,NFC] Remove unneded constexpr"

This reverts commit 38470baa542bde038340b7d10a0ed2c25fac1bfa because it
breaks builds with lld and gold linkers.
The file was modifiedllvm/lib/IR/ModuleSummaryIndex.cpp
Commit a03dc8c9fa8e9c5cf44448fac1a9ad0fdad7df41 by pavel
[lldb] Add basic -flimit-debug-info support to expression evaluator

This patch adds support for evaluation of expressions referring to types
which were compiled in -flimit-debug-info (a.k.a -fno-standalone-debug)
in clang. In this mode it's possible that the debug information needed
to fully describe a c++ type is not present in a single shared library
-- for example debug info for a base class or a member of a type can
only be found in another shared library.  This situation is not
currently handled well within lldb as we are limited to searching within
a single shared library (lldb_private::Module) when searching for the
definition of these types.

The way that this patch gets around this limitation is by doing the
search at a later stage -- during the construction of the expression ast
context. This works by having the parser (currently SymbolFileDWARF, but
a similar approach is probably needed for PDBs too) mark a type as
"forcefully completed". What this means is that the parser has marked
the type as "complete" in the module ast context (as this is necessary
to e.g. derive classes from it), but its definition is not really there.
This is done via a new field on the ClangASTMetadata struct.

Later, when we are importing such a type into the expression ast, we
check this flag. If the flag is set, we try to find a better definition
for the type in other shared libraries. We do this by initiating a
new lookup for the "forcefully completed" classes, which then imports the
type from a module with a full definition.

This patch only implements this handling for base classes, but other
cases (members, array element types, etc.). The changes for that should
be fairly simple and mostly revolve around marking these types as
"forcefully completed" at an approriate time -- the importing logic is
generic already.

Another aspect, which is also not handled by this patch is viewing these
types via the "frame variable" command. This does not use the AST
importer and so it will need to handle these types on its own -- that
will be the subject of another patch.

Differential Revision:
The file was addedlldb/test/API/functionalities/limit-debug-info/foo.cpp
The file was addedlldb/test/API/functionalities/limit-debug-info/onetwo.h
The file was addedlldb/test/API/functionalities/limit-debug-info/
The file was addedlldb/test/API/functionalities/limit-debug-info/Makefile
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangASTImporter.cpp
The file was addedlldb/test/API/functionalities/limit-debug-info/main.cpp
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangASTMetadata.h
The file was addedlldb/test/API/functionalities/limit-debug-info/one.cpp
The file was addedlldb/test/API/functionalities/limit-debug-info/two.cpp
Commit 7d9518c8000bcd742b364a390bc79560f736dc96 by ntv
[mlir][Linalg] Add an option to use Alloca instead of malloc/free pairs.

Summary: A relevant test is also added.

Subscribers: mehdi_amini, rriddle, jpienaar, shauheen, antiagainst, arpith-jacob, mgester, lucyrfox, aartbik, liufengdb, stephenneuendorffer, Joonsoo, grosul1, Kayjukh, jurahul, msifontes

Tags: #mlir

Differential Revision:
The file was modifiedmlir/include/mlir/Dialect/Linalg/
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Promotion.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/Passes.h
The file was modifiedmlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
The file was modifiedmlir/test/Dialect/Linalg/promote.mlir