SuccessChanges

Summary

  1. [clang][Tooling] Optimize addTargetAndMode in case of invalid modes (details)
  2. [analyzer] Simplify function SVal::getAsSymbolicExpression and similar ones (details)
  3. [analyzer] Introduce minor refactoring of SVal::getSubKind function (details)
  4. [clangd] Support new/deleta operator in TargetFinder. (details)
  5. [ARM] Fix IT block generation after Thumb2SizeReduce with -Oz (details)
  6. [clang][ARM] Add name-mangling test for direct __fp16 arguments. (details)
  7. [InstCombine] add tests for xor-of-ors; NFC (details)
  8. [InstCombine] reduce xor-of-or's bitwise logic (PR46955) (details)
  9. AMDGPU/GlobalISel: Fix selecting broken copies for s32->s64 anyext (details)
Commit 76c3ec814dec8eef020490b5d3a640d873b5918b by kadircet
[clang][Tooling] Optimize addTargetAndMode in case of invalid modes

This skips searching for `target` related flags in the existing args if
we don't have a valid target to insert.

Depends on D85076

Differential Revision: https://reviews.llvm.org/D85077
The file was modifiedclang/lib/Tooling/Tooling.cpp (diff)
Commit 86e1b73507f3738f10eefb580d7c5e9adf17c6c0 by dpetrov
[analyzer] Simplify function SVal::getAsSymbolicExpression and similar ones

Summary: Simplify functions SVal::getAsSymbolicExpression SVal::getAsSymExpr and SVal::getAsSymbol. After revision I concluded that `getAsSymbolicExpression` and `getAsSymExpr` repeat functionality of `getAsSymbol`, thus them can be removed.

Fix: Remove functions SVal::getAsSymbolicExpression and SVal::getAsSymExpr.

Differential Revision: https://reviews.llvm.org/D85034
The file was modifiedclang/lib/StaticAnalyzer/Core/ProgramState.cpp (diff)
The file was modifiedclang/lib/StaticAnalyzer/Core/SVals.cpp (diff)
The file was modifiedclang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.cpp (diff)
The file was modifiedclang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp (diff)
The file was modifiedclang/lib/StaticAnalyzer/Core/SValBuilder.cpp (diff)
The file was modifiedclang/lib/StaticAnalyzer/Checkers/MacOSKeychainAPIChecker.cpp (diff)
The file was modifiedclang/lib/StaticAnalyzer/Checkers/Taint.cpp (diff)
The file was modifiedclang/lib/StaticAnalyzer/Checkers/CheckObjCDealloc.cpp (diff)
The file was modifiedclang/lib/StaticAnalyzer/Core/SimpleConstraintManager.cpp (diff)
The file was modifiedclang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h (diff)
Commit 21fa82d5c63c30c745d5181889329084ac6d2767 by dpetrov
[analyzer] Introduce minor refactoring of SVal::getSubKind function

Summary: `BaseMask` occupies the lowest bits. Effect of applying the mask is neutralized by right shift operation, thus making it useless.

Fix: Remove a redundant bitwise operation.

Differential Revision: https://reviews.llvm.org/D85026
The file was modifiedclang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h (diff)
Commit 5191f70ab1f4b0b9225b2e9e11584e199172418c by hokein.wu
[clangd] Support new/deleta operator in TargetFinder.

Differential Revision: https://reviews.llvm.org/D85028
The file was modifiedclang-tools-extra/clangd/unittests/FindTargetTests.cpp (diff)
The file was modifiedclang-tools-extra/clangd/FindTarget.cpp (diff)
The file was modifiedclang-tools-extra/clangd/XRefs.cpp (diff)
Commit 18279a54b5d3382874924d6a3c7775b7e22598dc by nicholas.guy
[ARM] Fix IT block generation after Thumb2SizeReduce with -Oz

Fixes a regression caused by D82439, in which IT blocks were no longer being
generated when -Oz is present. This was due to the CPSR register being marked as
dead, while this case was not accounted for.

Differential Revision: https://reviews.llvm.org/D83667
The file was modifiedllvm/test/CodeGen/Thumb2/constant-hoisting.ll (diff)
The file was modifiedllvm/lib/Target/ARM/ARMBaseInstrInfo.cpp (diff)
Commit ed0e4c70c99d3afd87fb202ab03bda40512677e7 by simon.tatham
[clang][ARM] Add name-mangling test for direct __fp16 arguments.

`clang/test/CodeGenCXX/fp16-mangle.cpp` tests pointers to __fp16, but
if you give the `-fallow-half-arguments-and-returns` option, then
clang can also leave an __fp16 unmodified as a function argument or
return type. This regression test checks the name-mangling of that.

Reviewed By: miyuki

Differential Revision: https://reviews.llvm.org/D85010
The file was addedclang/test/CodeGenCXX/fp16-mangle-arg-return.cpp
Commit b57ea8ef2a8a07ffd2c05389da3f759caaa49f3e by spatel
[InstCombine] add tests for xor-of-ors; NFC
The file was modifiedllvm/test/Transforms/InstCombine/xor.ll (diff)
Commit 2265d01f2a5bd153959701e22f5be2a40e1674a3 by spatel
[InstCombine] reduce xor-of-or's bitwise logic (PR46955)

I tried to use m_Deferred() on this, but didn't find
a clean way to do that.

http://bugs.llvm.org/PR46955

https://alive2.llvm.org/ce/z/2h6QTq
The file was modifiedllvm/test/Transforms/InstCombine/xor.ll (diff)
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp (diff)
Commit d8ef1d1251e3c0e11894ed82904dbab5e41c5711 by Matthew.Arsenault
AMDGPU/GlobalISel: Fix selecting broken copies for s32->s64 anyext

These should probably not be legal in the first place, but that might
also be a pain.
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-anyext.mir (diff)
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp (diff)