[lldb] Convert highlighters to plugins (#181026)
This PR converts the syntax highlighters to plugins. Previously, the
highlighters were part of the Language plugin, using a library shared by
the C-like languages. The Highlighters already had a plugin-like design,
with a clang and default highlighter. This PR takes them out of the
language plugin and into their own highlighter plugin. They are still
accessed thought he HighlightManager.
This change is motivated by #170250. It will allow us to have both a
clang and tree-sitter based highlighter, as well as make it possible to
have a highlighter for a language that doesn't have an upstream language
plugin, like Swift or Rust.
AMDGPU: Codegen for v_dual_dot2acc_f32_f16/bf16 from VOP3
Codegen for v_dual_dot2acc_f32_f16/bf16 for targets that only have VOP3
version of the instruction.
Since there is no VOP2 version, instroduce temporary mir DOT2ACC pseudo
that is selected when there are no src_modifiers. This DOT2ACC pseudo
has src2 tied to dst (like the VOP2 version), PostRA pseudo expansion will
restore pseudo to VOP3 version of the instruction.
CreateVOPD will recoginize such VOP3 pseudo and generate v_dual_dot2acc.
[clang-tidy] Speed up `readability-uppercase-literal-suffix` (#178149)
As usual, this is one of our most expensive checks according to
`--enable-check-profile`.
Measuring overall runtime:
```sh
hyperfine \
--shell=none \
--prepare='cmake --build build/release --target clang-tidy' \
'./build/release/bin/clang-tidy --checks=-*,readability-uppercase-literal-suffix all_headers.cpp -header-filter=.* -system-headers -- -std=c++23 -fno-delayed-template-parsing'
```
Status quo:
```txt
Time (mean ± σ): 4.435 s ± 0.012 s [User: 4.158 s, System: 0.275 s]
Range (min … max): 4.409 s … 4.455 s 10 runs
```
[24 lines not shown]
NAS-139741 / 26.0.0-BETA.1 / Update TRUENAS-MIB.txt file (#18197)
Update the TRUENAS-MIB.txt file with regards to TrueNAS as the company
name
and the updated company address.
Also, removed TRUENAS-MIB.py and the directory path holding it.
Modern net-snmp and pysnmp have pySMI support 'built-in'. It
automatically compiles plain-text ASN.1 MIB files on-the-fly using the
pysmi library. The standalone tool to generate the text to python
conversion is no longer provided in snmp packages.
I confirmed functionality by running our SNMP CI tests _and_ by manually
tweaking TRUENAS-MIB.txt to present a new field.
upgrade: Fix crash in pkg upgrade
when upgrading pkgbase, pkg may try in its plan to remove temporarily
itself, in such case we could reach a crash
Fixes: #2496
[clang][deps] Parallelize module compilations (#180047)
In a typical build, the build system schedules many TUs from the same
target to be scanned/compiled at the same time. These TUs tend to depend
on a similar set of modules, and they usually keep their imports
alphabetically sorted. The nature of implicit modules then means that
scanning these TUs reduces into a single-threaded computation, since
only one TU wins the race to compile the common dependency module, and
the same thread/process keeps being responsible for compiling all
transitive dependencies of such module.
This PR makes use of the single-module-parse-mode in a new scanning step
that runs at the start of each TU scan. In this step, the scanner
quickly discovers unconditional module dependencies of the TU without
blocking on its compile. This typically discovers plenty of work to keep
the available threads busy and compile modules in more parallel fashion.
Modules discovered here are compiled on separate threads right away in
the same two-step fashion.
[8 lines not shown]
reproducibility: fix regression in DL_SORT
STREQ returns a boolean while DL_SORT expect the 3 kind of returns
provided by strcmp to properly sort.
Fixes: #2427
[AArch64][llvm] Allow FPRCVT insns to run in streaming mode if safe (#177334)
For FEAT_FPRCVT instructions, allow them to run in streaming mode if safe
[MLIR][Python] Ensure traits are attached when `load(register=False)` (#181174)
Currently, when calling `.load(register=False)`, `op._attach_traits()`
isn’t executed. This PR ensures traits are attached regardless of
whether `register` is `True` or `False`.
[mlir] Return null from DenseElementsAttr::get on unsupported attribute types (#181159)
`DenseElementsAttr::get(ShapedType, ArrayRef<Attribute>)` crashed with an unconditional `cast<IntegerAttr>` when encountering attribute types that are neither `FloatAttr` nor `IntegerAttr` (e.g. `ub.poison`). This can happen when folding ops like `tensor.from_elements` whose operands include poison values.
This patch fixes the issue at the `DenseElementsAttr::get` level rather than in individual op folders. The `cast<IntegerAttr>` is replaced with `dyn_cast<IntegerAttr>`, and when the attribute is neither `FloatAttr` nor `IntegerAttr`, a null `DenseElementsAttr` is returned. This is a more robust fix because it prevents the same class of crashes in any caller that passes unsupported attributes to `DenseElementsAttr::get`.
Fixes #178209.
---------
Co-authored-by: rebel-jueonpark <jueonpark at rebellions.ai>
[AsmParserContext] Fix regression after #174566 (#180068)
This fixes the regressions after merging #174566
The problem was, that the lookup of the location takes logarithmic time
as a function of the number of lines, and a large number of lines causes
the slowdowns. Now all the lookups are guarded with checks if the
AsmParserContext was passed in, to not waste time on information, that
isn't requested.
NAS-139751 / 26.0.0-BETA.1 / Fix migration edge-case for SMB shares (#18195)
The migration for SMB shares can fail with the following error:
```
sqlalchemy.exc.ObjectNotExecutableError: Not an executable object:
'UPDATE sharing_CIFS_SHARE SET cifs_purpose = :purpose,
cifs_auto_dataset_creation = :autods, cifs_auto_snapshot = :autosnap
WHERE id = :shareid'
```