[MLIR] [Python] More improvements to type annotations (#188468)
* `mlir.ir` now exports `_OperationBase`. It is handy to use when both
`Operation` and `OpView` are accepted.
* Added type arguments where they were missing, e.g.
`list[ir.Attribute]` instead of just `list`.
* Changed `Opview.build_generic` and `OpView.parse` to return `Self`
instead of the supertype `Type`.
* Changed the bindings generator to emit a parameterized `OpResult` when
the exact type is available.
games/openenroth: update OpenEnroth to the latest pre-SDL3 commit
- Unbreak the build against modern FFmpeg versions
- The code requires C++23 so remove now helpless hacks
- Follow-up commit 29a23b8db460 and replace LLD_UNSAFE
with the more appropriate LDFLAGS_i386=-Wl,-znotext
- Add PORTSCOUT to ignore not particularly useful tag
- Shaders are now embedded in the executable itself
- Install two extra programs for developers/modders
[CodeGen] Fix incorrect rematerializtion order in rematerializer
When rematerializing DAGs of registers wherein multiple paths exist
between some regsters of the DAG, it is possible that the
rematerialization determines an incorrect rematerialization order that
does not ensure that a register's dependencies are rematerialized before
itself; an invariant that is otherwise required.
This fixes that using a simpler recursive logic to determine a correct
rematerialization order that honors this invariant. A minimal unit test
is added that fails on the current implementation.
[lldb][ADT] Fix LLDB/GDB formatters for PointerUnion after recactoring (#188483)
In #188242, we replaced `PointerUnion`'s `PointerIntPair` storage with
`PunnedPointer<void*>`. The old formatters relied on the PIP synthetic
provider (LLDB) / `get_pointer_int_pair helper` (GDB) which no longer
work.
Instead, read raw bytes from `PunnedPointer` and compute the active tag
from template argument type alignments -- the same fixed-width encoding
the C++ implementation uses. When template arg enumeration is truncated
(e.g., function-local types in GDB), the formatters fall back to showing
a tag-stripped `void*` instead of silently misdecoding.
Alternatives that didn't work out:
- Adding a C++ helper (`getActiveMemberIdx`) callable from Python: gets
optimized out even with `__attribute__((used, noinline))`, and
expression evaluation fails for synthetic children.
- Using `isa`/`dyn_cast` checks from Python: requires expression
evaluation, which does not work for local types or synthetic children
[2 lines not shown]
[CHERI] Allow @llvm.returnaddress to return a pointer in any address space. (#188464)
Clang now constructs calls to it using the default program address space from the DataLayout.
Co-authored-by: Alex Richardson <alexrichardson at google.com>
[flang][OpenMP] Provide reasons for calculated sequence length (#187866)
If the length was limited by some factor, include the reason for what
caused the reduction.
Issue: https://github.com/llvm/llvm-project/issues/185287
NAS-140412 / 26.0.0-BETA.2 / remove rwd (temporarily) (by yocalebo) (#18558)
This will come back eventually but we were asked to remove this for now.
Original PR: https://github.com/truenas/middleware/pull/18555
Co-authored-by: caleb <yocalebo at gmail.com>
NAS-140412 / 26.0.0-BETA.1 / remove rwd (temporarily) (by yocalebo) (#18557)
This will come back eventually but we were asked to remove this for now.
Original PR: https://github.com/truenas/middleware/pull/18555
Co-authored-by: caleb <yocalebo at gmail.com>
NAS-140411 / 26.0.0-BETA.2 / fix crash in disk.sync_size_if_changed (by yocalebo) (#18556)
Found this on an internal system that has failing disks. This crashes
with ValueError since the key was present but was an empty string.
Original PR: https://github.com/truenas/middleware/pull/18554
---------
Co-authored-by: caleb <yocalebo at gmail.com>
NAS-140411 / 27.0.0-BETA.1 / fix crash in disk.sync_size_if_changed (#18554)
Found this on an internal system that has failing disks. This crashes
with ValueError since the key was present but was an empty string.
[SystemZ][z/OS] Make emitIncrement() a member function of SystemZFrameLowering. (#188254)
Function `emitIncrement()` uses 8 for stack alignment, but the stack
alignment for 64-bit XPLINK is 32 on z/OS.
This PR changes it to a member function of SystemZFrameLowering to get
the correct stack alignment by `getStackAlignment()`. It also adds a
test to verify it.
[flang][OpenMP] Provide reasons for calculated depths (#187781)
If the depth (either semantic or perfect) was limited by some factor,
include the reason for what caused the reduction.
Issue: https://github.com/llvm/llvm-project/issues/185287
[mlir][spirv] Add last 4 data layout ops in TOSA Ext Inst Set (#188199)
This patch introduces the following reduction operators:
spirv.Tosa.Reverse
spirv.Tosa.Slice
spirv.Tosa.Tile
spirv.Tosa.Transpose
Also dialect and serialization round-trip tests have been added.
Signed-off-by: Davide Grohmann <davide.grohmann at arm.com>
[libc] Follow up on Annex K's rsize_t (#187707)
- Fix header guard name.
- Define `__STDC_WANT_LIB_EXT1__` in `hdr/types/rsize_t.h` so that the
type is available for internal use.
- In accordance to the standard, make `stdio.h`, `stdlib.h`, `string.h`,
`time.h` and `wchar.h` define the type. It should already be available
in `stddef.h` as it's provided by Clang, not LLVM libc.