UnstableChanges

Summary

  1. [AMDGPU] Remove some redundant variables. NFC. (details)
  2. Revert "[lldb/Platform] Return a std::string from GetSDKPath" (details)
  3. [DSE,MSSA] Add multi-path tests with readnone throwing calls. (details)
  4. [analyzer] Track runtime types represented by Obj-C Class objects (details)
  5. [MLIR] Introduce op trait PolyhedralScope (revised) (details)
  6. Recommit "[VPlan] Add & use VPValue operands for VPWidenRecipe (NFC)." (details)
  7. [SveEmitter] Add builtins for gather prefetches (details)
  8. [TTI] Add DemandedElts to getScalarizationOverhead (details)
  9. Fix Wparentheses gcc warning. NFC. (details)
  10. [NFC][ARM] Add two cost model tests (details)
  11. [NFC][ARM] Modify cost model test (details)
  12. [analyzer] Fix build error. NFC. (details)
  13. [SveEmitter] Add builtins for svmov_b and svnot_b. (details)
  14. Revert 6654719 "[CMake] Fix logic error: NOT LIBCLANG_BUILD_STATIC does not imply PIC" (details)
Commit 3c1f21cdf61482e597dd6253dd16435ec83aeeec by jay.foad
[AMDGPU] Remove some redundant variables. NFC.
The file was modifiedllvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
Commit bb7bde5bba579a0521ed5b9a7b8a69465928986e by Jonas Devlieghere
Revert "[lldb/Platform] Return a std::string from GetSDKPath"

This reverts commit b14c37a29a5455853419f5fe0605f6023c51de89.
The file was modifiedlldb/include/lldb/Target/Platform.h
The file was modifiedlldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
The file was modifiedlldb/source/Plugins/Platform/MacOSX/PlatformDarwin.h
Commit e018b8bbb0ba8ac1bb36931827c2fbc3ec31c1da by flo
[DSE,MSSA] Add multi-path tests with readnone throwing calls.
The file was addedllvm/test/Transforms/DeadStoreElimination/MSSA/multiblock-multipath-throwing.ll
Commit 239c53b72b18d6fd6c5ad9a6d27cd09b950dc97a by vsavchenko
[analyzer] Track runtime types represented by Obj-C Class objects

Summary:
Objective-C Class objects can be used to do a dynamic dispatch on
class methods. The analyzer had a few places where we tried to overcome
the dynamic nature of it and still guess the actual function that
is being called. That was done mostly using some simple heuristics
covering the most widespread cases (e.g. [[self class] classmethod]).
This solution introduces a way to track types represented by Class
objects and work with that instead of direct AST matching.

rdar://problem/50739539

Differential Revision: https://reviews.llvm.org/D78286
The file was modifiedclang/include/clang/StaticAnalyzer/Core/PathSensitive/DynamicType.h
The file was modifiedclang/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp
The file was modifiedclang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h
The file was addedclang/test/Analysis/class-object-state-dump.m
The file was modifiedclang/test/Analysis/cast-value-state-dump.cpp
The file was modifiedclang/test/Analysis/retain-release-inline.m
The file was modifiedclang/lib/StaticAnalyzer/Core/DynamicType.cpp
The file was modifiedclang/include/clang/StaticAnalyzer/Core/PathSensitive/DynamicTypeInfo.h
The file was modifiedclang/lib/StaticAnalyzer/Core/ProgramState.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/ObjCSuperDeallocChecker.cpp
The file was modifiedclang/test/Analysis/inlining/InlineObjCClassMethod.m
The file was modifiedclang/lib/StaticAnalyzer/Checkers/CastValueChecker.cpp
The file was modifiedclang/lib/StaticAnalyzer/Core/CallEvent.cpp
The file was modifiedclang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h
The file was modifiedclang/test/Analysis/inlining/ObjCDynTypePopagation.m
Commit 480345381a3ec9b067bbccc509e2462c10cfc9e3 by uday
[MLIR] Introduce op trait PolyhedralScope (revised)

(A previous version of this, dd2c639c3cd397dfef941186fb85c82e4e918425, was
reverted.)

Introduce op trait PolyhedralScope for ops to define a new scope for
polyhedral optimization / affine dialect purposes, thus generalizing
such scopes beyond FuncOp. Ops to which this trait is attached will
define a new scope for the consideration of SSA values as valid symbols
for the purposes of polyhedral analysis and optimization. Update methods
that check for dim/symbol validity to work based on this trait.

Differential Revision: https://reviews.llvm.org/D79060
The file was modifiedmlir/include/mlir/IR/OpDefinition.h
The file was modifiedmlir/include/mlir/IR/Module.h
The file was modifiedmlir/docs/Dialects/Affine.md
The file was modifiedmlir/docs/Traits.md
The file was modifiedmlir/test/Dialect/Affine/invalid.mlir
The file was modifiedmlir/test/lib/Dialect/Test/TestOps.td
The file was modifiedmlir/test/Dialect/Affine/ops.mlir
The file was modifiedmlir/lib/Dialect/Affine/IR/AffineOps.cpp
The file was modifiedmlir/include/mlir/Dialect/Affine/IR/AffineOps.td
The file was modifiedmlir/test/lib/Dialect/Test/TestDialect.cpp
The file was modifiedmlir/include/mlir/IR/Function.h
The file was modifiedmlir/include/mlir/IR/OpBase.td
The file was modifiedmlir/include/mlir/Dialect/Affine/IR/AffineOps.h
Commit e89379856acd52e0535bfef3123bd72e1704485c by flo
Recommit "[VPlan] Add & use VPValue operands for VPWidenRecipe (NFC)."

The crash that caused the original revert has been fixed in
a3c964a278b4. I also added a reduced version of the crash reproducer.

This reverts the revert commit 2107af9ccfdfe67a90ea9ed4f3bfd7c72c4e29ac.
The file was modifiedllvm/lib/Transforms/Vectorize/VPlan.h
The file was modifiedllvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
The file was modifiedllvm/test/Transforms/LoopVectorize/icmp-uniforms.ll
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Commit 42a56bf63f699a620a57c34474510d9937ebf715 by sander.desmalen
[SveEmitter] Add builtins for gather prefetches

Patch by Andrzej Warzynski

Reviewed By: efriedma

Tags: #clang

Differential Revision: https://reviews.llvm.org/D78677
The file was modifiedclang/utils/TableGen/SveEmitter.cpp
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_prfh.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_prfb.c
The file was modifiedclang/lib/CodeGen/CodeGenFunction.h
The file was modifiedclang/include/clang/Basic/TargetBuiltins.h
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_prfw.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_prfd.c
The file was modifiedclang/include/clang/Basic/arm_sve.td
Commit 090cae8491279126690b9530ce72b7f8fdb1dc9e by llvm-dev
[TTI] Add DemandedElts to getScalarizationOverhead

The improvements to the x86 vector insert/extract element costs in D74976 resulted in the estimated costs for vector initialization and scalarization increasing higher than should be expected. This is particularly noticeable on pre-SSE4 targets where the available of legal INSERT_VECTOR_ELT ops is more limited.

This patch does 2 things:
1 - it implements X86TTIImpl::getScalarizationOverhead to more accurately represent the typical costs of a ISD::BUILD_VECTOR pattern.
2 - it adds a DemandedElts mask to getScalarizationOverhead to permit the SLP's BoUpSLP::getGatherCost to be rewritten to use it directly instead of accumulating raw vector insertion costs.

This fixes PR45418 where a v4i8 (zext'd to v4i32) was no longer vectorizing.

A future patch should extend X86TTIImpl::getScalarizationOverhead to tweak the EXTRACT_VECTOR_ELT scalarization costs as well.

Reviewed By: @craig.topper

Differential Revision: https://reviews.llvm.org/D78216
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/resched.ll
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/minimum-sizes.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/load_store.ll
The file was modifiedllvm/lib/Analysis/TargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
The file was modifiedllvm/test/Analysis/CostModel/X86/sitofp.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/masked-intrinsic-cost.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/fptosi.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/fptoui.ll
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.cpp
The file was modifiedllvm/test/Analysis/CostModel/X86/fround.ll
The file was modifiedllvm/include/llvm/CodeGen/BasicTTIImpl.h
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.h
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/vectorize-reorder-reuse.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/strided_load_cost.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/arith-fp.ll
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
The file was modifiedllvm/test/Analysis/CostModel/X86/intrinsic-cost.ll
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfoImpl.h
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfo.h
The file was modifiedllvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h
Commit db97a12454a95556dd7cd812105088c7e8852d92 by llvm-dev
Fix Wparentheses gcc warning. NFC.

It should be either a float(32) or an int(32).
The file was modifiedclang/lib/CodeGen/CGCall.cpp
Commit 850bdefa650b7ef3c18a3f07b0d9dea41d5f1ca8 by sam.parker
[NFC][ARM] Add two cost model tests
The file was addedllvm/test/Analysis/CostModel/ARM/control-flow.ll
The file was addedllvm/test/Analysis/CostModel/ARM/immediates.ll
Commit e9d0f1c8eaf5552c09bf7048de6653f116a444c6 by sam.parker
[NFC][ARM] Modify cost model test
The file was modifiedllvm/test/Analysis/CostModel/ARM/immediates.ll
Commit 23f4edf1fe38b8d4c6dbc7fc8e197f1f1f8c6710 by vsavchenko
[analyzer] Fix build error. NFC.

Move DenseMapInfo specialization to llvm namespace
The file was modifiedclang/lib/StaticAnalyzer/Core/CallEvent.cpp
Commit a4dac6d4e0eae47eaa51bac72c048b1e3cd89c8b by sander.desmalen
[SveEmitter] Add builtins for svmov_b and svnot_b.

These are custom expanded in CGBuiltin:

  svmov_b_z(pg, op) <=> svand_b_z(pg, op, op)
  svnot_b_z(pg, op) <=> sveor_b_z(pg, op, pg)

Reviewers: SjoerdMeijer, efriedma, ctetreau, rengolin

Reviewed By: efriedma

Differential Revision: https://reviews.llvm.org/D79039
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_not.c
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp
The file was addedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mov.c
The file was modifiedclang/include/clang/Basic/arm_sve.td
Commit 209ab6d8835cd88320ceb814893759cfbda91d15 by hans
Revert 6654719 "[CMake] Fix logic error: NOT LIBCLANG_BUILD_STATIC does not imply PIC"

It broke building libclang.dll in Windows builds configured with
LLVM_ENABLE_PIC=OFF. See discussion on the cfe-commits thread.
The file was modifiedclang/tools/libclang/CMakeLists.txt