[NewPM] Make LoopSimplify, RegToMem and StripConvergenceIntrinsics required (#238319)
SPIR-V lowering needs these passes on optnone functions
Their legacy PM versions never skip functions, so mark them required
NAS-144268 / 28.0.0-BETA.1 / Fix KRB5Error mapping of minor codes outside the krb5 error table (#20105)
KRB5Error took the low byte of any GSSAPI minor code as a KRB5ErrCode.
Codes missing from the enum raised ValueError in the constructor, so the
original error was lost and no `except KRB5Error` handler ran. Minor
codes that are not krb5 codes at all (an errno from the keyring ccache,
a GSSAPI synthetic code) got a wrong name. The enum also lacked
KRB5_CC_NOT_KTYPE and three KRB5_SAM_* codes, so every value from 200 up
was off by one or four.
- Set krb5_code only when the minor code is in the krb5 error table;
otherwise it is None and str() returns the GSSAPI message.
- Regenerate KRB5ErrCode from krb5_err.et (MIT krb5 1.21.3).
- _recover_secrets: a KRB5Error with no krb5_code propagates instead of
faulting as AD_SECRET_INVALID.
- Fix minor codes in two AD tests that did not match their comments.
[libc][math] Move CR/RN expf to float_eval_cr_rn namespace (#237614)
Rename `math::float_eval::cr_expf_rn` to `math::float_eval_cr_rn::expf`
and restore namespace-based implementation selection with `using`,
removing the forwarding wrapper.
Also register the missing `check.exp_exceptions` CMake target, which
caused CMake to skip the tests:
```text
Skipping test libc.test.src.math.expf_test as it has missing deps:
libc.src.__support.math.check.exp_exceptions.
```
---------
Signed-off-by: Leandro Augusto Lacerda Campos <leandrolcampos at yahoo.com.br>
NAS-145022 / 28.0.0-BETA.1 / Add memory limit to containers (by Qubad786) (#20119)
## Problem
Containers report 1 PiB of memory and there is no way to cap how much
memory a container can use, because libvirt is always handed a
placeholder 1 PiB value for `<memory>`.
## Solution
Added a `memory` column and API field (MiB, `ge=20`) to containers. The
value is passed to libvirt, which enforces it as a hard cgroup limit and
reports it as the container's MemTotal. When it is unset,
`container.start` uses the host's physical RAM, so containers without a
limit see the real host memory instead of 1 PiB. The Incus import
carries over `limits.memory`, skipping soft-enforced limits and values
that don't parse to at least 20 MiB.
Original PR: https://github.com/truenas/middleware/pull/20116
Co-authored-by: M. Rehan <mrehanlm93 at gmail.com>
[BFI] Make GVDAGType an enum class and move it to BlockFrequencyInfo.h. NFC (#238418)
Enum class can be forward-declared and be used by AnalysisOptions.td.
Users that only need the enum, such as a library options struct, can
then name it without including BlockFrequencyInfoImpl.h.
See
https://github.com/llvm/llvm-project/pull/238015#discussion_r4452011718
[CodeGen] Add changeElementCount to MVT and EVT (#234685)
- Add `changeElementCount` helpers to `MVT` and `EVT`.
- Preserve the scalar element type while changing the element count between scalar,
fixed-length vector, and scalable vector types.
- Support extended `EVT` scalar types.
- Use `changeElementCount` in existing SelectionDAG and DAGCombiner code paths
where vector types are rebuilt with a different element count.
- Avoid duplicating vector element-type reconstruction logic.
Fixes #174584
[AMDGPU] Use addressable arch VGPR count for CFI (#235335)
`emitPrologueEntryCFI` assumed 1024 arch VGPRs on targets with VGPR
MSBs, regardless of wave size.
Use `getAddressableNumArchVGPRs` instead of hard-coding 1024 for targets
with VGPR MSBs, matching whole wave function handling. In wave64 only
512 arch VGPRs are addressable.
No current upstream target has both wave64 support and VGPR MSBs, but
this could affect certain downstream targets.
devel/ruby-msgpack: update to 1.8.7
1.8.7 (2026-10-30)
* Fix the Java version of the unpacker to never preallocate objects larger
than the buffered size (similar to the fix for the C unpacker in 1.8.1).
[SPIR-V] Define image handles used outside image intrinsics (#238050)
Image intrinsics reload the handle themselves, so other users such as
calls read an undefined vreg
devel/ruby-ffi-compiler: update to 1.4.3
pkgsrc change: update HOMEPAGE.
1.4.3 (2026-10-31)
* Add RSpec setup and a rake spec task.
* Add specs for Loader.find's legacy lib path search.
* Add specs for Loader.find's extension_dir fast path.
* Add spec for Loader.find with a Pathname start_path.
* Look up the calling gem's spec by path in Loader.find.
* Compare full_gem_path, not gem_dir, in the spec lookup.
[RISCV] Assert ordering in tryConvertToXqcilsmLdStPair (#238386)
The code to handle the second instruction having the lower offset was
broken: it intended to swap its references to the data operands of the
two instructions, but since they were references it actually swapped
the MachineOperand objects themselves, corrupting parent pointers and
use-def lists.
However this case is unreachable because the only caller, via
mergePairedInsns, always orders the instructions by offset first. So
remove the swap and assert the ordering instead.
Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>
[InstCombine] Handle denormal mode for ldexp in SimplifyDemandedUseFPClass (#238189)
Fixes https://github.com/llvm/llvm-project/issues/229985
Demands `fcNegSubnormal` if inputs could flush to positive zero, and
`fcNegNormal | fcNegSubnormal` if outputs could flush to positive zero.
Also adds test coverage to ensure that input/output denormal mode
handling is done correctly in case we refine `SrcDemandedMask` based on
`KnownExpBits` in the future.
AI Disclosure:
I used Claude Opus 5 to help write the tests
[analyzer] Fix crash upon encountering `MatrixSubscriptExpr` (#238268)
The analyzer currently does not support expressions of kind
`MatrixSubscriptExpr`, however, previously, the switch cases of these
expressions in `ExprEngine::Visit` were marked as `llvm_unreachable`.
This patch moves `MatrixSubscriptExpr` and `MatrixSingleSubscriptExpr`
into the group of switch cases which are unhandled, so that code with
these expressions can still be analyzed without crashing.
Fixes: #237351
[AMDGPU][NFC] Clean up pre-gfx125x test RUN lines
Drop flags that match defaults: -verify-machineinstrs in .ll tests,
-global-isel=0 in tests without a GlobalISel run, and redundant
-global-isel-abort. Use subarch triples instead of amdgcn plus -mcpu.
Error-only MC runs use -filetype=null.
Change-Id: Ic8e2469780e32dbe204a032fcf9d91a1e8b737d2
Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>
[AMDGPU][NFC] Clean up gfx125x test RUN lines
Drop flags that match defaults: -verify-machineinstrs in .ll tests,
-global-isel=0 in tests without a GlobalISel run, and redundant
-global-isel-abort. Use subarch triples instead of amdgcn plus -mcpu.
Error-only MC runs use -filetype=null.
Change-Id: I22e9cf71556173486cd9bbed4123ee4644dd1cd8
Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>
[InstCombine] Correctly handle denormal modes for `llvm.canonicalize` (#237096)
Adds proper FTPZ/DAPZ support to `SimplifyDemandedUseFPClass`, so
`fcPosZero` will demand `fcNegSubnormal` under DAPZ and etc.
AI Disclosure:
I used Claude Opus 5 to help write the tests.
[AMDGPU][NFC] Clean up gfx13 test RUN lines (#238104)
Drop flags that match defaults: `-verify-machineinstrs` in `.ll` tests,
`-global-isel=0` in tests without a GlobalISel run, and redundant
`-global-isel-abort`.
Use subarch triples instead of amdgcn plus `-mcpu`.
Error-only MC runs use `-filetype=null`.
[lld][MachO] Support Objective-C class selector stubs (#219744)
Support Objective-C class selector stubs in lld's Mach-O backend.
This consumes the class-stub symbols emitted by Clang in [ObjC] Emit
class msgSend stub calls (#186433), using the form
`_objc_msgSendClass$<selector>$_OBJC_CLASS_$_<class>`.
Class stubs load the class object into `x0`, load the selector into
`x1`, and branch to `_objc_msgSend`. Local class symbols are
materialized directly with `adrp`/`add`; dylib or dynamic class symbols
are loaded indirectly.
The implementation also tracks the resolved class symbol before dead
stripping so live class stubs can retain the needed class definition
without keeping dead dylib references alive.