[clang][lit] Fix spirv-tools-err.c when LIT_USE_INTERNAL_SHELL=0 (#185876)
Only the internal shell parser is able to process an operator in the
middle of a command. For the other shells, the operator must appear in
the beginning of the line.
[SPIRV] fix `alloca` -> `OpVariable` lowering (#164175)
fixes #163777
Test was written with help from Copilot
---------
Co-authored-by: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
[libc] Fix detection of cfloat128 (#185486)
Building compiler-rt with aarch64-buildroot-linux-gnu-gcc 15.2 causes a
build error:
```
compiler-rt-22.1.0/cmake/Modules/../../libc/src/__support/CPP/type_traits/is_complex.h:44:31:
error: 'cfloat128' was not declared in this scope; did you mean 'float128'? [-Wtemplate-body]
```
According to
https://gcc.gnu.org/onlinedocs/gcc-15.2.0/gcc/Floating-Types.html
__float128 is not available on aarch64.
Analyzing the gcc defines for aarch64 seems to prove it:
```
$ aarch64-buildroot-linux-gnu-gcc -v
Target: aarch64-buildroot-linux-gnu
gcc version 15.2.0 (Buildroot 2026.02-114-gdadec9da56)
$ echo | aarch64-buildroot-linux-gnu-gcc -dM -E - | grep __GCC_IEC_559_COMPLEX
[26 lines not shown]
[clang][modules] Unlock before reading just-built PCM (#183787)
Implicitly-built modules are stored in the in-memory cache of the
`CompilerInstance` responsible for building it. This means it's safe to
release the lock right after building it, and read it outside of the
critical section from the in-memory module cache. This speeds up
dependency scanning in a statistically significant way, somewhere
between 0.5% and 1.0%.
[NFC][analyzer] Clarify current LocationContext and CFGBlock (#185107)
The analyzer often uses the current `LocationContext` and `CFGBlock`,
for example to assign unique identifiers to conjured symbols.
This information is currently handled in a haphazard way:
- Logic that determines this is often duplicated in several redundant
locations.
- It is stored in `NodeBuilderContext` objects, despite the fact that it
is not actually used for building (exploded) nodes.
- Many methods pass it around in arguments, while many others use it
through the field `NodeBuilderContext *currBldrCtx` of `ExprEngine`.
- This `currBldrCtx` points to local variables in random stack frames,
e.g. there is an early return in `ExprEngine::processBranch` where it
becomes stale (but AFAIK it is never dereferenced after that point).
This commit starts a transition to a more principled system, where there
is a single canonical source for accessing this information (methods of
`ExprEngine`), which is populated once per `dispatchWorkItem` call, as
[8 lines not shown]
py-chardet: updated to 7.0.1
7.0.0 (2026-03-02)
Ground-up, MIT-licensed rewrite of chardet. Same package name, same
public API — drop-in replacement for chardet 5.x/6.x.
**Highlights:**
- **MIT license** (previous versions were LGPL)
- **96.8% accuracy** on 2,179 test files (+2.3pp vs chardet 6.0.0,
+7.7pp vs charset-normalizer)
- **41x faster** than chardet 6.0.0 with mypyc (**28x** pure Python),
**7.5x faster** than charset-normalizer
- **Language detection** for every result (90.5% accuracy across 49
languages)
- **99 encodings** across six eras (MODERN_WEB, LEGACY_ISO, LEGACY_MAC,
LEGACY_REGIONAL, DOS, MAINFRAME)
- **12-stage detection pipeline** — BOM, UTF-16/32 patterns, escape
[20 lines not shown]
py-tables: updated to 3.11.1
Changes from 3.11.0 to 3.11.1
* Fix blosc2 loading (:issue:`1305`, :issue:`1306`).
Changes from 3.10.2 to 3.11.0
* Add support for Python 3.14.
* Set Cython "freethreading_compatible" directive.
Please refer to https://www.pytables.org/cookbook/threading.html
for details about threading support.
* Python wheel packages are now generated exploiting limited API and
stable ABI (`abi3`).
[ARM] Use FPRegs for fastcc calling convention detection. (#184593)
This was using VFP2, but nowadays should use hasFPRegs to detect the
effective calling convention.
Fixes #109922.
[clang][dataflow] Add basic modeling for compound assignments. (#179058)
Do our best to assign a value to the left-hand-side storage. Do not
model the actual arithmetic operation yet; the value is going to be
unknown in case of compound assignments. But either way, simularly to
#178943,we need to at least make sure that the old value does not stick
around. And it's better to conjure a fresh value than to leave it
completely unmodeled because subsequent loads from that location need to
produce consistent results.
Additionally make sure that the storage location is correctly propagated
in regular assignments too, even if we couldn't produce a fresh value at
all.
---------
Co-authored-by: Yitzhak Mandelbaum <ymand at users.noreply.github.com>
[MLIR] Update DIDerivedType To Support File, Line And Scope (#185665)
This PR updates `DIDerivedTypeAttr` to support optional file, line and
scope parameters in the same way as `DICompositeTypeAttr`. These
parameters are already supported in the `llvm::DIDerivedType`
constructor and were hardcoded to nullptr/0, they are now accessible
from MLIR.
The existing `llvmir-debug.mlir` test has been updated to test these
changes.
[clang][SPIRV] Coerce pointer kernel arguments to global AS (#185498)
SPIR-V does not allow pointer kernel arguments to be in the generic
address space. For offload, we already coerece them to the global
address space if not specified.
We are seeing that we need to do the same for SPIR-V directly as some of
the liboffload unit tests are compiled for `spirv64` directly, otherwise
we produce invalid SPIR-V.
---------
Signed-off-by: Nick Sarnie <nick.sarnie at intel.com>
[clang-tidy][NFC] Don't qualify names unless strictly necessary (#185169)
We have a de-facto policy in clang-tidy to not qualify names unless
absolutely necessary. We're *mostly* consistent about that (especially
in new code), but a number of deviations have accumulated over the
years. We even have cases where the same name is sometimes qualified and
sometimes not *in the same file*. This makes it jarring to read the
code, and, I imagine, more confusing for newcomers to contribute to the
project (do I qualify X or not?). This PR tries to improve the situation
and regularize the codebase.
[SPIR-V] Fix lowering of declarations with hidden visibility (#185029)
They should be translated to SPIR-V and have Import linkage (unless they
are Interface variables).
Also add a test for protected visibility, just to make sure, that we are
aligned it its translation.
llvm-*: Use SYMLINKS for unprefixed LLVM binutils
Previously they were hard links. This change will support future
packaging changes by decoupling the prefixed (e.g. llvm-ar) and
unprefixed (e.g. ar) names.
Reviewed by: dim, ivy
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D55693