SuccessChanges

Changes from Git (git http://labmaster3.local/git/llvm-project.git)

Summary

  1. [Sanitizers] Use getParamByValType() (NFC) (details)
  2. [lldb/DataFormatter] Check for overflow when finding NSDate epoch (details)
  3. Fix several places that were calling verifyFunction or verifyModule without checking the return value. (details)
  4. [clangd] Avoid wasteful data structures in RefSlab::Builder (details)
  5. DAG: Use correct pointer size for llvm.ptrmask (details)
  6. [AMDGPU] Fixed selection error for 64 bit extract_subvector (details)
  7. [x86] add tests for disguised horizontal ops; NFC (details)
  8. [x86] add tests for heroic horizontal ops; NFC (details)
  9. [GlobalISel] Add support for using vector values in memset inlining. (details)
  10. [llvm][SVE] IR intrinscs for matrix multiplication instructions. (details)
  11. [SveEmitter] Builtins for SVE matrix multiply `mmla`. (details)
  12. [llvm][sve] Intrinsics for SVE sudot and usdot instructions. (details)
  13. GlobalISel: Fold G_MUL x, 0, and G_*DIV 0, x (details)
  14. [analyzer][NFC] Introduce CXXDeallocatorCall, deploy it in MallocChecker (details)
  15. [gn build] Port 9d69072fb80 (details)
Commit 47a0e9f49b903aa4ef821d2c7a679a145ee983f9 by nikita.ppv
[Sanitizers] Use getParamByValType() (NFC)

Instead of fetching the pointer element type.
The file was modifiedllvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
The file was modifiedllvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
Commit b783f70a42575a5d9147bea1ac97e872370fe55b by Vedant Kumar
[lldb/DataFormatter] Check for overflow when finding NSDate epoch

Summary:
Fixes UBSan-reported issues where the date value inside of an
uninitialized NSDate overflows the 64-bit epoch.

rdar://61774575

Reviewers: JDevlieghere, mib, teemperor

Subscribers: mgorny, lldb-commits

Tags: #lldb

Differential Revision: https://reviews.llvm.org/D80150
The file was addedlldb/unittests/DataFormatter/MockTests.cpp
The file was addedlldb/include/lldb/DataFormatters/Mock.h
The file was modifiedlldb/source/Plugins/Language/ObjC/Cocoa.cpp
The file was modifiedlldb/unittests/DataFormatter/CMakeLists.txt
Commit c9f63297e24a1b29c2236ac2e2d1afd96b83114e by craig.topper
Fix several places that were calling verifyFunction or verifyModule without checking the return value.

verifyFunction/verifyModule don't assert or error internally. They
also don't print anything if you don't pass a raw_ostream to them.
So the caller needs to check the result and ideally pass a stream
to get the messages. Otherwise they're just really expensive no-ops.

I've filed PR45965 for another instance in SLPVectorizer
that causes a lit test failure.

Differential Revision: https://reviews.llvm.org/D80106
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was modifiedllvm/lib/Transforms/Coroutines/CoroSplit.cpp
The file was modifiedllvm/tools/llvm-split/llvm-split.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonCommonGEP.cpp
The file was modifiedllvm/tools/llvm-as-fuzzer/llvm-as-fuzzer.cpp
The file was modifiedllvm/lib/CodeGen/WinEHPrepare.cpp
Commit d19265b31e65c84ad908abce6e7f6e6d15c22258 by sam.mccall
[clangd] Avoid wasteful data structures in RefSlab::Builder

Summary: This is worth another 10% or so on InedxBenchmark.DexBuild.

Reviewers: kbobyrev

Subscribers: ilya-biryukov, MaskRay, jkorous, mgrang, arphaman, kadircet, usaxena95, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D79950
The file was modifiedclang-tools-extra/clangd/index/Ref.cpp
The file was modifiedclang-tools-extra/clangd/index/SymbolLocation.cpp
The file was modifiedclang-tools-extra/clangd/index/Ref.h
The file was modifiedclang-tools-extra/clangd/index/SymbolLocation.h
Commit 3e315697ac7c0df0715a801f5f85b1482f71a55c by arsenm2
DAG: Use correct pointer size for llvm.ptrmask

This was ignoring the address space, and would assert on address
spaces with a different size from the default.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was addedllvm/test/CodeGen/AMDGPU/ptrmask.ll
Commit 50f3bb13297b291b53abe3437075784c714b1a03 by Stanislav.Mekhanoshin
[AMDGPU] Fixed selection error for 64 bit extract_subvector

Differential Revision: https://reviews.llvm.org/D80155
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/extract-subvector.ll
Commit 9d7838d781669d61b8046f90045d772d0db3ad14 by spatel
[x86] add tests for disguised horizontal ops; NFC
The file was modifiedllvm/test/CodeGen/X86/haddsub-undef.ll
Commit b95a542d6b675e6c1bd8858aca44e829aea50f0b by spatel
[x86] add tests for heroic horizontal ops; NFC
The file was modifiedllvm/test/CodeGen/X86/haddsub-shuf.ll
Commit 17842025ed348fa2ed3bed4a89d1d5a59bab2107 by Amara Emerson
[GlobalISel] Add support for using vector values in memset inlining.
The file was modifiedllvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/inline-memset.mir
Commit 01f9d8ce5c0e394d4a080ed6117f64e284b3f303 by francesco.petrogalli
[llvm][SVE] IR intrinscs for matrix multiplication instructions.

Summary:
Instructions:

* SMMLA
* UMMLA
* USMMLA
* FMMLA

Reviewers: sdesmalen, efriedma, kmclaughlin

Subscribers: tschuett, hiraditya, rkruppe, psnobl, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D79638
The file was modifiedllvm/lib/Target/AArch64/SVEInstrFormats.td
The file was addedllvm/test/CodeGen/AArch64/sve-intrinsics-matmul-fp64.ll
The file was addedllvm/test/CodeGen/AArch64/sve-intrinsics-matmul-int8.ll
The file was addedllvm/test/CodeGen/AArch64/sve-intrinsics-matmul-fp32.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
The file was modifiedllvm/include/llvm/IR/IntrinsicsAArch64.td
Commit e2cc12e412821b05b4c31b74068976a90f167f1e by francesco.petrogalli
[SveEmitter] Builtins for SVE matrix multiply `mmla`.

Summary:
Guarded by __ARM_FEATURE_SVE_MATMUL_INT8:

* svmmla_u32
* svmmla_s32
* svusmmla_s32

Guarded by __ARM_FEATURE_SVE_MATMUL_FP32:

* svmmla_f32

Guarded by __ARM_FEATURE_SVE_MATMUL_FP64:

* svmmla_f64

Reviewers: sdesmalen, kmclaughlin, efriedma, rengolin

Subscribers: tschuett, kristof.beyls, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D79639
The file was addedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_matmul_fp64.c
The file was modifiedclang/utils/TableGen/SveEmitter.cpp
The file was addedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mmla.c
The file was modifiedclang/include/clang/Basic/arm_sve.td
The file was addedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_matmul_fp32.c
Commit b572d9b1a73fad9b6fd3b465aaba48a7c8d8c0bd by francesco.petrogalli
[llvm][sve] Intrinsics for SVE sudot and usdot instructions.

Summary:
This patch adds IR intrinsics for the mnemonics USDOT and SUDOT of the
8.6 extension of Armv8-a.

Reviewers: sdesmalen, efriedma, david-arm

Subscribers: tschuett, kristof.beyls, hiraditya, rkruppe, psnobl, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D79876
The file was modifiedllvm/lib/Target/AArch64/SVEInstrFormats.td
The file was modifiedllvm/include/llvm/IR/IntrinsicsAArch64.td
The file was modifiedllvm/test/CodeGen/AArch64/sve-intrinsics-matmul-int8.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
Commit ae989391723478c6e8c61b68dd4c575798f340db by Matthew.Arsenault
GlobalISel: Fold G_MUL x, 0, and G_*DIV 0, x
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-trivial-arith.mir
The file was modifiedllvm/include/llvm/Target/GlobalISel/Combine.td
The file was modifiedllvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
Commit 9d69072fb80755a0029a01c74892b4bf03f20f65 by dkszelethus
[analyzer][NFC] Introduce CXXDeallocatorCall, deploy it in MallocChecker

One of the pain points in simplifying MallocCheckers interface by gradually
changing to CallEvent is that a variety of C++ allocation and deallocation
functionalities are modeled through preStmt<...> where CallEvent is unavailable,
and a single one of these callbacks can prevent a mass parameter change.

This patch introduces a new CallEvent, CXXDeallocatorCall, which happens after
preStmt<CXXDeleteExpr>, and can completely replace that callback as
demonstrated.

Differential Revision: https://reviews.llvm.org/D75430
The file was modifiedclang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
The file was modifiedclang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp
The file was modifiedclang/lib/StaticAnalyzer/Core/ExprEngine.cpp
The file was modifiedclang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h
The file was modifiedclang/lib/StaticAnalyzer/Checkers/DeleteWithNonVirtualDtorChecker.cpp
The file was modifiedclang/unittests/StaticAnalyzer/CMakeLists.txt
The file was addedclang/unittests/StaticAnalyzer/CallEventTest.cpp
The file was modifiedclang/test/Analysis/cxx-dynamic-memory-analysis-order.cpp
Commit a81f8fb78dcb5d92deab82bb33e5c7f29de8ba48 by llvmgnsyncbot
[gn build] Port 9d69072fb80
The file was modifiedllvm/utils/gn/secondary/clang/unittests/StaticAnalyzer/BUILD.gn