SuccessChanges

Summary

  1. [deadargelim] Attach dbg info to the insert/extractvalue instructions (details)
  2. [AMDGPU][NFC] Tidy sgpr-control-flow.ll whitespace (details)
  3. [SVE][CodeGen] Fix implicit TypeSize->uint64_t conversion in TransformFPLoadStorePair (details)
  4. [SVE] Fix implicit TypeSize->uint64_t conversion getCastInstrCost (details)
Commit 1af8c93bab4b5ccf64fa64406f5e5712c1d54998 by djolertrk
[deadargelim] Attach dbg info to the insert/extractvalue instructions

Attach DbgLoc on insertvalue/extractvalue instructions created by
DeadArgumentElimination.

This fixes the PR46350.

Differential Revision: https://reviews.llvm.org/D81939
The file was addedllvm/test/DebugInfo/X86/dbgloc-insert-extract-val-instrs.ll
The file was modifiedllvm/lib/Transforms/IPO/DeadArgumentElimination.cpp
Commit e5f022cad99abb39d4f66b151a4a31a4ac063aff by carl.ritson
[AMDGPU][NFC] Tidy sgpr-control-flow.ll whitespace

Pre-commit clean up for D83641.
The file was modifiedllvm/test/CodeGen/AMDGPU/sgpr-control-flow.ll
Commit 3b8eaf26db93fbb58db2478feb0f6234e9ad552a by david.sherwood
[SVE][CodeGen] Fix implicit TypeSize->uint64_t conversion in TransformFPLoadStorePair

In DAGCombiner::TransformFPLoadStorePair we were dropping the scalable
property of TypeSize when trying to create an integer type of equivalent
size. In fact, this optimisation makes no sense for scalable types
since we don't know the size at compile time. I have changed the code
to bail out when encountering scalable type sizes.

I've added a test to

  llvm/test/CodeGen/AArch64/sve-fp.ll

that exercises this code path. The test already emits an error if it
encounters warnings due to implicit TypeSize->uint64_t conversions.

Differential Revision: https://reviews.llvm.org/D83572
The file was modifiedllvm/test/CodeGen/AArch64/sve-fp.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Commit c06b7e2ab5167ad031745a706204abed1aefd823 by david.sherwood
[SVE] Fix implicit TypeSize->uint64_t conversion getCastInstrCost

In getCastInstrCost() when comparing different sizes for src and
dst types we should be using the TypeSize comparison operators
instead of relying upon TypeSize being converted a uin64_t.
Previously this meant we were dropping the scalable property and
treating fixed and scalable vector types the same.

Differential Revision: https://reviews.llvm.org/D83461
The file was addedllvm/test/Analysis/CostModel/AArch64/sve-bitcast.ll
The file was modifiedllvm/include/llvm/CodeGen/BasicTTIImpl.h