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: https://reviews.llvm.org/D81126
|
 | llvm/test/CodeGen/PowerPC/ifunc.ll |
 | llvm/lib/Target/PowerPC/PPCISelLowering.cpp |
 | llvm/test/CodeGen/PowerPC/func-alias.ll |
 | llvm/test/CodeGen/PowerPC/pcrel-local-caller-toc.ll |
Commit
65647ed1e5e8a74ef28f19279d329bb49741dcaa
by llvm-devPass DIEnumerator APInt args by const reference not value.
Noticed by clang-tidy performance-unnecessary-value-param warning.
|
 | llvm/include/llvm/IR/DebugInfoMetadata.h |
 | llvm/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: https://reviews.llvm.org/D82942
|
 | llvm/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: https://reviews.llvm.org/D82924
|
 | clang-tools-extra/clang-tidy/cppcoreguidelines/InitVariablesCheck.cpp |
 | clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines-init-variables.cpp |
Commit
e35a5876e4c7f67211dd600a3006bede2ccab25c
by a.bataevRevert "[StackSafety,NFC] Remove unneded constexpr"
This reverts commit 38470baa542bde038340b7d10a0ed2c25fac1bfa because it breaks builds with lld and gold linkers.
|
 | llvm/lib/IR/ModuleSummaryIndex.cpp |
Commit
a03dc8c9fa8e9c5cf44448fac1a9ad0fdad7df41
by pavel[lldb] Add basic -flimit-debug-info support to expression evaluator
Summary: 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: https://reviews.llvm.org/D81561
|
 | lldb/test/API/functionalities/limit-debug-info/foo.cpp |
 | lldb/test/API/functionalities/limit-debug-info/onetwo.h |
 | lldb/test/API/functionalities/limit-debug-info/TestLimitDebugInfo.py |
 | lldb/test/API/functionalities/limit-debug-info/Makefile |
 | lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp |
 | lldb/source/Plugins/ExpressionParser/Clang/ClangASTImporter.cpp |
 | lldb/test/API/functionalities/limit-debug-info/main.cpp |
 | lldb/source/Plugins/ExpressionParser/Clang/ClangASTMetadata.h |
 | lldb/test/API/functionalities/limit-debug-info/one.cpp |
 | lldb/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: https://reviews.llvm.org/D82959
|
 | mlir/include/mlir/Dialect/Linalg/Passes.td |
 | mlir/lib/Dialect/Linalg/Transforms/Promotion.cpp |
 | mlir/include/mlir/Dialect/Linalg/Passes.h |
 | mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h |
 | mlir/test/Dialect/Linalg/promote.mlir |