SuccessChanges

Summary

  1. [Analyzer] Fix for `ExprEngine::computeObjectUnderConstruction()` for base and delegating consturctor initializers (details)
  2. [CMake][CTE] Add "check-clang-extra-..." targets to test only a particular Clang extra tool (details)
  3. [PowerPC][LLD] Extend R2 save stub to support offsets of more than 26 bits (details)
  4. [InstCombine] Add bswap tests from funnel shift intrinsics (details)
  5. [PPC] [AIX] Implement calling convention IR for C99 complex types on AIX (details)
  6. [mlir] [VectorOps] generalize printing support for integers (details)
Commit facad21b29839a08fdf448eb4dd5a4e31e293b9b by adam.balogh
[Analyzer] Fix for `ExprEngine::computeObjectUnderConstruction()` for base and delegating consturctor initializers

For /C++/ constructor initializers `ExprEngine:computeUnderConstruction()`
asserts that they are all member initializers. This is not neccessarily
true when this function is used to get the return value for the
construction context thus attempts to fetch return values of base and
delegating constructor initializers result in assertions. This small
patch fixes this issue.

Differential Revision: https://reviews.llvm.org/D85351
The file was modifiedclang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp (diff)
The file was modifiedclang/unittests/StaticAnalyzer/TestReturnValueUnderConstruction.cpp (diff)
Commit 9d2ef5e74eea2247657431f44152f1f83ed99b84 by whisperity
[CMake][CTE] Add "check-clang-extra-..." targets to test only a particular Clang extra tool

Create targets `check-clang-extra-clang-tidy`, `check-clang-extra-clang-query`
similar to how `check-clang-sema`, `check-clang-parser`, etc. are
auto-generated from the directory structure.

This allows running only a particular sub-tool's tests, not having to wait
through the entire `check-clang-tools` execution.

Differential Revision: http://reviews.llvm.org/D84176
The file was modifiedclang-tools-extra/test/CMakeLists.txt (diff)
Commit d224175230d1ab232cfdf71f9da63a732f405c91 by stefanp
[PowerPC][LLD] Extend R2 save stub to support offsets of more than 26 bits

The R2 save stub will now support offsets up to 64 bits.

There are three cases that will be used.
1) The offset fits in 26 bits.
```
b <26 bit offset>
```
2) The offset does not fit in 26 bits but fits in 34 bits.
```
paddi r12, 0, <34 bit offset>, 1
mtctr r12
bctr
```
3) The offset does not fit in 34 bits. Since this is an R2 save stub we can use
the TOC in R2. We are not loading the offset but the actual address we want to
branch to.
```
addis r12, r2, <address in TOC lo>
ld r12 <address in TOC hi>(r12)
mtctr r12
bctr
```

In case 1) the stub is only 8 bytes while in cases 2) and 3) the stub will be
20 bytes.

Reviewed By: MaskRay, sfertile, NeHuang

Differential Revision: https://reviews.llvm.org/D87916
The file was modifiedlld/test/ELF/ppc64-toc-call-to-pcrel-long-jump.s (diff)
The file was modifiedlld/ELF/Thunks.cpp (diff)
Commit 852447650c75de5f3e9c53a2659589cd2fd36b4d by llvm-dev
[InstCombine] Add bswap tests from funnel shift intrinsics

Based on (WIP) patch in D87452 - I'm intending to add the intrinsics handling to collectBitParts as a separate patch to make the changes clearer.
The file was modifiedllvm/test/Transforms/InstCombine/bswap.ll (diff)
Commit f330d9f163f644b968c6aa5884dc1be5efda20a1 by zarko
[PPC] [AIX] Implement calling convention IR for C99 complex types on AIX

Add AIX calling convention logic to Clang for C99 complex types on AIX

Differential Revision: https://reviews.llvm.org/D88130
The file was modifiedclang/test/CodeGen/powerpc-c99complex.c (diff)
The file was removedclang/test/CodeGen/aix-complex.c
The file was modifiedclang/lib/CodeGen/TargetInfo.cpp (diff)
Commit b8880f5f97bf1628b2c9606e96abcd612dc7d747 by ajcbik
[mlir] [VectorOps] generalize printing support for integers

This generalizes printing beyond just i1,i32,i64 and also accounts
for signed and unsigned interpretation in the output.

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D88290
The file was modifiedmlir/lib/ExecutionEngine/CRunnerUtils.cpp (diff)
The file was addedmlir/integration_test/Dialect/Vector/CPU/test-print-int.mlir
The file was modifiedmlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp (diff)
The file was modifiedmlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir (diff)