[mlir][complex] Fix signed zero miscompile with complex.add fold (#212751)
The pattern `a + complex.constant<0.0, 0.0>` currently gets folded to
`a`. This is incorrect when e.g. `a=(-0.0, 1.0)` since as per the IEEE
spec and what's done in the arith dialect `0.0 + (-0.0) = 0.0 !=
(-0.0)`.
This PR changes the pattern to `a + complex<-0.0, -0.0> -> a` and
updates the associated test.
[flang][MIF] Update prif_coarray_handle in accordance with PRIF 0.8 #214080 (#214747)
In PRIF revision 0.8, the representation of `prif_coarray_handle` was
changed. This PR updates this representation for this type and updates
the MIFOpConversion pass for the relevant operations.
Fixes issue #214080
A minor fix has been made to the deallocation to ensure that, on the
Flang side, the variable is properly deallocated, since previously the
deallocation was only performed at the `coarray_handle` level.
(cherry picked from commit 066dfd519323589e89847e65a40d4a9836f61188)
[InstCombine] Fold X + ((-X) & (C - 1)) to (X + C - 1) & -C (#215122)
`X + ((-X) & (C - 1)) --> (X + C - 1) & -C` for power-of-two `C`.
This is the align-up idiom as allocators usually write it. `-C == ~(C -
1)`, so
the mask is just the inverted low-bit mask.
No wrapping flags needed - it verifies without nsw/nuw on either side.
Flags on
the original add are dropped.
The other fold in the issue, `X + (X | -X) --> X & (X - 1)`, already
exists in
visitAdd, so this only adds the second one.
One case that doesn't hit this: `C = 2`. InstCombine turns `(-X) & 1`
into
`X & 1` first, so the neg is already gone.
[3 lines not shown]
drm/amdkfd: hold event_mutex while checkpointing CRIU events
From William Palacek
6a52f48157fa7fb81e0c146937fd6c8b0c1cfdbd in linux-6.18.y/6.18.44
ff8bc5a68a9a70bdc38d61a72c7a49c56063f9d2 in mainline linux
drm/amdkfd: Handle invalid event type in CRIU event restore
From David Francis
6189ceca5ce75078743db456e133efbfa2dc6fce in linux-6.18.y/6.18.44
a9cdc85839e4fe2c760aa4ca6cc341c31ad1918a in mainline linux
drm/amdkfd: fix uint32_t overflow in EOP ring buffer size alignment
From William Palacek
6dc0b4b39ed4f11ef70f76ecea8537e35f45342b in linux-6.18.y/6.18.44
83463a96ea3c7d8ae636a4d6a0ba63c9ce410724 in mainline linux
drm/amdkfd: fix QID bit leak in pqm_create_queue()
From Vladimir Marioukhine
5f0f2ddeac738e2ca9d12cb76a1ff2904e85ecc3 in linux-6.18.y/6.18.44
38b73293f38658a4685ffcea666462024f858ad9 in mainline linux
drm/amdkfd: Fix missing authorization check in KFD_IOC_DBG_TRAP_DISABLE
From Gang Ba
9e52212aff8ed1fd9087728f61243ce3efd9d0ac in linux-6.18.y/6.18.44
99b2fe4f19e3be0a8d0a0b5ea98d855970889653 in mainline linux
[Support] Optimize ScaledNumbers::multiply64 (#215172)
The 128-bit product is assembled from four 32x32 cross products.
(4 imul on x86-64). Use `__uint128_t` where available.
drm/amd/display: use proper context for logging
From Jiri Slaby
02647d98340738f918690ed227fdcf154db1b84a in linux-6.18.y/6.18.44
114b42507b6a23d9d24e24e4ef165233332c64d4 in mainline linux
drm/amd/display: Increase HDMI AV mute wait from 2 to 3 frames
From Ray Wu
3c2ae9509717c4a140ae6217dddb76d67ce947f4 in linux-6.18.y/6.18.44
c216b39fbbc4b007fd6984cffd85039d49a55154 in mainline linux
drm/amd/pm: fix torn gpu metrics reads
From Yang Wang
1860818feb4dbe413af2d53ddd539e2d93e97ca2 in linux-6.18.y/6.18.44
048f4541b71fb19645fb79d6e62e6e4da23a4035 in mainline linux
drm/amdgpu: cap GTT size to physical RAM on APUs
From Harkirat Gill
45ba7f091abf4b3118da3c9d9646f8073f115a68 in linux-6.18.y/6.18.44
5e70f6804b4d6256058c360b10e044ee04ea4a4e in mainline linux
drm/amdgpu: restore UMD profile pstate after runtime resume
From Candice Li
d330ac90d85f328dff61f9a11c44b35424dc3144 in linux-6.18.y/6.18.44
f931c54b241ce2f36bfc34955aec43a188276b8d in mainline linux
[BFI] Index iterative inference by block number (#215179)
`applyIterativeInference` builds a DenseMap assigning each participating
block a position in a dense vector. Block numbers already provide that
index, and BFI uses them elsewhere.
drm/amdgpu: move debug_vm handling to amdgpu_cs_parser_fini
From Pierre-Eric Pelloux-Prayer
18d21c9d04b00400054da6e21663129940637cdb in linux-6.18.y/6.18.44
d8726ef11512754a68c0ab53c57634a569b8feff in mainline linux
drm/dp: Read the PCON max FRL bandwidth only for HDMI DFPs
From Alexander Kaplan
58d2bb394e88497e10fc039c0429c0f6aa762fe7 in linux-6.18.y/6.18.44
e40e20ac089e32f1d910636155dc82e61e61dcf3 in mainline linux
drm/i915/hdmi: Poll for 200 msec for TMDS_Scrambler_Status
From Jerome Tollet
cebba11df714bde20d55a4d7cca2ec7fdfd52a00 in linux-6.18.y/6.18.44
1afb8eaeec44fd011f2b93ccd9fd426d753d963b in mainline linux
drm/i915/dp: Ignore the sink's DSC max FRL rate without a PCON DSC encoder
From Alexander Kaplan
84b5aa55de7c868ddca36ff0dc3f14dc1d9e1181 in linux-6.18.y/6.18.44
8891e39e89042e285fd82fdde325d1311ec750a1 in mainline linux
drm/gpusvm: publish dpagemap early to avoid device mapping leak on error
From Honglei Huang
e8362523fd1b61712f7d996802f9b5dee545c7e6 in linux-6.18.y/6.18.44
7f708f51e3955bda0d77a0b67ab9bea6c97fea99 in mainline linux