SuccessChanges

Summary

  1. [lldb] Add a host-independent test for handling -flimit-debug-info (details)
  2. [ASTMatchers] Enhanced support for matchers taking Regex arguments (details)
  3. Fix missing build dependencies on omp_gen (details)
  4. [AMDGPU][CODEGEN] Added support of new inline assembler constraints (details)
  5. [MLIR] Exact integer emptiness checks for FlatAffineConstraints (details)
  6. [ASTImporter] Add unittest case for friend decl import (details)
Commit c1f1db8502f1fc788eefeafd3dc225bd287ee4b9 by pavel
[lldb] Add a host-independent test for handling -flimit-debug-info

This complements the existing TestLimitDebugInfo.py, which tests this
scenario more comprehensively, but is not able to run on all hosts.
Specifically, it's hard to trigger this code from windows because clang
tries hard to ensure that debug info for types marked with
__declspec(dllexport) is emitted even under -flimit-debug-info (and
dllexport is needed to use a type across shared libraries).

This assembly-based test serves two purposes:
- it tests that -flimit-debug-info code path works for windows binaries
  (even though the aforementioned feature means its less likely to be
  used there)
- it gives basic test coverage for the -flimit-debug-info handling code
  when running the test suite on windows hosts.
The file was addedlldb/test/Shell/SymbolFile/DWARF/limit-debug-info.s
Commit f51a319cacd44819b4fb9fa9f005c2445bcee984 by n.james93
[ASTMatchers] Enhanced support for matchers taking Regex arguments

Added new Macros `AST(_POLYMORPHIC)_MATCHER_REGEX(_OVERLOAD)` that define a matchers that take a regular expression string and optionally regular expression flags. This lets users match against nodes while ignoring the case without having to manually use `[Aa]` or `[A-Fa-f]` in their regex. The other point this addresses is in the current state, matchers that use regular expressions have to compile them for each node they try to match on, Now the regular expression is compiled once when you define the matcher and used for every node that it tries to match against. If there is an error while compiling the regular expression an error will be logged to stderr showing the bad regex string and the reason it couldn't be compiled. The old behaviour of this was down to the Matcher implementation and some would assert, whereas others just would never match. Support for this has been added to the documentation script as well. Support for this has been added to dynamic matchers ensuring functionality is the same between the 2 use cases.

Reviewed By: aaron.ballman

Differential Revision: https://reviews.llvm.org/D82706
The file was modifiedclang/lib/ASTMatchers/ASTMatchersInternal.cpp
The file was modifiedclang/include/clang/ASTMatchers/ASTMatchers.h
The file was modifiedclang/lib/ASTMatchers/Dynamic/Marshallers.h
The file was modifiedclang/include/clang/ASTMatchers/ASTMatchersMacros.h
The file was modifiedclang/lib/ASTMatchers/Dynamic/Marshallers.cpp
The file was modifiedclang/docs/tools/dump_ast_matchers.py
The file was modifiedclang/unittests/ASTMatchers/Dynamic/ParserTest.cpp
The file was modifiedclang/docs/LibASTMatchersReference.html
The file was modifiedllvm/lib/Support/Regex.cpp
The file was modifiedclang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
The file was modifiedllvm/include/llvm/Support/Regex.h
The file was modifiedclang/include/clang/ASTMatchers/ASTMatchersInternal.h
The file was modifiedclang/lib/ASTMatchers/Dynamic/Registry.cpp
Commit 3c72cafdf407a5a74d98a025071019533a54a1e1 by jonathan_roelofs
Fix missing build dependencies on omp_gen

Differential Revision: https://reviews.llvm.org/D83003
The file was modifiedllvm/CMakeLists.txt
The file was modifiedllvm/cmake/modules/LLVMConfig.cmake.in
The file was modifiedllvm/cmake/modules/CMakeLists.txt
The file was modifiedllvm/cmake/modules/AddLLVM.cmake
The file was modifiedllvm/unittests/Frontend/CMakeLists.txt
The file was modifiedllvm/lib/Transforms/IPO/CMakeLists.txt
Commit 1c9d681092d18bac249f01c5d9055dce6898a861 by dmitry.preobrazhensky
[AMDGPU][CODEGEN] Added support of new inline assembler constraints

Added support for constraints 'I', 'J', 'B', 'C', 'DA', 'DB'.

See https://gcc.gnu.org/onlinedocs/gcc/Machine-Constraints.html#Machine-Constraints.

Reviewers: arsenm, rampitec

Differential Revision: https://reviews.llvm.org/D81651
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/inline-constraints.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.h
The file was modifiedllvm/docs/LangRef.rst
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
Commit 10a898b3ecd638c58803e471b1ec239e58574635 by uday
[MLIR] Exact integer emptiness checks for FlatAffineConstraints

This patch adds the capability to perform exact integer emptiness checks for FlatAffineConstraints using the General Basis Reduction algorithm (GBR). Previously, only a heuristic was available for emptiness checks, which was not guaranteed to always give a conclusive result.

This patch adds a `Simplex` class, which can be constructed using a `FlatAffineConstraints`, and can find an integer sample point (if one exists) using the GBR algorithm. Additionally, it adds two classes `Matrix` and `Fraction`, which are used by `Simplex`.

The integer emptiness check functionality can be accessed through the new `FlatAffineConstraints::isIntegerEmpty()` function, which runs the existing heuristic first and, if that proves to be inconclusive, runs the GBR algorithm to produce a conclusive result.

Differential Revision: https://reviews.llvm.org/D80860
The file was addedmlir/include/mlir/Analysis/Presburger/Fraction.h
The file was modifiedmlir/include/mlir/Analysis/AffineStructures.h
The file was addedmlir/unittests/Analysis/Presburger/CMakeLists.txt
The file was addedmlir/include/mlir/Analysis/Presburger/Matrix.h
The file was modifiedmlir/unittests/CMakeLists.txt
The file was addedmlir/lib/Analysis/Presburger/CMakeLists.txt
The file was addedmlir/unittests/Analysis/AffineStructuresTest.cpp
The file was addedmlir/include/mlir/Analysis/Presburger/Simplex.h
The file was modifiedmlir/lib/Analysis/CMakeLists.txt
The file was addedmlir/lib/Analysis/Presburger/Simplex.cpp
The file was modifiedmlir/lib/Analysis/AffineStructures.cpp
The file was addedmlir/lib/Analysis/Presburger/Matrix.cpp
The file was addedmlir/unittests/Analysis/Presburger/MatrixTest.cpp
The file was addedmlir/unittests/Analysis/CMakeLists.txt
The file was addedmlir/unittests/Analysis/Presburger/SimplexTest.cpp
Commit 59f1bf46f8c258b9c784ff921b89fb6cb7a06612 by vince.a.bridgers
[ASTImporter] Add unittest case for friend decl import

Summary:
This change adds a matching test case for the recent bug fix to
VisitFriendDecl in ASTImporterLookup.cpp.

See https://reviews.llvm.org/D82882 for details.

Reviewers: martong, a.sidorin, shafik

Reviewed By: martong

Subscribers: rnkovacs, teemperor, cfe-commits, dkrupp

Tags: #clang

Differential Revision: https://reviews.llvm.org/D83006
The file was modifiedclang/unittests/AST/ASTImporterTest.cpp