[TargetLowering] Speculative fix for a non-determinism issue between different compilers. (#190219)
The evaluation order of function arguments is unspecified by the C++
standard. We had two getNode calls as function arguments which causes
the nodes to be created in a different order depending on the compiler
used. This patch moves them to their own variables to ensure they are
called in the same order on all compilers.
Possible fix for #190148.
(cherry picked from commit e2e5db840109e9a5d5bb190fcae350161a6e5481)
[clang-repl] Use canonical types in QualTypeToString (#190528)
Use the canonical type when generating type strings to ensure sugared
(e.g. `AutoType`, `DecltypeType`) are resolved before calling
getFullyQualifiedType.
This will revert a few commits that were added to fix these assertions.
---------
Co-authored-by: Harald van Dijk <hdijk at accesssoftek.com>
(cherry picked from commit ba286040c95ea7a15673d6a7f731dc090ffe1fde)
[clang] Fix issues with const/pure on varargs function. (#190252)
There are two related issues here. On the declaration/definition side,
we need to make sure the markings are conservative. Then on the caller
side, we need to make sure we don't access parameters that don't exist.
Fixes #187535.
(cherry picked from commit 9471fabf8ab15b1dc03834a1b7b7d20a038a4656)
[Scheduler][NFC] Don't use set to track visited nodes (#190480)
The visited set can grow rather large and we can use an unused field in
SDNode to store the same information without the use of a hash set.
This improves compile times: stage2-O3 -0.14%.
[lldb] Iterate over a copy of the ModuleList in SearchFilter (#189009)
Avoid a potential deadlock caused by the search filter callback
acquiring the target's module lock by iterating over a copy of the list.
Fixes #188766
(cherry picked from commit ce1b12ee08133a983050e88c3c0303df973f3276)
[Flang] Fix lowering failure for some constructs inside a CHANGE TEAM (#184342)
This PR is here to fix the `CHANGE_TEAM` construct if it contains an
IF/ELSE (construct with a body too) in its body, for example.
(cherry picked from commit 0625467c63c557a9fda7e5d4ea64ef6d739b1c04)
Replace pure-python filter_list
This commit replaces the pure-python implementation of filter_list
with the version provided by the truenas/truenas_pyos repo
(truenas_pyfilter). The overall new workflow for this is:
1. convert the filters / options to their respective objects from
truenas_pyfilter (compile_filters, compile_options).
2. use the filters / options to either match (if there's single item)
or tnfilter (if there is more than one).
Output is same so this is mostly a drop-in replacement; however,
in some places in our codebase we keep copies of pre-compiled filters
and options because they do not change. The filter_list util is now
replaced with what is largely a thin wrapper around the extension.
API validation also now wraps around validation provided by the
extension.
[SandboxVec][LoadStoreVec] Add support for constants (#189769)
Up until now the pass would only vectorize load-store pairs. This patch
implements vectorization of constant-store pairs.
Import bmake-20260313
Intersting/relevant changes since bmake-20251111
ChangeLog since bmake-20251111
2026-03-12 Simon J Gerraty <sjg at beast.crufty.net>
* VERSION (_MAKE_VERSION): 20260313
Merge with NetBSD make, pick up
o make: ensure .MAKE.SAVE_DOLLARS is initialized so makefiles like
sys.vars.mk can test its value to know how to deal with macros
that need to save '$' during ':='.
* Makefile: default MAKE_SAVE_DOLLARS_DEFAULT to "no"
for traditional behavior.
2026-03-10 Simon J Gerraty <sjg at beast.crufty.net>
[108 lines not shown]
[AArch64][llvm] Fix encoding for `stshh` instruction (#189588)
The encoding for `stshh` was incorrect, and has been fixed. This
has been checked against the Arm ARM.
[CIR][AArch64] Lower FP16 vduph lane intrinsics (#186955)
From #185382
Lower `vduph_lane_f16` and `vduph_laneq_f16` to `cir::VecExtractOp`
Tests moved from `v8.2a-neon-instrinsics-generic.c` to a new CIR-enabled
test file.
I tried following from notes made in #185852 (BF16)
[ARM] Enable creation of ARMISD::CMN nodes (#163223)
Map ARMISD::CMN to tCMN instead of armcmpz.
Rename the cmn instructions to match this new reality.
Please note that I do not have merge permissions.
[RISCV] Use EVT instead of MVT in compressShuffleOfShuffles. (#190636)
For the test case I just grabbed a test that exercised this code path
and made the VT non-simple.
Fixes #190605.
[AMDGPU] Update vop3-literal.s to use fake16 on gfx1250. NFC
16-bit instructions there are in fake16 mode and shall also be
compatible with older targets. The purpose of the test is to
check literals, so fake16 or real16 is not important.