SuccessChanges

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

Summary

  1. [analyzer][NFC][MallocChecker] Convert many parameters into CallEvent (details)
  2. [NFC] Add _EnableIfLValueCallable and move reference out of __callable. (details)
  3. Mark shared_ptr::__create_with_control_block as noexcept. (details)
  4. [NFC] Remove non-rvlaue non-variadic allocator::construct overloads. (details)
  5. [NFC] Remove non-rvlaue non-variadic allocator::construct overloads. (details)
  6. [analyzer][StackAddressEscape] Tie warnings to the diagnostic checkers rather then core.StackAddrEscapeBase (details)
  7. [mlir][ods] Fix ops with both attribute-sized operands and results (details)
  8. [mlir][Affine] Introduce affine memory interfaces (details)
  9. [mlir][vulkan-runner] Minor fix in timestamp flag for vulkan runner. (details)
  10. [DAGCombine] Remove the getNegatibleCost to avoid the out of sync with getNegatedExpression (details)
Commit 392222dd72657244f13d7f99cc6a497cc78eba2e by dkszelethus
[analyzer][NFC][MallocChecker] Convert many parameters into CallEvent

Exactly what it says on the tin! This is clearly not the end of the road in this
direction, the parameters could be merged far more with the use of CallEvent or
a better value type in the CallDescriptionMap, but this was shockingly difficult
enough on its own. I expect that simplifying the file further will be far easier
moving forward.

The end goal is to research how we could create a more mature checker
interaction infrastructure for more complicated C++ modeling, and I'm pretty
sure that being able successfully split up our giants is the first step in this
direction.

Differential Revision: https://reviews.llvm.org/D75432
The file was modifiedclang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
Commit c98648a1759b453a2ae019f4fcc5e38128c4cd4a by zoecarver
    [NFC] Add _EnableIfLValueCallable and move reference out of __callable.

    Summary: In std::functional moves the reference out of the `__callable` implementation and replaces `_EnableIfCallable` with `_EnableIfLValueCallable` (`_EnableIfLValueCallable` passes `__callable` an lvalue reference type).

    Reviewers: ldionne, #libc!

    Subscribers: dexonsmith, libcxx-commits

    Tags: #libc

    Differential Revision: https://reviews.llvm.org/D80071
The file was modifiedlibcxx/include/functional
Commit 21d4050e2c999ed183a345a2dcd6792c9b71bf60 by zoecarver
Mark shared_ptr::__create_with_control_block as noexcept.

Summary: The default constructor for shared_ptr and shared_ptr::__enable_weak_this are both noexcept so, shared_ptr::__create_with_control_block can also be marked noexcept.

Reviewers: ldionne, #libc!

Subscribers: dexonsmith, libcxx-commits

Tags: #libc

Differential Revision: https://reviews.llvm.org/D80070
The file was modifiedlibcxx/include/memory
Commit b8998ab9c26509e3dd94962a32ca63f3ef74a751 by zoecarver
[NFC] Remove non-rvlaue non-variadic allocator::construct overloads.

Summary: All supported compilers have rvalues and variadics so we can safely remove the overloads of allocator::construct which are only enabled on compilers without rvalues and variadics.

Reviewers: ldionne, #libc!

Subscribers: dexonsmith, libcxx-commits

Tags: #libc

Differential Revision: https://reviews.llvm.org/D80068
The file was modifiedlibcxx/include/memory
Commit ca5bff18fc63d4f6b7fa2731d7a0a839efc984d8 by zoecarver
[NFC] Remove non-rvlaue non-variadic allocator::construct overloads.

Summary: All supported compilers have rvalues and variadics so we can safely remove the overloads of allocator::construct which are only enabled on compilers without rvalues and variadics.

Reviewers: ldionne, #libc!

Subscribers: dexonsmith, libcxx-commits

Tags: #libc

Differential Revision: https://reviews.llvm.org/D80068
The file was modifiedlibcxx/include/memory
Commit 3a6ee4fefec0bc97a0340ddc33e7a8ffd4590ad5 by dkszelethus
[analyzer][StackAddressEscape] Tie warnings to the diagnostic checkers rather then core.StackAddrEscapeBase

Differential Revision: https://reviews.llvm.org/D78101
The file was modifiedclang/test/Analysis/incorrect-checker-names.mm
The file was modifiedclang/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp
The file was modifiedclang/include/clang/StaticAnalyzer/Core/BugReporter/BugType.h
The file was modifiedclang/test/Analysis/incorrect-checker-names.cpp
Commit fb8204b210315807d6c18709c008a358d730aeff by antiagainst
[mlir][ods] Fix ops with both attribute-sized operands and results

Enclose verifier code for AttrSizedOperandSegments and AttrSizedResultSegments
in a nested code block to avoid symbol collision.

Differential Revision: https://reviews.llvm.org/D80250
The file was modifiedmlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
Commit a45fb1942fc5d21dfcdc37b99ab98778d3b16b79 by diego.caballero
[mlir][Affine] Introduce affine memory interfaces

This patch introduces interfaces for read and write ops with affine
restrictions. I used `read`/`write` intead of `load`/`store` for the
interfaces so that they can also be implemented by dma ops.
For now, they are only implemented by affine.load, affine.store,
affine.vector_load and affine.vector_store.

For testing purposes, this patch also migrates affine loop fusion and
required analysis to use the new interfaces. No other changes are made
beyond that.

Co-authored-by: Alex Zinenko <zinenko@google.com>

Reviewed By: bondhugula, ftynse

Differential Revision: https://reviews.llvm.org/D79829
The file was modifiedmlir/include/mlir/Dialect/Affine/IR/AffineOps.h
The file was modifiedmlir/include/mlir/Dialect/Affine/IR/CMakeLists.txt
The file was addedmlir/include/mlir/Dialect/Affine/IR/AffineMemoryOpInterfaces.h
The file was addedmlir/include/mlir/Dialect/Affine/IR/AffineMemoryOpInterfaces.td
The file was modifiedmlir/lib/Transforms/LoopFusion.cpp
The file was modifiedmlir/include/mlir/Dialect/Affine/IR/AffineOps.td
The file was modifiedmlir/lib/Dialect/Affine/IR/CMakeLists.txt
The file was modifiedmlir/lib/Analysis/Utils.cpp
The file was addedmlir/lib/Dialect/Affine/IR/AffineMemoryOpInterfaces.cpp
The file was modifiedmlir/lib/Analysis/AffineAnalysis.cpp
The file was modifiedmlir/test/lib/Transforms/TestMemRefBoundCheck.cpp
Commit 92577e6a0f7380f91387c04106b8aed0fe40cc8b by thomasraoux
[mlir][vulkan-runner] Minor fix in timestamp flag for vulkan runner.

The first timestamp query should use VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT.

Differential Revision: https://reviews.llvm.org/D80183
The file was modifiedmlir/tools/mlir-vulkan-runner/VulkanRuntime.cpp
Commit 2b59e9f1bdd8d0f8a315f9ddba2cdc87a3e682fb by qshanz
[DAGCombine] Remove the getNegatibleCost to avoid the out of sync with getNegatedExpression

We have the getNegatibleCost/getNegatedExpression to evaluate the cost and negate the expression.
However, during negating the expression, the cost might change as we are changing the DAG,
and then, hit the assertion if we negated the wrong expression as the cost is not trustful anymore.

This patch is target to remove the getNegatibleCost to avoid the out of sync with getNegatedExpression,
and check the cost during negating the expression. It also reduce the duplicated code between
getNegatibleCost and getNegatedExpression. And fix the crash for the test in D76638

Reviewed By: RKSimon, spatel

Differential Revision: https://reviews.llvm.org/D77319
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
The file was modifiedllvm/test/CodeGen/X86/neg_fp.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.h
The file was modifiedllvm/include/llvm/CodeGen/TargetLowering.h