SuccessChanges

Summary

  1. Mark masked.{store,scatter,compressstore} intrinsics as write-only (details)
  2. [AMDGPU] Fix for folding v2.16 literals. (details)
  3. [libunwind] Bare-metal DWARF: set dso_base to 0 (details)
  4. [ValueTracking] isKnownNonZero, computeKnownBits for freeze (details)
  5. [Asan] Return nullptr for invalid chunks (details)
  6. AMDGPU: Fix inserting waitcnts before kill uses (details)
  7. AMDGPU: Skip all meta instructions in hazard recognizer (details)
  8. AMDGPU: Hoist check for VGPRs (details)
  9. [gcov] Delete unused llvm_gcda_increment_indirect_counter (details)
  10. [llvm-install-name-tool] Add -V flag (details)
  11. [gcov] Delete flush_fn_list (unused since D83149) (details)
Commit 8b7c8f2c549d301fcea75d8e6e98a8ee160d5ff4 by kparzysz
Mark masked.{store,scatter,compressstore} intrinsics as write-only
The file was modifiedllvm/test/Analysis/TypeBasedAliasAnalysis/intrinsics.ll
The file was modifiedllvm/test/Analysis/BasicAA/intrinsics.ll
The file was modifiedllvm/include/llvm/IR/Intrinsics.td
Commit c259d3a061c8fc0f9520208eb265d4352a0ad447 by dfukalov
[AMDGPU] Fix for folding v2.16 literals.

It was found some packed immediate operands (e.g. `<half 1.0, half 2.0>`) are
incorrectly processed so one of two packed values were lost.

Introduced new function to check immediate 32-bit operand can be folded.
Converted condition about current op_sel flags value to fall-through.

Fixes: SWDEV-247595

Reviewed By: rampitec

Differential Revision: https://reviews.llvm.org/D87158
The file was modifiedllvm/test/CodeGen/AMDGPU/shrink-add-sub-constant.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIFoldOperands.cpp
The file was modifiedllvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
The file was modifiedllvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
Commit 09d492902f178f60b3ab986360eadde9b5c8d359 by rprichard
[libunwind] Bare-metal DWARF: set dso_base to 0

Previously, DwarfFDECache::findFDE used 0 as a special value meaning
"search the entire cache, including dynamically-registered FDEs".
Switch this special value to -1, which doesn't make sense as a DSO
base.

Fixes PR47335.

Reviewed By: compnerd, #libunwind

Differential Revision: https://reviews.llvm.org/D86748
The file was modifiedlibunwind/src/AddressSpace.hpp
The file was modifiedlibunwind/src/UnwindCursor.hpp
Commit a6183d0f028cb73eccc82a7cce9534708a149762 by aqjune
[ValueTracking] isKnownNonZero, computeKnownBits for freeze

This implements support for isKnownNonZero, computeKnownBits when freeze is involved.

```
  br (x != 0), BB1, BB2
BB1:
  y = freeze x
```

In the above program, we can say that y is non-zero. The reason is as follows:

(1) If x was poison, `br (x != 0)` raised UB
(2) If x was fully undef, the branch again raised UB
(3) If x was non-zero partially undef, say `undef | 1`, `freeze x` will return a nondeterministic value which is also non-zero.
(4) If x was just a concrete value, it is trivial

Reviewed By: nikic

Differential Revision: https://reviews.llvm.org/D75808
The file was modifiedllvm/lib/Analysis/ValueTracking.cpp
The file was modifiedllvm/test/Transforms/InstSimplify/known-non-zero.ll
The file was modifiedllvm/unittests/Analysis/ValueTrackingTest.cpp
Commit 91c28bbe74f24e0e84edf84daae7659c11e7afd6 by Vitaly Buka
[Asan] Return nullptr for invalid chunks

CHUNK_ALLOCATED. CHUNK_QUARANTINE are only states
which make AsanChunk useful for GetAsanChunk callers.
In either case member of AsanChunk are not useful.

Fix few cases which didn't expect nullptr. Most of the callers are already
expects nullptr.

Reviewed By: morehouse

Differential Revision: https://reviews.llvm.org/D87135
The file was modifiedcompiler-rt/lib/asan/asan_allocator.cpp
Commit 82cbc9330a4dc61e867864d96b0dbec74abaca89 by Matthew.Arsenault
AMDGPU: Fix inserting waitcnts before kill uses
The file was modifiedllvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
The file was addedllvm/test/CodeGen/AMDGPU/waitcnt-meta-instructions.mir
Commit 85490874b23ba1337210dbcb700b258ffb751b78 by Matthew.Arsenault
AMDGPU: Skip all meta instructions in hazard recognizer

This was not adding a necessary nop due to thinking the kill counted.
The file was modifiedllvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
The file was addedllvm/test/CodeGen/AMDGPU/hazard-recognizer-meta-insts.mir
Commit e15215e04154e1bc8ea57d46f36b054adf49a3ed by Matthew.Arsenault
AMDGPU: Hoist check for VGPRs
The file was modifiedllvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
Commit f559bf31adb21220bbb39e0524b4113f9611fff4 by i
[gcov] Delete unused llvm_gcda_increment_indirect_counter

It has been unused since r157564 (2012).
The file was modifiedcompiler-rt/lib/profile/GCDAProfiling.c
Commit b897729a39d35f95173852fe97da3602ec574c1d by alexshap
[llvm-install-name-tool] Add -V flag

This diff adds -V alias for --version to make llvm-install-name-tool
consistent with other tools (llvm-objcopy, llvm-strip, etc).

Test plan: make check-all

Differential revision: https://reviews.llvm.org/D87264
The file was modifiedllvm/tools/llvm-objcopy/InstallNameToolOpts.td
The file was modifiedllvm/test/tools/llvm-objcopy/tool-version.test
Commit 01cdab0b335e21321987505e66f34c24dc55b0d7 by i
[gcov] Delete flush_fn_list (unused since D83149)
The file was modifiedcompiler-rt/lib/profile/GCDAProfiling.c