[X86][APX] Add VirtRegMap to non stack foldMemoryOperand too (#193423)
We need to query mapped physical register through VirtRegMap.
Fixes: https://godbolt.org/z/1KGj3aYeP
[MLIR][Python] Add `ConditionallySpeculatable` interface and `Pure` specifier (#195505)
This PR brings two features: the `ConditionallySpeculatable` op
interface and the `Pure` specifier for Python-defined ops.
The result is that you can mark an op as pure like:
```python
class PureOp(
TestPure.Operation,
name="pure",
traits=[Pure] # just like in the ODS!
):
a: Operand[IntegerType[32]]
b: Operand[IntegerType[32]]
res: Result[IntegerType[32]] = infer_result()
```
Then this op is both `NoMemoryEffect` and `AlwaysSpeculatable`.
Assisted-by: Copilot/GPT5.4
biology/iqtree: Fix build with clang 21
Fix build by removing redundant instantiations of function templates in
terraphast/lib/clamped_uint.cpp.
Sponsored by: The FreeBSD Foundation
[IR] Add elementwise modifier to atomicrmw (#189517)
This PR implements the IR side modifications of [[RFC] Add elementwise
modifier to atomicrmw](https://discourse.llvm.org/t/rfc-add-elementwise-modifier-to-atomicrmw/90134).
Design Decisions:
- In the IR, the current atomicrmw record layout looks like: [ptrty,
ptr, valty, val, operation, vol, ordering, syncscope, align]. To encode
elementwise, I decided to pack it into the operation field, which also
contains the math op (i.e. fadd, fmin, add etc...). I could have changed
the record structure, but that would be slightly more complicated.
- elementwise vector atomics can be vectors of integers because we can always scalarize legally
- elementwise vector atomics need to have power of 2 size. We can potentially remove this restriction later.
Assisted by AI.
[compiler-rt] Add MSVC CRT flags to ASan coverage test (#195719)
The ASan coverage test also links clang_rt.profile because it uses
-coverage. On Windows MSVC, this can fail if the test is linked with the
static CRT but clang_rt.profile was built with the dynamic CRT.
For example, a profile runtime that uses /MD may reference DLL CRT
symbols
such as __imp_* symbols. Add the same dynamic CRT flags directly to this
one test on Windows MSVC so it keeps linking when clang_rt.profile
changes.
[InlineOrder] Remove unused InlineHistoryMap (#195769)
This patch removes InlineHistoryMap, an unused variable. The last
use was removed by:
commit 3af427539bc6b85a9fe3334b9a0b43d347ea29ac
Author: Arthur Eubanks <aeubanks at google.com>
Date: Wed Apr 8 09:34:52 2026 -0700
[clang][P2719] Relax requirements for matching operator new and delete
The most recent revision of P2719 introduced very strict rules about
matching parameter sets between type aware operators new and delete.
The intention was to resolve the classic "no matching operator delete
has been found so the object will silently leak" problem. The strict
rules however made deleting objects that had a placement new
"impossible".
I missed this however as all of our large scale tests involved
projects that were already using manually implemented allocators
(often trying to support type isolation). The problem with this from
a validation point of view is simple: all of these projects had
existing class scoped operators, and the untyped delete was silently
selected, avoiding the need for a non-placement type-aware delete
that would conflict with the placement cleanup delete.
The next revision of P2719 resolves this by removing the exact type
[6 lines not shown]
[libunwind] Add SME detection for Apple platforms (#193630)
Copy SME detection sysctl code from ZA test. Also fix a
logic issue in the original code while being reviewed.
[libcxx] Remove ASan container overflow checks for SSO strings (#194208)
Essentially a revert of #79536, although manual given how much the code
has changed.
Doing container overflow checks on SSO strings is fundamentally unsound
due to how they interact with compiler optimizations within LLVM, which
assume that the entire object is dereferencable when it is live. LLVM
can sometimes insert speculative loads that will create false positives
when they try and load a partially filled SSO buffer. This was
previously prevented using inline asm barriers within std::string
itself. However, this can also manifest in other ways, with the
motivating example for the revert being GlobalOpt inserting a
speculative load of a std::variant containing a SSO std::string, causing
an ASan failure.
Uses/linux.mk: Restore i386 guard for linux-c7-*
Without this, when USE_LINUX_RPM=yes (LIB_DISTNAMES) is used with linux:c7 and
the port sets ONLY_FOR_ARCHS=amd64, the i686 RPM is still being added to
DISTFILES_amd64, causing fetching a file not in distinfo.
This fixes devel/linux-ltp build.
Reviewed by: arrowd
Fixes: 5aa75e1ca0fc Linuxulator ports: Introduce Rocky Linux 9
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D56796
(cherry picked from commit fa870156ad30556166c6ea81d345b41618cdcece)
Uses/linux.mk: Restore i386 guard for linux-c7-*
Without this, when USE_LINUX_RPM=yes (LIB_DISTNAMES) is used with linux:c7 and
the port sets ONLY_FOR_ARCHS=amd64, the i686 RPM is still being added to
DISTFILES_amd64, causing fetching a file not in distinfo.
This fixes devel/linux-ltp build.
Reviewed by: arrowd
Fixes: 5aa75e1ca0fc Linuxulator ports: Introduce Rocky Linux 9
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D56796
devel/llvm{15-22}-libs: fix PLIST_SUB for option-gated .so entries
Add OPTIONS_SUB=yes so the ports framework auto-populates PLIST_SUB
for CLANG, GOLD, LLDB, MLIR, OPENMP, and POLLY options. Add
LLDB_PLIST_SUB for PYTHON_ABIVER (llvm15-21). Remove broken manual
_ALL_OPTIONS comment-out block that was not functioning correctly.
Fixes poudriere packaging failure where %%CLANG%%, %%GOLD%%, etc.
were not being substituted in pkg-plist paths.
[NVPTX] Fix for LTO dwarf emission when multiple CUs with a mix of DebugDirectivesOnly and NoDebug (#190371)
Only emit the initial .loc dwarf directive if the CU requires debug
information. When a module contains multiple CUs where one is
DebugDirectiveOnly and the rest are NoDebug, we attempt to emit dwarf
for the NoDebug compile units leading to an assertion when calling
emitDwarfFile0Directive when in getOrCreateDwarfCompileUnit.
I added a lit test for this case which used to assert.
Expand sharing protocol tests for NFS
This commit converts some NFS tests into using lower-level
pynfs library to explicitly test server behavior and expands
test coverage for readdir operations.