LLVM/project 0470117llvm/lib/Target/AArch64 SVEInstrFormats.td AArch64SVEInstrInfo.td, llvm/test/CodeGen/AArch64 sve-pred-ldst.ll sve-calling-convention-byref.ll

[LLVM][CodeGen][SVE] Make use of predicate load/store "mul vl" addressing mode. (#206997)
DeltaFile
+193-0llvm/test/CodeGen/AArch64/sve-pred-ldst.ll
+17-47llvm/test/CodeGen/AArch64/sve-calling-convention-byref.ll
+28-13llvm/lib/Target/AArch64/SVEInstrFormats.td
+0-20llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
+0-18llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
+0-2llvm/lib/Target/AArch64/AArch64InstrFormats.td
+238-1006 files

LLVM/project 179badcflang/docs FAQ.md

[flang][docs] Add a mention about -fsafe-trampoline to FAQ.md (#207656)

Co-authored-by: Tarun Prabhu <tarunprabhu at gmail.com>
DeltaFile
+4-0flang/docs/FAQ.md
+4-01 files

LLVM/project 95eef8cllvm/include/llvm/IR Instructions.h IRBuilder.h, llvm/lib/CodeGen AtomicExpandPass.cpp

[IR][NFC] Add LoadStoreProperties to copy load/store attrs (#206470)

Introduce a small `LoadStoreProperties` struct plus get/setAttributes on
`LoadInst` and `StoreInst` so volatile/align/ordering/syncscope can be
copied together instead of one field at a time. Switch the obvious load->load
and store->store clone sites over to it.
DeltaFile
+40-0llvm/include/llvm/IR/Instructions.h
+11-20llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
+12-0llvm/lib/IR/Instructions.cpp
+11-0llvm/include/llvm/IR/IRBuilder.h
+4-6llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
+2-8llvm/lib/CodeGen/AtomicExpandPass.cpp
+80-346 files

LLVM/project 2d829f6llvm/docs HowToUpdateDebugInfo.rst, llvm/include/llvm/Transforms/Utils Debugify.h

[Debugify] Simplify debugify for locations (#207374)

This patch attempts to improve the performance of debugify for
locations, by relying on coverage tracking to replace most of the
functionality provided via the DILocations map, in exchange for losing
the ability to distinguish between "dropped" and "not-generated" bugs,
and requiring coverage tracking to determine when new bugs appear in a
pass instead of reporting the same bug repeatedly across passes.

This patch is not without cost; the justifications for using it are
that:
- Debugify locations is incredibly expensive; on a local build, without
using any coverage-tracking, this patch takes the build time for sqlite3
down from ~15 minutes to ~10 seconds.
- The difference between "dropped" and "not-generated" is a minor detail
of a bug - besides helping to determine the cause of the bug, which
origin-tracking can do with more accuracy, there's no fundamental
difference in the correctness of either. Furthermore, almost no
"dropped" bugs appear in the compiler anymore (since the debug location

    [4 lines not shown]
DeltaFile
+54-104llvm/lib/Transforms/Utils/Debugify.cpp
+7-7llvm/docs/HowToUpdateDebugInfo.rst
+0-2llvm/include/llvm/Transforms/Utils/Debugify.h
+1-1llvm/unittests/Transforms/Utils/DebugifyTest.cpp
+62-1144 files

LLVM/project b4b9fbblibc/hdr/types sa_family_t.h CMakeLists.txt, libc/test/src/sys/socket/linux CMakeLists.txt sockaddr_storage_test.cpp

[libc] Add a proxy header for sa_family_t (#207736)

This patch adds `hdr/types/sa_family_t.h` and updates socket tests and
helpers to use it instead of directly including `<sys/socket.h>` or
`include/llvm-libc-types/sa_family_t.h`.

The patch also adds a couple of includes of `hdr/types/socklen_t.h` for
files that are using the type, but not including it directly.

Assisted by Gemini.
DeltaFile
+27-0libc/hdr/types/sa_family_t.h
+8-0libc/hdr/types/CMakeLists.txt
+7-0libc/test/src/sys/socket/linux/CMakeLists.txt
+2-3libc/test/src/sys/socket/linux/sockaddr_storage_test.cpp
+1-1libc/test/src/sys/socket/linux/sockaddr_storage_helper.cpp
+2-0libc/test/src/sys/socket/linux/connect_accept_test.cpp
+47-42 files not shown
+50-48 files

LLVM/project 5166feallvm/lib/Target/AArch64/GISel AArch64PreLegalizerCombiner.cpp, llvm/test/CodeGen/AArch64/GlobalISel uaddo-8-16-bits.mir

[AArch64][GlobalISel] Use integer types in applySimplifyUADDO (#207962)

This avoids creating some scalar types in the IR, using integer types
for constants from a uaddo combine instead.
DeltaFile
+12-12llvm/test/CodeGen/AArch64/GlobalISel/uaddo-8-16-bits.mir
+2-2llvm/lib/Target/AArch64/GISel/AArch64PreLegalizerCombiner.cpp
+14-142 files

LLVM/project 76f49f8llvm/lib/Transforms/Scalar DFAJumpThreading.cpp, llvm/test/Transforms/DFAJumpThreading br-debuglocs.ll br-debuglocs2.ll

[DFAJumpThreading] Propagate DebugLocs to branches in select unfolding (#205851)

When DFAJumpThreading replaces a select with control flow, it generates
new blocks, new branches in those blocks, and potentially replaces the
branch in an existing block. Prior to this patch, none of these branches
were assigned debug locations; this patch replaces them as follows:

For the case where we generate two new blocks between the select block
and use block, and use a PHI of those blocks to replace the select, we
use the select's debug location for the branch instructions, since they
are doing the work of the select.

For the case where we generate one new block and replace the
unconditional branch from the select block with a conditional branch to
the new block and the use block, we treat the new branches as replacing
both the select and the original branch, so each branch takes the merged
location of the original select+br.

This patch also ensures that when we create a new path which would end

    [2 lines not shown]
DeltaFile
+97-0llvm/test/Transforms/DFAJumpThreading/br-debuglocs.ll
+77-0llvm/test/Transforms/DFAJumpThreading/br-debuglocs2.ll
+17-3llvm/lib/Transforms/Scalar/DFAJumpThreading.cpp
+191-33 files

LLVM/project c1fd542llvm/lib/Transforms/InstCombine InstCombineCasts.cpp, llvm/test/Transforms/InstCombine zext-sub-trunc.ll rotate.ll

[InstCombine] Fold zext(sub(0, trunc(X))) to and(sub(0, X), mask) (#207564)

Problem: vector rotate and funnel shift fails to fold for vectors > 16
bytes on AVX-512. This is because of the `trunc` and `zext`
instructions.

Example:
```llvm
define dso_local <8 x i64> @baz(<8 x i64> %0, <8 x i64> %1) local_unnamed_addr {
Entry:
  %2 = trunc <8 x i64> %1 to <8 x i6>
  %3 = sub <8 x i6> zeroinitializer, %2
  %4 = zext <8 x i6> %3 to <8 x i64>
  %5 = shl <8 x i64> %0, %4
  %6 = and <8 x i64> %1, splat (i64 63)
  %7 = lshr <8 x i64> %0, %6
  %8 = or <8 x i64> %5, %7
  ret <8 x i64> %8
}

    [5 lines not shown]
DeltaFile
+57-0llvm/test/Transforms/InstCombine/zext-sub-trunc.ll
+32-0llvm/test/Transforms/InstCombine/rotate.ll
+9-0llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
+98-03 files

LLVM/project 0f17499llvm/lib/CodeGen/SelectionDAG SelectionDAGISel.cpp

[CodeGen][NFC] Remove stray SDag BFI computation with NewPM (#208181)

This looks like an accident -- there's no need to compute the
BlockFrequencyInfo unconditionally and then discarding it. After this,
enabling the NewPM CodeGen pipeline is faster than the legacy PM.
DeltaFile
+0-1llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
+0-11 files

LLVM/project 9a465c3orc-rt CMakeLists.txt

[orc-rt] Refactor CMakeLists.txt for readability. NFCI. (#208156)

Groups related options, adds comments and separators.
DeltaFile
+19-11orc-rt/CMakeLists.txt
+19-111 files

LLVM/project 4ddfd96llvm/lib/IR Instruction.cpp, llvm/test/Transforms/SimplifyCFG hoist-with-metadata.ll

[IR] Preserve !nofpclass in dropUBImplyingAttrsAndMetadata (#208186)

`!nofpclass` is a poison-generating metadata kind, so it should be
preserved by dropUBImplyingAttrsAndMetadata().
DeltaFile
+39-18llvm/test/Transforms/SimplifyCFG/hoist-with-metadata.ll
+6-5llvm/lib/IR/Instruction.cpp
+45-232 files

LLVM/project 024a691llvm/lib/Transforms/Vectorize VPlanTransforms.cpp, llvm/test/Transforms/LoopVectorize/AArch64 vector-reverse.ll

[VPlan] Pull out reverses and splice.lefts from elementwise operations (#199234)

InstCombine pulls reverses up and out of operations, e.g.
`binop(reverse(x), reverse(y)) -> reverse(binop(x,y))`. This reduces the
overall number of reverses, and also allows the `reverse(reverse(x))`
combine to kick in much more.

This implements the same canonicalization in VPlan which allows for more
vectorization due to cost model improvements, and generally handles more
cases when there's predication involved. 

If we have a reversed load and reversed store whose stores are now
eliminated, we will be left with just two reversed masks on the load and
store. But with EVL tail folding this will leave behind a
`splice.right(ops(splice.left(...)))` pair on the value from memory.

InstCombine can fold away a pair of `vp.reverse(ops(vp.reverse(...)))`,
but it can't fold a pair of splices. So to prevent regressions we also
have to pull splice.lefts like `ops(splice.left(poison, x, evl)) ->

    [2 lines not shown]
DeltaFile
+139-54llvm/test/Transforms/LoopVectorize/ARM/tail-folding-counting-down.ll
+86-55llvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll
+36-36llvm/test/Transforms/LoopVectorize/PowerPC/optimal-epilog-vectorization.ll
+18-50llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
+66-0llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+18-12llvm/test/Transforms/LoopVectorize/AArch64/vector-reverse.ll
+363-20712 files not shown
+401-26618 files

LLVM/project 2f07e6bclang/include/clang/AST TypeBase.h, clang/lib/AST Type.cpp

[Clang] Fix missing vtable for `dynamic_cast<FinalClass &>(*this)` in a function template (#207349)

This is a follow-up to #202594, which fixed a pointer cast, but not
a reference cast. Surprisingly, `CXXDynamicCastExpr::getType()`
for a reference cast is a `RecordType` and not a `ReferenceType`.

How this happens:
In `Sema::BuildCXXNamedCast`, a `CastOperation Op` variable
is constructed. The `CastOperation` constructor initializes
`ResultType(destType.getNonLValueExprType(S.Context))`
where `QualType::getNonLValueExprType` turns a `ReferenceType` into
a `RecordType`. `Sema::BuildCXXNamedCast` then passes `Op.ResultType`
to `CXXDynamicCastExpr::Create`.
DeltaFile
+14-0clang/test/CodeGenCXX/dynamic-cast-exact.cpp
+4-1clang/lib/Sema/SemaTemplateInstantiate.cpp
+1-1clang/include/clang/AST/TypeBase.h
+1-1clang/lib/AST/Type.cpp
+20-34 files

LLVM/project 5f33a29llvm/lib/Transforms/Vectorize VPlanValue.h VPlanTransforms.cpp

[VPlan] Introduce VPConstant VPIRValue (NFC) (#207387)

There a gap in the VPIRValue class hierarchy, where constant live-ins
are absent, when this is in fact a very common case. The motivation of
introducing this new class is to refine optimizations to account for the
fact that non-constant live-ins need broadcast.
DeltaFile
+19-5llvm/lib/Transforms/Vectorize/VPlanValue.h
+3-4llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+22-92 files

LLVM/project d582a7dflang-rt/lib/runtime io-api-server.cpp

[flang-rt] Fix io-api-server when building for arm64ec (#207998)
DeltaFile
+5-0flang-rt/lib/runtime/io-api-server.cpp
+5-01 files

LLVM/project dd37265llvm/include/llvm/Transforms/Utils Local.h BasicBlockUtils.h, llvm/lib/CodeGen CodeGenPrepare.cpp

[CodeGenPrepare] Cache known-live PHIs when deleting dead PHI chains (#207191)

This patch fixes a compile-time issue in CodeGenPrepare for huge
functions.

`DeleteDeadPHIs` may repeatedly prove overlapping PHI chains non-dead.
For very large functions, many PHIs can share the same non-dead def-use
suffix, causing the same suffix to be scanned many times.

Add an `KnownNonDeadPHIs` cache to `RecursivelyDeleteDeadPHINode`
and `DeleteDeadPHIs`. When a chain is proven non-dead, visited PHIs are
recorded so later queries can stop once they reach one of them.

This reduces the pathological CodeGenPrepare case from ~30mins to ~30s.
DeltaFile
+14-5llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
+16-3llvm/lib/Transforms/Utils/Local.cpp
+5-4llvm/include/llvm/Transforms/Utils/Local.h
+4-3llvm/include/llvm/Transforms/Utils/BasicBlockUtils.h
+2-1llvm/lib/CodeGen/CodeGenPrepare.cpp
+41-165 files

LLVM/project 0b8d6efflang/lib/Optimizer/OpenMP HostOpFiltering.cpp, flang/test/Lower/OpenMP function-filtering-4.f90 host-eval.f90

[Flang][MLIR][OpenMP] Move host op filtering to the omp dialect

The MLIR pass that removes operations exclusively intended for the host
from OpenMP target offload modules is currently defined as part of
Flang. However, this is a feature that would benefit from being reusable
by other frontends, as removing such operations is a requirement for all
OpenMP target device modules prior to LLVM IR translation.

By moving the `omp-host-op-filtering` pass out of Flang, it had to be
updated to work on a lower-level LLVM dialect-based representation,
rather than FIR. This simplified some of the existing edge cases, such
as `fir.declare` ops and `fir.boxchar` type handling. In addition, new
function arguments are introduced as placeholders and return values from
host-only functions are removed, producing a cleaner result and
simplifying the pass as compared to previously.

As a result of a later execution of this pass, dynamic dispatch of host
functions via dispatch table using `fir.dispatch`, `fir.type_info` and
`fir.dt_entry` ops would break due to the removal of `fir.dt_entry`

    [6 lines not shown]
DeltaFile
+0-560flang/test/Transforms/OpenMP/function-filtering-host-ops.mlir
+500-0mlir/test/Dialect/OpenMP/host-op-filtering.mlir
+0-422flang/lib/Optimizer/OpenMP/HostOpFiltering.cpp
+292-0mlir/lib/Dialect/OpenMP/Transforms/HostOpFiltering.cpp
+63-0flang/test/Lower/OpenMP/function-filtering-4.f90
+18-32flang/test/Lower/OpenMP/host-eval.f90
+873-1,0147 files not shown
+920-1,04613 files

LLVM/project fdfdcb6flang/lib/Optimizer/OpenMP HostOpFiltering.cpp, flang/test/Transforms/OpenMP function-filtering-host-ops.mlir

[Flang][MLIR][OpenMP] Fix declare_target globals visibility

This patch introduces various changes to the handling of
`declare_target` global variables in Flang:
- Non-`declare_target` globals are unconditionally made "internal" when
  compiling for an OpenMP offload target. This prevents potential symbol
  redefinition issues related to globals that don't actually exist on the
  device.
- Local SAVE variables handling for OpenMP offloading programs is fixed to
  prevent their associated "internal" linkage from producing broken
  device code for `declare_target enter(...)`.
- When globals are indirectly accessed from the target device (e.g.
  `declare_target link(...)`), the associated and unused full-storage
  global is marked with "internal" linkage to facilitate later removal.
- `declare_target device_type(host) enter(...)` variables are set to
  external linkage when compiling for a target device, causing linker
  errors if accessed. This mirrors Clang's behavior.
DeltaFile
+252-0mlir/test/Target/LLVMIR/omptarget-declare-target-all-device-types-device.mlir
+44-9mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
+20-5flang/lib/Optimizer/OpenMP/HostOpFiltering.cpp
+17-4flang/test/Transforms/OpenMP/function-filtering-host-ops.mlir
+1-0mlir/test/Target/LLVMIR/omptarget-declare-target-llvm-device.mlir
+334-185 files

LLVM/project cd85482llvm/lib/Target/AArch64 AArch64MacroFusion.cpp, llvm/test/CodeGen/AArch64 misched-fusion-arith-cbz.mir misched-fusion-arith-cbz.ll

[AArch64] Add missing arithmetic to arith+cb(n)z clustering (#203721)

This patch adds a few missing opcodes for arithmetic+CB(N)Z clustering.
Most of them complement an already existing rr/rs variant for
pre/post-RA coverage. The only one which is completely new is ORN which
I think can be reasonably expected to behave similarly on AArch64
targets.
DeltaFile
+506-0llvm/test/CodeGen/AArch64/misched-fusion-arith-cbz.mir
+144-0llvm/test/CodeGen/AArch64/misched-fusion-arith-cbz.ll
+10-0llvm/lib/Target/AArch64/AArch64MacroFusion.cpp
+660-03 files

LLVM/project 293a55cllvm/test/CodeGen/AArch64/GlobalISel inline-memcpy.mir inline-memmove.mir

[GlobalISel][AArch64] Remove IRs from inline-{memcpy,memmove} tests (NFC) (#208066)
DeltaFile
+62-111llvm/test/CodeGen/AArch64/GlobalISel/inline-memcpy.mir
+43-85llvm/test/CodeGen/AArch64/GlobalISel/inline-memmove.mir
+105-1962 files

LLVM/project dcf1b8fclang/include/clang/AST DeclFriend.h, clang/lib/AST ASTImporter.cpp

[Clang] support friend declarations with a dependent nested-name-specifier (#191268)

Fixes #104057

---

This patch adds support for friend declarations with a dependent NNS
DeltaFile
+658-105clang/lib/Sema/SemaAccess.cpp
+257-10clang/test/CXX/temp/temp.decls/temp.friend/p5.cpp
+131-90clang/lib/Sema/SemaDeclCXX.cpp
+137-58clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
+24-101clang/include/clang/AST/DeclFriend.h
+92-18clang/lib/AST/ASTImporter.cpp
+1,299-38235 files not shown
+1,822-59241 files

LLVM/project eb4690cflang/include/flang/Evaluate tools.h, flang/lib/Evaluate tools.cpp

[flang][Lower] Add alternative real expression lowering (#207371)

This is opt-in by an engineering option and disabled by default.

In section 10.1.5.2.4 of the 2023 Fortran standard "Evaluation of
numerical intrinsic operations", the standard explicitly allows
alternate mathematically equivalent lowerings. For example the source
expression X + Y + Z could be evaluated (X + Y) + Z, X + (Y + Z) or even
(X + Z) + Y, etc.

The open source benchmark SNBone shows significantly better results with
classic flang because classic flang emits real arithmetic expressions in
a different order. In the case of this benchmark it reduces dependency
depth for instructions issued to the vector unit, allowing for more of
the arithmetic to be parallelised over multiple vector execution units
in the ALU.

The lowering added by this patch tries to mimic the way classic flang
orders instructions for these expressions. I did not read any classic

    [32 lines not shown]
DeltaFile
+748-0flang/test/Lower/split-sum-expression-tree-lowering.f90
+148-0flang/lib/Evaluate/tools.cpp
+21-0flang/include/flang/Evaluate/tools.h
+16-1flang/lib/Lower/Bridge.cpp
+1-0flang/lib/Lower/ConvertExprToHLFIR.cpp
+934-15 files

LLVM/project e1f7b53lld/COFF Driver.cpp, lld/test/COFF arm64x-hybridobj.s

[LLD][COFF] Add support for multi-arch ARM64X object files (#207868)
DeltaFile
+98-0lld/test/COFF/arm64x-hybridobj.s
+12-0lld/COFF/Driver.cpp
+110-02 files

LLVM/project 9ab13dcmlir/lib/Conversion/ComplexToSPIRV ComplexToSPIRV.cpp, mlir/test/Conversion/ComplexToSPIRV complex-to-spirv.mlir

[mlir][ComplexToSPIRV] Add lowering for complex.eq and complex.neq (#206279)
DeltaFile
+40-0mlir/test/Conversion/ComplexToSPIRV/complex-to-spirv.mlir
+34-0mlir/lib/Conversion/ComplexToSPIRV/ComplexToSPIRV.cpp
+74-02 files

LLVM/project 17b27e7llvm/lib/Target/AArch64 AArch64TargetTransformInfo.cpp AArch64Processors.td, llvm/test/Analysis/CostModel/AArch64 mul.ll

[AArch64] Increase the relative cost of vector i64 multiply on Neoverse V3ae. (#207723)

The throughput of vector nxv2i64 multiplies on neoverse v3ae is 1/2, compared
to the throughput of 2 for integer multiplies. This large difference can mean
it is more profitable than normal to use scalar loops as opposed to vectorization.

This adds a subtarget feature that increases the cost multiple by 4 for 64bit
vector multiplies for specific CPUs. The cost model of llvm does not mean that
we can model throughputs correctly, but this should help. The same feature is
added to N2 as it has a similar difference between vector and scalar multiply
cost throughputs.
DeltaFile
+81-34llvm/test/Analysis/CostModel/AArch64/mul.ll
+12-3llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
+4-2llvm/lib/Target/AArch64/AArch64Processors.td
+5-0llvm/lib/Target/AArch64/AArch64Features.td
+102-394 files

LLVM/project cab8babllvm/lib/Transforms/Vectorize VPlanTransforms.cpp

[VPlan] Forbid CSE'ing writes (NFC) (#207443)

CSE'ing two identical writes does not consider the fact that there could
be another write that writes an aliasing memory location. Fix the
potential miscompile. Note that there is currently no miscompile, as we
never remove a write, but the patch has the benefit of not processing
writes unnecessarily.
DeltaFile
+2-4llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+2-41 files

LLVM/project 9b2d699clang/include/clang/Basic DiagnosticSemaKinds.td, clang/lib/Sema SemaAMDGPU.cpp SemaDeclCXX.cpp

Update implementation
DeltaFile
+19-13clang/test/SemaCXX/amdgpu-barrier.cpp
+19-13clang/test/SemaHIP/amdgpu-barrier.hip
+12-13clang/lib/Sema/SemaAMDGPU.cpp
+7-8clang/include/clang/Basic/DiagnosticSemaKinds.td
+13-0clang/lib/Sema/SemaDeclCXX.cpp
+9-1clang/test/CodeGenHIP/amdgpu-barrier-type.hip
+79-482 files not shown
+82-518 files

LLVM/project f37d895llvm/lib/Target/AArch64 AArch64SchedC1Nano.td, llvm/test/CodeGen/AArch64 shuffle-tbl34.ll

rebase

Created using spr 1.3.8-wip
DeltaFile
+20,241-21,265llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+5,013-5,520llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+1,371-1,626llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.320bit.ll
+1,268-939llvm/lib/Target/AArch64/AArch64SchedC1Nano.td
+635-973llvm/test/CodeGen/AMDGPU/bf16.ll
+735-454llvm/test/CodeGen/AArch64/shuffle-tbl34.ll
+29,263-30,7771,409 files not shown
+67,110-53,2481,415 files

LLVM/project 5f8b466llvm/lib/Target/AArch64 AArch64SchedC1Nano.td, llvm/test/CodeGen/AArch64 shuffle-tbl34.ll

[spr] changes introduced through rebase

Created using spr 1.3.8-wip

[skip ci]
DeltaFile
+20,241-21,265llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+5,013-5,520llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+1,371-1,626llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.320bit.ll
+1,268-939llvm/lib/Target/AArch64/AArch64SchedC1Nano.td
+635-973llvm/test/CodeGen/AMDGPU/bf16.ll
+735-454llvm/test/CodeGen/AArch64/shuffle-tbl34.ll
+29,263-30,7771,409 files not shown
+67,110-53,2481,415 files

LLVM/project 74e44e4llvm/test/tools/llvm-ar arm64x-hybridobj.yaml, llvm/test/tools/llvm-lib arm64x-hybridobj.yaml

[llvm-readobj][llvm-ar][COFF] Use exclude for .obj.arm64ec section in tests (NFC) (#208116)

For consistency with #207612.
DeltaFile
+3-4llvm/test/tools/llvm-readobj/COFF/arm64x-hybridobj.yaml
+1-1llvm/test/tools/llvm-ar/arm64x-hybridobj.yaml
+1-1llvm/test/tools/llvm-lib/arm64x-hybridobj.yaml
+5-63 files