[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.
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.
[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>
[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
[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.
[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.
[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>