[C++20] [Modules] Don't set clang module as named module for module duplication check (#215184)
Close https://github.com/llvm/llvm-project/issues/204632
Note that the error message is already diagnosed. So we don't need to do
additional thing here.
mvc: ArrayField support nested fields in record sets
Flatten nested container fields for export and resolve them again on import, limited to the same one-level nesting supported by ArrayField::add().
feat: add PKG_EVENT_RC_SCRIPT for rc.d script actions
Introduce a dedicated event for rc script start/stop/restart, with
display in src/event.c and pipe JSON in libpkg/pkg_event.c.
Renamed internal PKG_RC_START/STOP to PKG_RC_ATTR_START/STOP to avoid
conflict with the new public pkg_rc_action_t enum.
[AMDGPU] Fold constants in 2-elt vector canonicalization (#214384)
For 2-element vectors convert:
`fcanonicalize (build_vector x, k)` -> `build_vector (fcanonicalize x),
(fcanonicalize k)`
`fcanonicalize (build_vector x, undef)` -> `build_vector (fcanonicalize
x), 0`
if fcanonicalize is Legal for a single element.
Previously only v2f16 was transformed. Now v2f32 and v2f64 are also
transformed, but v2f16 is naturally excluded.
---------
Signed-off-by: John Lu <John.Lu at amd.com>
[libc++] Refactor `optional<T>` and `optional<T&>` base classes (#215012)
- Remove the shared `__optional_storage_base` base class and associated
partial specializations to handle the `T&` case in `optional<T>`
- As a consequence, the `static_assert`s that check for reference types
in `optional<T>` need to be moved up to the base class as the
`is_object_v` check is tripped, otherwise.
- Directly inline base class functions for both that used to exist to
accommodate a "dual-mode" (`T` and `T&`) `optional`.
resterm: Update to 0.52.1
This release ships many bug fixes and improvements across the parser, mocks, and RestermScript, along with two larger additions: mock request matching is far more expressive, and RestermScript now has a switch statement with labeled break and continue. One breaking change is included: the default(a, b) helper is gone and default is now a reserved word, so use the ? operator instead.
[LoopInfo] Do not enqueue unreachable nodes; fix infinite loop (#214832)
Before this patch, we were enqueing unreachable nodes reaching into the
latch nodes. Since unreachable nodes haven't been visited in the
original DFS algorithm, we end up in an infinite loop within enqueue
This patch restores isReachableFromEntry() check from now removed
discoverAndMapSubloop(). This should avoid infinite loop.
It's a regression from #212000
(5d582e4003b1cab59900d16fa3db9c3a9d16b462)
---------
Co-authored-by: Alexander Kornienko <alexfh at google.com>
Co-authored-by: Alexis Engelke <mail at aengelke.net>
[clang][ASTMatchers] Fix `hasArraySize` crash without a size expression (#215082)
CXXNewExpr::getArraySize() returns std::nullopt even when isArray() is
true, e.g. when there is no array size expression, as in 'new int[]()'.
The hasArraySize matcher dereferenced the optional unconditionally,
triggering undefined behavior (an assertion failure in assert-enabled
builds). Check the optional for engagement before matching.
Since getArraySize() already returns std::nullopt when isArray() is
false, the redundant isArray() check can be dropped.
Add a clang-tidy regression test that runs clang-tidy on a translation
unit containing 'new int[]()', which emits a compiler diagnostic but
must not crash the tool, and document the fix in the release notes.
Fixes #214281
x11/lightdm: Update to 1.33.0
- Download distribution using GITHUB
- Stop limiting portscout to even versions
- Add QT6 support option, alternative to QT5
- Remove upstreamed patches
- Fix vt multiseat support [1]
Many thanks to tijl for help and testing and finding solution for
[1], which was causing regressions with polkit integration.
Reviewed by: tijl
Tested by: tijl
[Flang][OpenMP] Add nsw flags to OMPIRBuilder loop IV arithmetic (#214165)
- Extended the support of `-fno-wrapv` flag setting from frontend to the
OMPIRBuilder via `omp.integer_wrap_around` module attribute.
- When this attribute `omp.integer_wrap_around` is false (-fno-wrapv),
the OMPIRBuilder attaches `nsw` to all loop IV arithmetic.
- This enables SCEV to form proper `AddRec` expressions for the loop IV,
allowing `IndVarSimplify pass` to widen it from i32 to i64 and eliminate
the in-loop sext instruction which helps some backend optimizations and
also producing IR similar to Clang.
Fixes https://github.com/llvm/llvm-project/issues/213718
drm/fb-helper: Fix a locking bug in an error path
From Bart Van Assche
e7731507270c2c63f00cfbf210fe96b964e9b42e in linux-6.18.y/6.18.44
bd64240dc88caaf7b96dd869f36f165f51b52039 in mainline linux
drm/i915/vrr: require valid min/max vfreq for VRR
From Jani Nikula
df1582c0a101e2e2f133dd331d2a3258bb6a7518 in linux-6.18.y/6.18.44
f8a9262c7a6fc2de9802e14b0228114f0333869e in mainline linux
drm/i915/vrr: Check HAS_VRR() first in intel_vrr_is_capable()
From Ville Syrjala
894d4a7395662059d2c6009fd17e1598af06405e in linux-6.18.y/6.18.44
4b274b0b61ab2a529e5c22e9aa033f3028e639fc in mainline linux
drm/exec: Remove the index parameter from drm_exec_for_each_locked_obj[_reverse]
From Thomas Hellstrom
b8ad916ba4e18e428693ffd89ae66ac9754b5558 in linux-6.18.y/6.18.44
ce44b78512e9102aea54ff6b6e521d6c8de9f31c in mainline linux
drm/amd/display: Exit idle optimizations before programming
From Leo Li
3cb42a973f889f13204f220612eb0be89f90a661 in linux-6.18.y/6.18.44
8419331e64d92a8de5fc4feef0e305f201fb8b33 in mainline linux
drm/amd/display: check GRPH_FLIP status before sending event
From Leo Li
dbbe08d73b8bcedf0eb8bacb4b3c43b09c92c032 in linux-6.18.y/6.18.44
48ab86360af117123eb1b15e38f068acf3826400 in mainline linux
drm/amdgpu: Respect placement requirements in amdgpu_gtt_mgr functions
From Timur Kristof
30b2d0843a4101934109c1e7f9240b153d631c10 in linux-6.18.y/6.18.44
8882f8897e554053af9e72f4c2da8b1e2cce56c7 in mainline linux
[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]