LLVM/project 6c797ebllvm/lib/Target/AArch64 AArch64SchedC1Premium.td, llvm/test/tools/llvm-mca/AArch64/Cortex C1Premium-sve-instructions.s C1Premium-writeback.s

Merge branch 'main' into users/eas/vplan-based-first-lane-only-scalarize
DeltaFile
+6,873-0llvm/test/tools/llvm-mca/AArch64/Cortex/C1Premium-sve-instructions.s
+3,979-0llvm/test/tools/llvm-mca/AArch64/Cortex/C1Premium-writeback.s
+3,163-0llvm/test/tools/llvm-mca/AArch64/Cortex/C1Premium-neon-instructions.s
+2,565-0llvm/test/tools/llvm-mca/AArch64/Cortex/C1Premium-forwarding.s
+2,523-0llvm/test/tools/llvm-mca/AArch64/Cortex/C1Premium-basic-instructions.s
+2,348-0llvm/lib/Target/AArch64/AArch64SchedC1Premium.td
+21,451-0771 files not shown
+40,147-7,253777 files

LLVM/project 176dff4lldb/source/Host/common File.cpp

[lldb][windows] fix cross DLL file descriptor lookup crash (#195855)

On Windows, file descriptors are only valid in the same DLL: they are
really just handles mapped to an index in a table in the CRT. Calling a
liblldb method with a file descriptor from lldb-dap will cause the
program to crash. See
https://github.com/llvm/llvm-project/issues/193971.

This patch fixes the issue by refactoring the `NativeFile` constructors
so that they no longer try to convert `FILE` types to handles through
the CRT lookup table.
DeltaFile
+22-5lldb/source/Host/common/File.cpp
+22-51 files

LLVM/project 6f5570cllvm/test/CodeGen/AMDGPU llvm.amdgcn.rsq.ll llvm.amdgcn.rsq.clamp.ll

[AMDGPU][NFC] Autogenerate check lines for llvm.amdgcn.rsq.clamp.ll and llvm.amdgcn.rsq.ll (#195867)
DeltaFile
+128-16llvm/test/CodeGen/AMDGPU/llvm.amdgcn.rsq.ll
+60-23llvm/test/CodeGen/AMDGPU/llvm.amdgcn.rsq.clamp.ll
+188-392 files

LLVM/project ea6b7f8llvm/lib/Transforms/InstCombine InstCombineCalls.cpp

[InstCombine][NFC] Use CreateAssumption instead of CreateCall (#195862)
DeltaFile
+4-9llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
+4-91 files

LLVM/project f23c407llvm/lib/CodeGen PeepholeOptimizer.cpp, llvm/test/CodeGen/AMDGPU peephole-fold-imm.mir

PeepholeOpt: Clear kill flags in foldImmediate (#195680)

When foldImmediate replaces a COPY destination with its source,
this extends the live range of the source, but it does not update the
kill flags.

Clear kill flags on the source register after replacement.

This was found while working on REG_SEQUENCE optimizations motivated by
AMDGPU demands. Both an AMDGPU and an X86 test case are added to show that
the issue is not AMDGPU specific.
DeltaFile
+27-0llvm/test/CodeGen/X86/peephole.mir
+26-0llvm/test/CodeGen/AMDGPU/peephole-fold-imm.mir
+1-0llvm/lib/CodeGen/PeepholeOptimizer.cpp
+54-03 files

LLVM/project 6af0cbfmlir/lib/Dialect/Vector/Transforms LowerVectorGather.cpp, mlir/test/Dialect/Vector vector-gather-lowering.mlir

[mlir][vector] Account for subview offset in gather lowering. (#195359)

Strided vector.gather on a column subview was reading the wrong column
because the rewrite to a collapsed gather dropped the subview's static
offset.

---------

Signed-off-by: hanhanW <hanhan0912 at gmail.com>
DeltaFile
+49-14mlir/lib/Dialect/Vector/Transforms/LowerVectorGather.cpp
+61-0mlir/test/Dialect/Vector/vector-gather-lowering.mlir
+110-142 files

LLVM/project a8a3b96llvm/lib/Target/AArch64 AArch64InstrFormats.td AArch64RegisterInfo.td, llvm/lib/Target/AArch64/AsmParser AArch64AsmParser.cpp

fixup! More optimisations spotted by Marian after the specs changed
DeltaFile
+40-42llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp
+24-43llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
+16-30llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
+5-6llvm/lib/Target/AArch64/AArch64InstrFormats.td
+4-5llvm/lib/Target/AArch64/AArch64RegisterInfo.td
+1-3llvm/lib/Target/AArch64/AArch64InstrInfo.td
+90-1291 files not shown
+91-1307 files

LLVM/project bb3de90llvm/lib/Target/AArch64/AsmParser AArch64AsmParser.cpp, llvm/test/MC/AArch64 armv9a-tlbip.s

fixup! Address Carol's PR comments
DeltaFile
+5-0llvm/test/MC/AArch64/armv9a-tlbip.s
+3-0llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
+8-02 files

LLVM/project 75e74bbllvm/lib/Target/AArch64 AArch64InstrFormats.td

fixup! Remove superfluous code
DeltaFile
+0-7llvm/lib/Target/AArch64/AArch64InstrFormats.td
+0-71 files

LLVM/project 8b02faflldb/test/Shell/Commands command-disassemble-aarch64-extensions.s command-disassemble-aarch64-color.s, llvm/lib/Target/AArch64 AArch64InstrFormats.td

fixup! Update diff because SYSP definition has changed
DeltaFile
+126-114llvm/test/MC/AArch64/armv9a-sysp.s
+19-21llvm/test/MC/AArch64/armv9-sysp-diagnostics.s
+7-32llvm/lib/Target/AArch64/AArch64InstrFormats.td
+2-11llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
+2-2lldb/test/Shell/Commands/command-disassemble-aarch64-extensions.s
+2-2lldb/test/Shell/Commands/command-disassemble-aarch64-color.s
+158-1822 files not shown
+159-1878 files

LLVM/project 935b473llvm/lib/Target/AArch64/AsmParser AArch64AsmParser.cpp, llvm/test/MC/AArch64 armv9-sysp-diagnostics.s

fixup! Improve error parsing
DeltaFile
+46-25llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
+12-12llvm/test/MC/AArch64/armv9-sysp-diagnostics.s
+58-372 files

LLVM/project 48ee08ellvm/lib/Target/AArch64 AArch64InstrFormats.td

fixup! Fixes after rebasing following Marian's change
DeltaFile
+3-3llvm/lib/Target/AArch64/AArch64InstrFormats.td
+3-31 files

LLVM/project 389ae90llvm/lib/Target/AArch64/MCTargetDesc AArch64InstPrinter.cpp

fixup! Address PR comment about shortened `sysp` with xzr/xzr
DeltaFile
+17-16llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp
+17-161 files

LLVM/project 1c0f241llvm/lib/Target/AArch64 AArch64RegisterInfo.td, llvm/lib/Target/AArch64/AsmParser AArch64AsmParser.cpp

fixup! Implement Marian's suggestion to implement as XSeqPairsClass + [XZR, XZR]
DeltaFile
+54-82llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
+35-73llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp
+12-9llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
+8-1llvm/lib/Target/AArch64/AArch64RegisterInfo.td
+0-7llvm/test/MC/AArch64/armv9a-sysp.s
+1-3llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.h
+110-1756 files

LLVM/project 46568abllvm/lib/Target/AArch64 AArch64InstrInfo.td, llvm/lib/Target/AArch64/AsmParser AArch64AsmParser.cpp

fixup! Remove SYSPxt_XZR and update code to reflect this
DeltaFile
+27-34llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
+41-14llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp
+8-26llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
+2-30llvm/lib/Target/AArch64/AArch64InstrInfo.td
+0-20llvm/test/MC/AArch64/armv9-sysp-invalid.s
+13-3llvm/test/MC/AArch64/armv9-sysp-diagnostics.s
+91-1274 files not shown
+105-13710 files

LLVM/project e37f42bllvm/lib/Target/AArch64 AArch64InstrFormats.td AArch64InstrInfo.td, llvm/lib/Target/AArch64/Disassembler AArch64Disassembler.cpp

[AArch64][llvm] Tighten SYSP; don't disassemble invalid encodings

Tighten SYSP aliases, so that invalid encodings are disassembled
to `<unknown>`. This is because:

```
  Cn is a 4-bit unsigned immediate, in the range 8 to 9
  Cm is a 4-bit unsigned immediate, in the range 0 to 7
  op1 is a 3-bit unsigned immediate, in the range 0 to 6
  op2 is a 3-bit unsigned immediate, in the range 0 to 7
```

Ensure we check this when disassembling, and also constrain
tablegen for compile-time errors of invalid encodings.

Also adjust the testcases in `armv9-sysp-diagnostics.s` and
`llvm/test/MC/AArch64/armv9a-sysp.s` as they were invalid,
and added a few invalid (outside of range) SYSP-alikes to
test that `<unknown>` is printed
DeltaFile
+111-111llvm/test/MC/AArch64/armv9a-sysp.s
+25-1llvm/lib/Target/AArch64/AArch64InstrFormats.td
+25-0llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
+20-0llvm/test/MC/AArch64/armv9-sysp-invalid.s
+7-8llvm/test/MC/AArch64/armv9-sysp-diagnostics.s
+7-3llvm/lib/Target/AArch64/AArch64InstrInfo.td
+195-1233 files not shown
+207-1279 files

LLVM/project 5685d3cllvm/lib/Target/AArch64/MCTargetDesc AArch64InstPrinter.cpp, llvm/test/MC/AArch64 armv9a-sysp.s

fixup! Add no-alias tests
DeltaFile
+4-3llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp
+7-0llvm/test/MC/AArch64/armv9a-sysp.s
+11-32 files

LLVM/project b1d8d4fllvm/lib/Target/AArch64 AArch64InstrFormats.td AArch64InstrInfo.td

fixup! Address Marian's PR comments: use imm0_6 predicate
DeltaFile
+9-1llvm/lib/Target/AArch64/AArch64InstrFormats.td
+2-2llvm/lib/Target/AArch64/AArch64InstrInfo.td
+11-32 files

LLVM/project 6f9dd5cllvm/lib/Target/AArch64 AArch64InstrFormats.td, llvm/lib/Target/AArch64/AsmParser AArch64AsmParser.cpp

fixup! Templatise bounds checking and improve tests
DeltaFile
+15-4llvm/test/MC/AArch64/armv9-sysp-diagnostics.s
+18-0llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
+12-5llvm/lib/Target/AArch64/AArch64InstrFormats.td
+0-8llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp
+45-174 files

LLVM/project 54aa850llvm/lib/Target/AArch64 AArch64InstrFormats.td, llvm/lib/Target/AArch64/AsmParser AArch64AsmParser.cpp

fixup! Address PR comments
DeltaFile
+5-9llvm/lib/Target/AArch64/AArch64InstrFormats.td
+2-3llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
+1-2llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
+1-1llvm/test/MC/AArch64/armv9-sysp-diagnostics.s
+9-154 files

LLVM/project 7588fc9llvm/lib/Target/AArch64 AArch64ISelDAGToDAG.cpp, llvm/lib/Target/AArch64/MCTargetDesc AArch64InstPrinter.cpp

fixup! More small tweaks
DeltaFile
+10-30llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp
+3-5llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
+6-2llvm/test/MC/AArch64/brbe.s
+19-373 files

LLVM/project 868be24llvm/lib/Transforms/Scalar EarlyCSE.cpp, llvm/test/Transforms/EarlyCSE/AArch64 memset-load-target-intrinsic.ll

[EarlyCSE] Check if getValueType() returns nullptr (#195868)

15383dcdb4012387d94fab67fed4519613bf9a19 recently added a call to
getValueType() into EarlyCSE without checking whether or not it returned
nullptr. It sometimes might end up processing target specific intrinsics
for which the underlying getAccessType will typically return nullptr.

We observed this crash when building https://github.com/google/highway
for AArch64.

Regression test added to ensure this does not occur again in the future.
DeltaFile
+19-0llvm/test/Transforms/EarlyCSE/AArch64/memset-load-target-intrinsic.ll
+4-1llvm/lib/Transforms/Scalar/EarlyCSE.cpp
+23-12 files

LLVM/project f9ebceallvm/include/llvm/Support ConvertEBCDIC.h

[Support] Add missing header guard (#195870)
DeltaFile
+5-0llvm/include/llvm/Support/ConvertEBCDIC.h
+5-01 files

LLVM/project bed163ellvm/include/llvm/Analysis ScalarEvolution.h

[SCEV] Clarify nuw/nsw semantics for multi-operand nodes (#195826)

nuw/nsw must hold for all subsets/orders of operands.
DeltaFile
+3-1llvm/include/llvm/Analysis/ScalarEvolution.h
+3-11 files

LLVM/project ad3bb75clang/include/clang/Options Options.td, flang/test/Driver print-file-name.f90

[Flang][Driver] Enable -print-file-name (#195790)

Enable -print-file-name for the Flang driver as already enabled by
Clang.

Extracted out of #171515 as requested by
https://github.com/llvm/llvm-project/pull/171515#pullrequestreview-4180690622
DeltaFile
+13-0flang/test/Driver/print-file-name.f90
+1-1clang/include/clang/Options/Options.td
+0-0flang/test/Driver/Inputs/resource_dir/share/asan_ignorelist.txt
+0-0flang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/x86_64-unknown-linux-gnu/libflang_rt.runtime.a
+14-14 files

LLVM/project 9ca29d7llvm/lib/Target/SystemZ SystemZOperands.td SystemZOperators.td

[SystemZ] Replace PatLeaf with ImmLeaf (#195146)

The code snippets for the predicates are a bit shorter, because the
APInt is directly available instead of an SDNode. Main advantage is that
it enables the constraint to be ported to GlobalISel.
DeltaFile
+65-67llvm/lib/Target/SystemZ/SystemZOperands.td
+10-10llvm/lib/Target/SystemZ/SystemZOperators.td
+75-772 files

LLVM/project c05e809mlir/include/mlir/Dialect/XeGPU/Transforms XeGPULayoutImpl.h, mlir/lib/Dialect/XeGPU/Transforms XeGPULayoutImpl.cpp XeGPUPropagateLayout.cpp

[MLIR][XeGPU] Support Layout propagation for interleave and deintereleave op (#194966)

Enable propagation of interleave and deinterleave with their own
propagation rules.

---------

Co-authored-by: Claude Sonnet 4.5 <noreply at anthropic.com>
DeltaFile
+155-0mlir/lib/Dialect/XeGPU/Transforms/XeGPULayoutImpl.cpp
+73-0mlir/lib/Dialect/XeGPU/Transforms/XeGPUPropagateLayout.cpp
+42-0mlir/test/Dialect/XeGPU/propagate-layout.mlir
+18-0mlir/include/mlir/Dialect/XeGPU/Transforms/XeGPULayoutImpl.h
+288-04 files

LLVM/project 869829amlir/test/Dialect/Transform inliner-legality.mlir

add inliner test
DeltaFile
+18-0mlir/test/Dialect/Transform/inliner-legality.mlir
+18-01 files

LLVM/project 23650dbmlir/test/Dialect/Builtin/Bytecode types.mlir builtin_fixed.mlir

add bytecode
DeltaFile
+10-0mlir/test/Dialect/Builtin/Bytecode/types.mlir
+3-1mlir/test/Dialect/Builtin/Bytecode/builtin_fixed.mlir
+0-0mlir/test/Dialect/Builtin/Bytecode/builtin_fixed_0.mlirbc
+13-13 files

LLVM/project 4b85bedmlir/docs Tokens.md, mlir/include/mlir/IR BuiltinTypes.td

type instead of type interface
DeltaFile
+36-24mlir/lib/Dialect/LLVMIR/IR/LLVMTypeSyntax.cpp
+60-0mlir/test/IR/token-type.mlir
+0-59mlir/test/IR/token-type-interface.mlir
+16-22mlir/docs/Tokens.md
+18-17mlir/lib/Conversion/AsyncToLLVM/AsyncToLLVM.cpp
+27-0mlir/include/mlir/IR/BuiltinTypes.td
+157-12215 files not shown
+202-18321 files