[BOLT] Add --instrument-funcs-file option to scope instrumentation (#197226)
Adds a new option that takes a file containing one function name per
line (exact match) and restricts instrumentation to those functions.
Composes with --instrument-hot-only as an AND filter.
Assisted-by: Claude Opus 4.7
[RISCV] Fix mask policy in convertSameMaskVMergeToVMv (#197937)
In convertSameMaskVMergeToVMv, we try to change a vmerge to a vmv.v.v if
the true operand is masked in such a way it guarantees the masked off
elements are the same.
However vmerge.vvm and vmv.v.v are always mask undisturbed. If we want
to reuse the masking in the true operand we need to also change its
policy to mask undisturbed.
This fixes a miscompile that can be seen with llvm.masked.sdiv
instructions after #191377 under certain conditions, detected by
https://lab.llvm.org/buildbot/#/builders/214/builds/2795. The
llvm.masked.sdiv instructions produced a mask agnostic PseudoVDIV that
had a PseudoVMERGE_VVM merged into them without updating the policy.
[GlobalISel] Fix -Wunused-variable in bef7245 (#197971)
OpCode is unused outside of assertions, so mark it [[maybe_unused]] to
prevent -Wunused-variable in non-asserts builds.
[CIR] Fix problem with scope termination (#197780)
This fixes a problem with scope termination when a cleanup scope appears
as the last operation within a region that is nested inside another
operation, such as within the body region of a cir.for operaiton. When
the cleanup is popped, we set the insertion point to just past the
cleanup operation, which is what we need if there are going to be more
operations emitted, but the LexicalScope::cleanup function, which
intends to add a terminator to its ScopeOp region, was not working
correctly because it expected the insert location to be at the end of
the scope.
In the problematic case, we had something like this:
cir.scope {
...
cir.for : cond {
...
} body {
[18 lines not shown]
NAS-140766 / 27.0.0-BETA.1 / Apply account userns_idmap in container DEFAULT mode (#18940)
DEFAULT idmap now consults local users/groups with userns_idmap set and
emits passthrough segments alongside the shifted base range, restoring
the 25.10 behavior where apps user (568) and other configured accounts
keep their host UID/GID inside the container. ISOLATED mode unchanged.
Adds idmap functional tests to test_container.py and ports the NFS4 ACL
functional test from 25.10 (deleted with the virt plugin) as
test_container_acl.py.
NOTE: Requires truenas_pylibvirt with multi-entry idmap support.
libpkg: config: only assume repository enabled once
The current model means that one might have to track different
modifications that can be made to a repository in separate places, which
can be more challenging for, e.g., generated configuration. Implicit
enable makes a lot of sense in general, but it can be quite confusing
from a user-perspective that we'll enable a repository that was disabled
elsewhere when the overriding config is only specifying unrelated
things.
This is a potentially breaking change, but I think I'd be a little
surprised if anyone relies on this behavior in practice.
Closess #2671
openssh: Add reference for another local patch
A bug fix was committed locally and submitted upstream. Document it in
our upgrade instructions, as these sometimes take a long time before
getting merged.
Sponsored by: The FreeBSD Foundation
Fix aarch64 build failure by removing earlyclobber (#18532)
The UVR macros used "+&w" (read-write + earlyclobber) as the
constraint for NEON register operands that are declared as explicit
hard-register variables via:
register unsigned char wN asm("vN") __attribute__((vector_size(16)));
The + modifier implicitly makes the operand also an input (reading the
register before the asm runs). The & (earlyclobber) modifier says "this
output may be written before all inputs are consumed." Having an
earlyclobber output on the same hard-register that is simultaneously
an input is a contradiction — GCC 16 now strictly diagnoses this.
The fix removes the & from "+&w", yielding "+w". The earlyclobber
was both incorrect (contradicts the implicit input) and unnecessary
(the physical registers are already hard-bound, so the compiler has no
freedom to assign conflicting registers anyway).
[6 lines not shown]
filesystems/fuse-unionfs: update to 3.7
# changes (since 2.0)
3.7
- fix chmod on symlink itself
3.6
- fix long standing bug with directory renames in cow mode (see #91)
3.5
- fix compilation on 32bit systems
3.4
- default to fuse2 api on macos when compiling
3.3
- fixed fortified compilation
- disabled logging to file since it had some unresolved locking issues
[21 lines not shown]
[clang][NFC] Unify `MacroState` `isAmbiguous` and `getModuleInfo` (#197867)
Every call to `MacroState::getModuleInfo`, and `MacroState::isAmbiguous`
are paired in the same function. Rather than doing the same work twice,
just unify them into a single function, `getModuleInfo`, that returns
both pieces of information in a new type `ModuleMacroInfo`.
Unfortunately, `getModuleInfo` and`ModuleMacroInfo` already exist, so
rename them to `getFullModuleInfo` and `FullModuleMacroInfo`,
respectively, since the new type is a subset of the old type. The new
type contains just the pieces consumers care about.
While we're there, use the range constructor of `llvm::DenseSet` instead
of default constructing and calling `insert` in a loop.
[RegAllocFast] Eliminate dead copies (#196056)
github issue: https://github.com/llvm/llvm-project/issues/168201
This patch extends copy elimination in **RegAllocFast** to catch an
additional class of redundant copies. Previously, only identity copies
(where source and destination registers are the same) were marked for
removal.
Now, we check whether the current instruction is dead and remove it if
it is.
The change:
- Updates the copy-elimination condition to include dead destination
operands.
- Improves debug output to be more generic.
This reduces unnecessary instructions and can lead to slightly better
codegen by eliminating dead copies earlier in the fast register
allocation pass.
[DAG] SimplifyMultipleUseDemandedBits - use isIdentityElement to detect identity / fall through operands (#197952)
Now that isIdentityElement uses computeKnownBits we don't have to handle
this locally, and can handle all binops (inc smax/smin/umax/umin etc.)
at the same time
sysutils/py-croniter: Fix shebang
====> Running Q/A tests (stage-qa)
Error: '/usr/bin/env python' is an invalid shebang you need USES=shebangfix for 'lib/python3.11/site-packages/croniter/tests/test_croniter_speed.py'
Error: '/usr/bin/env python' is an invalid shebang you need USES=shebangfix for 'lib/python3.11/site-packages/croniter/tests/test_croniter_range.py'
Error: '/usr/bin/env python' is an invalid shebang you need USES=shebangfix for 'lib/python3.11/site-packages/croniter/tests/test_croniter.py'
Error: '/usr/bin/env python' is an invalid shebang you need USES=shebangfix for 'lib/python3.11/site-packages/croniter/tests/test_croniter_dst_repetition.py'
*** Error code 1
Approved by: portmgr (blanket)