[clang][AArch64][NFC] Remove redundant bitcasts in builtin codegen (#196988)
Update CodeGen for the ACLE AdvSIMD “extract one element from vector”
builtins to avoid emitting unnecessary bitcasts:
* https://arm-software.github.io/acle/neon_intrinsics/advsimd.html#extract-one-element-from-vector
The existing tests continue to cover the generated IR and require no
updates, confirming that this is an NFC cleanup.
This is similar to #195825.
NAS-141091 / 27.0.0-BETA.1 / Remove duplicate grub render at boot (#18970)
This commit fixes an issue where on boot two listeners on the
`system.ready` event both rendered grub:
`etc.generate_checkpoint(POST_INIT)` (via `etc.py`) and
`grub_config._reconcile`. Both invoked `write_grub_config` and
`grub-mkconfig` concurrently, racing on `/boot/grub/grub.cfg.tmp(.new)`
and occasionally producing the "grub-mkconfig error: Generating grub
configuration file ..." failure with no diagnostic stderr.
The grub entry is now registered with `checkpoint=None`, so it is
skipped during checkpoint-driven boot generation. `_reconcile` becomes
the sole boot-time path and only invokes `grub-mkconfig` when
`truenas.cfg` content actually changes. Runtime triggers in
`system_advanced/serial.py` and `system_vendor/vendor.py` (which call
`etc.generate('grub')` directly, without a checkpoint) are unaffected,
as is HA propagation via `failover.call_remote('etc.generate',
['grub'])`.
[MLIR][test] Add lit coverage for cf.br/cond_br/switch under narrow-type emulation (#198053)
Wires `cf::populateCFStructuralTypeConversionsAndLegality` into the
in-tree `TestEmulateNarrowType` pass and adds lit coverage that
exercises `cf.br` / `cf.cond_br` / `cf.switch` operand and successor
block-argument rewriting when emulating sub-byte element types:
* `memref<NxiW>` carried across `cf.br` / `cf.cond_br` / `cf.switch`.
* Sub-byte integer scalars across `cf.br`.
* Sub-byte integer vectors across `cf.br`.
This PR initially added thin wrapper functions
(`memref::populateMemRefNarrowTypeEmulationCFPatterns`,
`vector::populateVectorNarrowTypeEmulationCFPatterns`) over
`cf::populateCFStructuralTypeConversionsAndLegality`. Per review
feedback those wrappers were redundant, so callers (including the
in-tree test pass) now call
`cf::populateCFStructuralTypeConversionsAndLegality`
directly. Net contribution is the test-pass plumbing and the new lit
tests demonstrating that the existing cf structural type conversion
correctly handles narrow-type-emulated values.
[Instrumentor] Provide source location to runtime calls
To allow runtime calls to inspect the source location of the
instrumentation opportunity, we encode it in the module. This allows the
use in all environments, e.g., on GPUs, which might lack runtime dwarf
reading or libunwind. The stub printer is extended to make handling with
the encoded location information easy.
www/firefox-esr: enable configure with llvm 22
from clang 22.1 the target formerly known as wasm32-wasi is now
named wasm32-wasip1
Upstream: https://bugzilla.mozilla.org/show_bug.cgi?id=2023597
PR: 295332
Reported by: Chad Jacob Milios
mail/thunderbird-esr: enable configure with llvm 22
from clang 22.1 the target formerly known as wasm32-wasi is now
named wasm32-wasip1
Upstream: https://bugzilla.mozilla.org/show_bug.cgi?id=2023597
PR: 295332
Reported by: Chad Jacob Milios
CI: remove FreeBSD 13.5 (EOL April 30, 2026)
FreeBSD 13.5 and stable/13 reached End-of-Life on April 30, 2026 and no
longer receive security support, so they fall outside README.md's stated
support policy.
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Alexander Motin <alexander.motin at TrueNAS.com>
Signed-off-by: Christos Longros <chris.longros at gmail.com>
Closes #18553
[AArch64][GlobalISel] Add pre-legalizer combines for AVGFLOOR and AVGCEIL (#192866)
This patch adds GlobalISel pre-legalizer combines to pattern-match and
optimize average operations, bringing GlobalISel on par with
SelectionDAG.
Specifically, it matches:
- `(a + b) >> 1` into `G_UAVGFLOOR` / `G_SAVGFLOOR`
- `(a + b + 1) >> 1` into `G_UAVGCEIL` / `G_SAVGCEIL`
Support is included for both scalar and vector types, correctly handling
constants and splat vectors via `isOneOrOneSplat()`. This builds upon
the generic opcodes introduced for AArch64 intrinsics lowering and
enables optimal emission of Neon instructions (e.g., `urhadd`, `shadd`)
directly from generic IR.
Fixes #118083
[Instrumentor] Improve stub printer (for C/C++ and value packs)
The stub printer now emits a helper header to deal with value packs (in
C and C++). We also make the files C/C++ compatible and use the proper
format strings for int32_t and int64_t.
Make sure optional components are excluded (#187824)
Extends a fix from
https://github.com/llvm/llvm-project/commit/b1e92f8def98c5e34fdb3b4c18ac16d65fb613a2
to examples and docs, both of which may be missing but are
unconditionally included if missing
This fixes an issue where the Chapel team vendors LLVM (and subsequently
deletes directories like docs and examples for smaller file sizes), but
if those directories are missing the build will fail
Signed-off-by: Jade Abraham <jademabraham17 at gmail.com>
[Clang] Improve __block attribute coverage for ivars and static variables (#198167)
As discussed in #194856, we need to improve the diagnostic coverage for
the `__block` attribute.
The modifications I made are as follows:
1. added diagnostic definitions
2. modified diagnostic logic
3. added test cases
4. modified the affected test cases
close #197213
[Github][CI] Don't build analysis targets when no relevant projects present (#196882)
Fixes error described in
[link](https://github.com/llvm/llvm-project/pull/194442#issuecomment-4330108752),
When `clang-tools-extra` project was not computed to build but
`genconfusable` (part of `clang-tools-extra`) was build anyway.
Add test cases for safe_eval.sh
safe_set is the routine that does all the work.
In safe_set; if we replace one=`cmd arg` or two=$(cmd arg) add quotes
around the result eg. one="_cmd arg_"
Also lines containing `` or $() are too likely to result in syntax
errors, so just delete them.
Differential Revision: https://reviews.freebsd.org/D56795
Website - i18n: fix "Legacy Release" keyword
Reapply 5636b2ce2754, which makes the keyword in the releases sidenav
translatable. This got lost in the website refresh.
While here, drop the entry for 13.5, which also reappeared. This
recently went EOL.
Reported by: vladlen