[SLP]Release scheduling deps of copyable reassoc operands only once
A flattened reassoc node may have a scalar that is both a modeled
copyable tree operand (child entry) and a direct IR operand of a node
member. Scheduling such a member released its ScheduleCopyableData
dependency twice - in the per-lane operand scan and again in the
reassoc operand cleanup - driving UnscheduledDeps negative. Dedup the
cleanup release through the same Checked set the operand scan uses.
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/213079
[CIR] Allow cir.copy to work across address spaces- (#211873)
LLVM Memcpy supports copying across address spaces, so we should too. IN
C, this is legal, and there are no associated AST nodes to reasonably
put in a cast, so this patch just legalizes it to match the LLVM
behavior.
Note: I've added a 'CopyTypes' printer/parser as well, because it seems
unfortunate to make EVERY copy have to show all of its types.
[Modules] Handle decl attributes on deserialization the same as during parsing. (#208348)
Replace manual handling of 2 attributes with
`Sema::mergeDeclAttributes`, which is called during parsing too. Also
propagate attributes not from a previous redeclaration but from a
previous redeclaration outside of the current module. This is done to
avoid double propagation because attributes from a previous decl in the
same module are already handled when a module is built.
Call `ASTDeclReader::attachLatestDecl` after each decl is added to a
redeclaration chain, not once per `ASTReader::loadPendingDeclChain`
call. This is done to maintain correct redeclaration chain for each
`ASTDeclReader::attachPreviousDecl` call because [newly added]
`mergeDeclAttributes` requires a correct redeclaration chain.
Separated `Parser::Initialize` and `Parser::ConsumeToken` so can move
the initialization earlier, into `Parser` constructor. This way
`Parser::Initialize`, `Sema::Initialize`, `ASTReader::InitializeSema` are
executed before deserialization. This specific case is verified by
[6 lines not shown]
[CIR]Implement lowering for simple sin/cos/tan/exp10 builtins. (#211614)
Discovered these just looking around, they are pretty simple/trivial
translations to LLVM-IR intrins, and the infrastructure to do so is
already in place, so this is a bit of simple wiring up!
Implements f/h/hl versions of sin/cos/tan. Also implements base-10
exponent, since it is also trivial.
[CIR] Fixup type of no-prototype functions when emitting an alias. (#212308)
If a function is first used through a no-prototype declaration, then
defined later as an alias, we erased the old declaration and created the
new one with the new type. However the earlier references still used the
old type, which caused a verification error.
This patch just makes sure we replace the uses of it similar to how we
do with a similar problem with normal functions.
Note: there is a bit of inconsistency in how we're setting the type of
the function between OGCG and CIR that I'm not sure of the impact of,
but that is prexisting.
git-mfc: Add --abort and --continue flags
Instead of making the user run the underlying git-cherry-pick command
after a conflict.
Requested by: des
Reviewed by: des
Differential Revision: https://reviews.freebsd.org/D58514
Apply the VM system clock setting to the generated domain
## Problem
`pylibvirt_vm()` builds the domain configuration by unpacking `VMEntry.model_dump()` into a plain dataclass, converting `bootloader` and `cpu_mode` into their enums but not `time`. The API model types `time` as a string literal, so the configuration held `'LOCAL'`/`'UTC'` instead of a `Time` member, and the clock offset is decided by comparing that field against `Time.LOCAL`. That comparison was always false, so every VM was defined with `<clock offset="utc">` regardless of what the user picked, and Windows guests — which expect a localtime RTC — ran off by the host's UTC offset. Containers were unaffected because their equivalent helper already does the conversion.
## Solution
Convert `time` alongside the other two enums. Every caller reaches this through `VMEntry`, whose `Literal['LOCAL', 'UTC']` guarantees a valid value, so the conversion cannot raise. Added a unit test covering both offsets with and without Hyper-V enlightenments, which restores coverage that was dropped when XML generation moved out to truenas_pylibvirt.
packages/tests: Fix gtest dependency
The MFC of 1d0ae66d3c21 (packages subdir build) added a dependency
from FreeBSD-tests on FreeBSD-googletest. However, the googletest
package doesn't exist in 15 because the relevant commit wasn't MFC'd.
This caused a broken and unresolvable dependency.
Replace the incorrect googletest dependency with a dependency on
utilities.
This is a direct commit to stable/15.
Fixes: 1d0ae66d3c21 ("packages: Convert world to a subdir build")
Reviewed by: cperciva
Reported by: Mark Millard <marklmi at yahoo.com>
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D58553
[libc++] Fix difference_type expectations in range adaptor iterator member_types tests (#201853)
This fixes incorrect expectations in:
```
libcxx/test/std/ranges/range.adaptors/range.adjacent/iterator/member_types.compile.pass.cpp
libcxx/test/std/ranges/range.adaptors/range.zip.transform/iterator/member_types.compile.pass.cpp
libcxx/test/std/ranges/range.adaptors/range.adjacent.transform/iterator/member_types.compile.pass.cpp
```
These iterators define difference_type as `range_difference_t<Base>`.
For `ForwardSizedView` and `InputCommonView`, the `difference_type` of
the underlying iterators is `std::intptr_t` in `test_iterators.h`.
The tests instead assert `std::ptrdiff_t`. That happens to hold on
platforms where `std::intptr_t` and `std::ptrdiff_t` are the same type,
but fails elsewhere.
---------
Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>
amd64: try to fix the build with old clang that does not know about FRED
Reported by: jhb
Reviewed by: jhb, jrtc27
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D58550
amd64: do not allow to set reserved bits in MXCSR for ptrace(PT_SETFPREGS)
Also do not mask bits in the mxcsr_mask. It is ignored by FRSTOR/XRSTOR.
Reported by: markj
Reviewed by: jhb, markj
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D58548
[mlir][arith] Gate min/max expansion in arith-expand behind include-min-max (#211884)
`arith-expand` expanded `arith.maximumf`/`minimumf`/`maxnumf`/`minnumf`
and the signed/unsigned integer max/min ops into `cmpf`/`cmpi` +
`select` sequences. These ops also have a direct arith-to-llvm lowering
to the `llvm.intr.maximum`/`minimum`/... intrinsics, which are a single
hardware instruction on many targets. Pipelines that run arith-to-llvm
after arith-expand (e.g. the GPU-to-XeVM pipeline) therefore paid a
large, avoidable overhead.
Add `include-min-max-f` (the float ops
maximumf/minimumf/maxnumf/minnumf) and `include-min-max-i` (the
signed/unsigned integer ops maxsi/maxui/minsi/minui) option (default `false`, changing the existing
behavior) that controls whether these min/max ops are expanded. The
min/max converters are factored into new
`populateExpandMinMaxFPatterns` and
`populateExpandMinMaxIPatterns`; the ceil/floor-div and scaling ext/trunc
expansions (which have no LLVM lowering) always run.
[2 lines not shown]
[MergeFunctions] Preserve import GUIDs when folding functions (#207003)
Computes the union of SamplePGO/ThinLTO import GUIDs from both inputs
and attaches it to the surviving function.
[CIR] Fix path generation to understand redecls (#213051)
Found this during a self-build, an additional decl was confusing the
check between getParent and the currentClass. This patch generalizes it
to use the 'isSameEntity' function which makes sure they are the same.
Also, as a drive-by, the test had some check-lines that andy submitted a
while back, that were accidentially not being tested, so fixed the
check-title to be actually checked.
x11/quickshell: fix build on armv7
Same patch as on i386.
Presumably also needed on powerpc.
Approved by: portmgr (build fix blanket)
MFH: 2026Q3
(cherry picked from commit b7fcc2a96c2d3c69a3ed49ea070727beab23de53)