[mlir][VectorToSCF] Helper for masked Xfer check (NFC) (#240357)
Follow-up to #221307.
Replace the five copies of the "masked by `vector.mask`" check with a
single `checkNotMasked` helper, so the message lives in one place.
In essence, this addresses my nit in #221307.
Signed-off-by: Federico Bruzzone <federico.bruzzone.i at gmail.com>
[Offload][test] Fix flaky kernel_crash_async.c (#240343)
The three nowait target regions can launch in any order. Since only the
last one fails, we can only be sure to see its log record. The other
kernels might never run due to the crash.
Claude assisted with this patch.
NAS-142154 / 27.1.0 / Reject new overlaps between Active Directory idmap ranges (by anodos325) (#20162)
The directory services refactor (368cc8cf63) removed the idmap plugin's
range validation and kept only a check between trusted domains. A
trusted domain could then share IDs with the primary domain or BUILTIN.
- Check BUILTIN, the primary domain and enabled trusted domains in
directoryservices.update.
- Leave overlaps already in the saved configuration alone, so that
existing setups can still be disabled, enabled and saved.
Original PR: https://github.com/truenas/middleware/pull/20148
---------
Co-authored-by: Andrew Walker <andrew.walker at truenas.com>
[Remarks][NFC] Spell YAML test code points as UTF-8 bytes
\u escapes in narrow string literals use the compiler's execution charset,
so MSVC on Windows encoded U+0085, U+2028 and U+0080 as a single byte or '?'
and TestBlockScalarFallsBackToQuoted failed on Windows bots.
Assisted-by: Claude Code (Claude Sonnet 5.5).
[mlir][ODS] Add DefaultValuedEnumProp
Giving an enum property a default currently means subclassing EnumProp
and spelling the default as `Enum.cppType # "::Case"`, or wrapping it in
DefaultValuedProp with the same hand-written string. DefaultValuedEnumProp
takes the EnumInfo and one of its EnumCase defs, mirroring
DefaultValuedEnumAttr, and asserts at TableGen time that the case belongs
to the enum. The test dialect's default-valued enum props switch to it.
Assisted-by: Claude Code (Claude Fable 5.1).
ipsec: fix deprecation error
ErrorException: Case statements followed by a semicolon (;) are deprecated, use a colon (:) instead in /usr/local/opnsense/mvc/app/controllers/OPNsense/IPsec/Api/KeyPairsController.php:136
[OpenMP][ompd] Fix compare wraparound and improve test
The test checks for an "incomplete" return value, which can only happen
for a thread list, not a single value. This used to work because of the
unsigned int wraparound in the corresponding code check, which
incorrectly yielded the "incomplete" return value.
[LTO] Keep the remarks of every partition with parallel codegen
With ParallelCodeGenParallelismLevel > 1, splitCodeGen compiles each
partition in a fresh LTOLLVMContext. Those contexts have no remark
streamer, so code generation remarks (asm-printer, prolog-epilog,
regalloc, ...) never reach the -pass-remarks-output file.
Add LLVMRemarkBuffer, which streams the remarks of one context into an
in-memory bitstream buffer and later emits them through the serializer
of another context's remark file. splitCodeGen gives each partition a
buffer with the remark settings from lto::Config and, once all
partitions are done, emits them in partition order, so the file does
not depend on thread scheduling. Remarks are copied as they are;
RemarkLinker would sort and deduplicate them and drop the ones without
a debug location.
LTOCodeGenerator now stores its -lto-pass-remarks-* options in its
Config, so llvm-lto -j gets the partition remarks too.
[4 lines not shown]
[analyzer] Remove the SimpleStream demo checker from the CSA checkers (#238415)
The `SimpleStreamChecker` is a demo checker that was implemented for the
2012 LLVM Developers' Meeting talk. The checker served as an educational
checker for newcomers, students, etc. to the Clang Static Analyzer.
Since then there has been a lots of improvements within CSA and the
`SimpleStreamChecker` lost its purpose because there are other more
modern checkers that are great source for newcomers to learn the
fundamentals. By removing the checker users do not lose anything since
the `StreamChecker` already covers what `SimpleStreamChecker` has
covered.
Discussion about the removal of this checker started in
https://github.com/llvm/llvm-project/pull/230288
[InstCombine] Canonicalise Vector Shuffle that clears upper bits
Currently, shuffle vectors that are equivalent to preserving lane 0 and clearing the uppers lanes of a vector result in different shuffle vectors and masks
Recognise and canonicalise the shuffleVectors to the same form allowing for easier recognition in the backend
[LTO] Keep the remarks of every partition with parallel codegen
With ParallelCodeGenParallelismLevel > 1, splitCodeGen compiles each
partition in a fresh LTOLLVMContext. Those contexts have no remark
streamer, so code generation remarks (asm-printer, prolog-epilog,
regalloc, ...) never reach the -pass-remarks-output file.
Add LLVMRemarkBuffer, which streams the remarks of one context into an
in-memory bitstream buffer and later emits them through the serializer
of another context's remark file. splitCodeGen gives each partition a
buffer and, once all partitions are done, emits them in partition order,
so the file does not depend on thread scheduling. Remarks are copied as
they are; RemarkLinker would sort and deduplicate them and drop the ones
without a debug location.
Add -lto-partitions to llvm-lto2, the counterpart of lld's
--lto-partitions, so the parallel path can be tested.
Assisted-by: Claude Code (Claude Opus 5.5)
[CIR][CUDA] Emit device variables referenced only by host code (#236392)
CIR can omit static CUDA/HIP device and constant variables when they are
referenced only by host code. For example, a host function may pass a
device variable’s address to a device-symbol lookup API even though no
device function uses it. CIR skips host function bodies during device
compilation, so those references do not cause the variables to be
emitted.
Add these variables to the list that CIR emits at the end of
compilation, matching classic Clang code generation. Preserve the
recorded host references so the compiler can make the variables
accessible to host code and prevent them from being removed as unused.
Add a test checking that the device variables are emitted, the host-only
function remains absent, and a variable referenced only through `sizeof`
remains absent.
---------
Co-authored-by: Steffen Larsen <sholstla at amd.com>
[Offload][test] Fix flaky kernel_crash_async.c
The three nowait target regions can launch in any order. Since only the
last one fails, we can only be sure to see its log record. The other
kernels might never run due to the crash.
Claude assisted with this patch.