[PowerPC] Fix MSan failure in LowerBUILD_VECTOR (#200260)
Initialize SplatBitSize to fix use-of-uninitialized-value error detected
by MemorySanitizer in ba7d42b.
[llvm] Fix LLVMOrcTargetProcess symbol export with MinGW/Cygwin shared libs (#174266)
When any symbol in a DLL carries dllexport, the MinGW/Cygwin linker
switches to exclusive-export mode and omits all other symbols from the
export table. LLVMOrcTargetProcess uses LLVM_ALWAYS_EXPORT (__declspec(
dllexport)) so its symbols can be found via GetProcAddress from a
statically linked executable, which triggers this behaviour.
Add --export-all-symbols to LLVMOrcTargetProcess for MinGW/Cygwin
BUILD_SHARED_LIBS builds to restore full symbol export.
[Instrumentor] Add cast instruction instrumentation support (#198224)
We now allow to have instrumentation opportunities for many instructions
(=opcodes) to bundle common classes together. Users can use filters on
the opcode, type-id, and size to statically select what they are
interested in.
Coded with Claude.
[CIR] Omit nsw/nuw on integer vector binops (#199123)
CIRGen was attaching `nsw` to `cir.add` on `!cir.vector` integer types
because the signed-overflow path keys off `compType` (the element type,
still `!s32i`), while the verifier only allows `nsw`/`nuw` on scalar
`!cir.int` results. That mismatch showed up 144 times in the libcxx
CIR sweep on `std::experimental::simd` — `experimental/__simd/vec_ext.h`
increment/decrement (`__data + 1` / `__data - 1`).
Classic CodeGen never enters the signed-overflow block for vector
computation types; CIR now skips the scalar `nsw`/`nuw` path when the
MLIR operand is an integer vector, and uses `getAs<VectorType>()` for
`compType` so typedef-wrapped GCC vectors resolve the element type
correctly.
Regression test `vector-binop-overflow.cpp` checks scalar add still gets
`nsw` and vector add/sub/mul do not (CIR + LLVM + OGCG).
[VPlan] Predicate SCEVs in getSCEVExprForVPValue (NFC) (#199994)
Although the change could be functional in theory, it is very difficult
to find a test case.
[Instrumentor] Introduce BasePointerIO to communicate base pointer information (#197607)
Loads, stores, and later probably calls, can request a base pointer info
object from the user runtime. This object is queried right after the
base pointer of the operation is defined, and then passed to the
pre/post runtime calls of the loads and stores. This allows users to
inspect pointers early and once, but provide the analysis results to all
operations that might be executed in loops. A potential use case is to
lookup the size and start of the underlying object and then provide
those to the access runtime calls for in-bounds checking.
[flang][OpenMP] Fix crash on standalone ordered with depend(source|sink:) (#200193)
A standalone ordered construct using the pre-OpenMP 5.2 depend(source) /
depend(sink:) spelling crashed flang with an assertion failure in
buildConstructQueue ("Construct decomposition failed"), or emitted a
TODO when assertions were disabled.
These dependence types are valid on ordered since OpenMP 4.5, but flang
represents them internally as a doacross clause, which construct
decomposition only accepts from OpenMP 5.2. As a result, decomposition
produced an empty output and tripped the assertion at every OpenMP
version below 5.2 (including the default 3.1).
Lowering of the standalone ordered directive is not implemented yet
(genOrderedOp only emits a "not yet implemented" message and ignores the
construct queue). Build the construct queue only for the
block-associated variant and emit the TODO directly for the standalone
directive, so the decomposition that would otherwise assert is no longer
reached.
[5 lines not shown]
[Instrumentor] Add Cast instruction instrumentation support
We now allow to have instrumentation opportunities for many instructions
(=opcodes) to bundle common classes together. Users can use filters on
the opcode, type-id, and size to statically select what they are
interested in.
rtnetlink: Fix weight overflow in RTA_MULTIPATH
If the weight value is larger than 8 bits, set it to the maximum.
Also, only send RTA_WEIGHT if its value is not the default.
This reduces message size and matches the behavior of
non-multipath routes.
Reviewed by: emaste, markj
Differential Revision: https://reviews.freebsd.org/D57266
py-music21: update to 10.3.0
Music21 v10.3 is an incremental and backwards-compatible improvement to the v10 line that was released earlier this month. Highlights include proper tempi/metronome marks on score excepts via .measures(start, end) by @oxygen-dioxide, MIDI ability to skip the second-or-so delay before ending the MIDI file (by @SAY-5). Bug fixes on Fractions (by @jacobtylerwalls and me). Support for scores and audio in the marimo notebook system. And paradigms I learned from presenting music21 at PyCon 2026 in Long Beach (stricter Agents and issue policy; using Agents to fix problems with RST)
What's Changed
Stricter Agents w/ PR and Issue policy by @mscuthbert in #1894
Stream.measures(): collect MetronomeMark by default by @oxygen-dioxide in #1895
midi: addEndDelay=False to skip trailing rest on export (AI) by @SAY-5 in #1896
Standardize "* New in vX:..." by @mscuthbert in #1897
Bump idna from 3.13 to 3.15 by @dependabot[bot] in #1898
Add missing opFrac() to extendDuration() by @jacobtylerwalls in #1900
Support marimo notebook by @mscuthbert in #1899
Find other missing fraction conversions (opFrac) by @mscuthbert in #1901
Fix RST Problems by @mscuthbert in #1902
polish music21 for v10.3 by @mscuthbert in #1903