[orc-rt] Move ErrorTest death tests to an ErrorDeathTest suite. (#209476)
GoogleTest recommends putting death tests in a suite whose name ends in
"DeathTest": it runs those suites before all others, which avoids the
fork-after-threads hazard that can make death tests flaky.
Move the nine EXPECT_DEATH tests in ErrorTest.cpp from the ErrorTest
suite to a new ErrorDeathTest suite. Only the suite name changes; the
test bodies are untouched.
Now that bad144 handling is isolated to the places that care about it,
garbage-collect it from all of the various machine-dependent files that
have been cargo-culting it around needlessly for 20+ years.
Version bump to 11.99.7 because this changes the size of struct cpu_disklabel
on some platforms, and that structure is exposed in the module ABI.
Reapply "[IR][NFC] Drop vtable from PassConcept/PassModel" (#208168) (#209414)
The PassConcept/PassModel vtable has a size of 64 bytes (offset to top,
RTTI pointer, complete object destructor, deleting destructor, run,
printPipeline, name, isRequired), which add up to 53kiB (all
targets)/44 kiB (single-target). As more back-end passes get ported to
the new pass manager, this size will increase.
Remove the vtables by replacing the virtual dispatch with explicit
function pointers, initialized when adding the pass to the pass manager.
While this very slightly increases the cost of adding a pass, there's
also a very slight win from avoiding the vtable indirection when
running/destructing the pass.
Use a unique_ptr with a custom deleter to store PassConcept instances.
This avoids new/delete size mismatches.
This reverts commit 6ae5965f26e53d7338a779a73725a597a4d136e5.
[SystemZ] Add support for strict_pseudo_fmin/fmax (#209434)
Mode 2 of vfmin/vfmax is also compatible with strict semantics
(producing invalid operation exception for both qNaN and sNaN and
returning RHS if masked.)
py-urwid: updated to 4.0.4
Urwid 4.0.4
New features
* urwid.Colmns: re-calculate column_widths only if pack widgets changed
Bug fixes
* Fix IndexError in decompose_tagmarkup when a nested sublist is empty
Documentation
* Typing: partially annotate examples and fix annotations
* urwid.WidgetContainerMixin: return use protocol base class
py-svglib: updated to 2.0.2
2.0.2 (2026-06-18)
Supply-chain hygiene release — no code changes.
The 2.0.1 PyPI attestation was generated by a manual `workflow_dispatch` run
from `refs/heads/main` that raced ahead of the release event. As a result the
Sigstore certificate embedded in the PEP 740 attestation identified
`refs/heads/main` as the source rather than `refs/tags/v2.0.1`, making it
impossible to verify the package against the tagged commit. This release is
published exclusively via the `release: [published]` trigger so the attestation
identity is `refs/tags/v2.0.2`.
2.0.1 (2026-06-17)
Supply-chain hygiene release — no code changes.
This release replaces 2.0.0, which was published directly with `uv publish`
[26 lines not shown]
[analyzer] Uplift UnSatAtErrorNodeDueToRefinedConstraint test after smarter range inference (#209443)
Commit db28e48d67e3b0c44d88be9ea2d28eca2d239a9a taught
`SymbolicRangeInferrer` to derive the range of
`BO_Add`/`BO_Sub`/`BO_Mul` symbols from their operands via
`inferFromCorners`. This broke
`FalsePositiveRefutationBRVisitorTestBase.UnSatAtErrorNodeDueToRefinedConstraintNoReport`.
The test relied on the analyzer not being able to bound `int y = x + n;`
(with `x:[0,2]`, `n:[1,2]`), so that `reportIfCanBeTrue(y == 5)` created
a false state that only the Z3 crosscheck could refute. Now the analyzer
natively bounds y to `[1,4]`, proves `y == 5` infeasible, and never
emits `CAN_BE_TRUE`, so the non-Z3 assertion lost its second line.
Addition can never produce a gap (the sum of two intervals is a full
interval), so the test's premise is no longer achievable with '+'.
Switch to multiplication: for `x:[0,2]`, `n:[1,2]` the reachable
products are `{0,1,2,4}`, but `inferFromCorners` over-approximates `x*n`
to the contiguous range `[0,4]`. So `y == 3` is inside the inferred
[10 lines not shown]
[AlwaysInliner] Do not inline on attribute mismatches
7bdca287b102ee935e982613dba2264cbc7a32ad made it so that the inliner
will not inline functions with mismatched target attributes regardless
of the presence of alwaysinline. However, always-inline never actually
called into this function so would still do the illegal thing. I believe
the motivation for not putting it here originally/recently was that
clang does some rudimentary target feature checks, but we should not be
crashing on valid IR, and we do generate IR that caused crashes in ISel
due to this (e.g., ICP in ThinLTO backend actions).
Reviewers: nikic, aeubanks
Pull Request: https://github.com/llvm/llvm-project/pull/209345
[InlineCost] Drop Requirements around ByVal Arguments
The underlying behavior was fixed in
e47359a925b88cd081ea85d10b55b0625d17b212, but given that the example
was marked alwaysinline, it bypassed any legality checks it would have
otherwise hit.
See
https://github.com/llvm/llvm-project/pull/97306#discussion_r1679306183
for discussion around which address space we should be using/legality.
This is necessary to preserve the behavior in
byval-with-non-alloca-addrspace.ll after we enable function attribute
compatibility checks in always-inline.
Reviewers: aeubanks, nikic, arsenm
Pull Request: https://github.com/llvm/llvm-project/pull/209344
rumdl: update to 0.2.33.
0.2.33
Fixed
md044: stop flagging proper names inside bare URLs (5e9b51a)
md040: recognize file-extension fence labels as known languages (686ba20)
cli: replace unhelpful panic message with an actionable one (#717) (37ac880)
reflow: re-search cached inline-math after a dollar sign (a30a4f9)
reflow: support multiple backticks and optimize code span parsing (81944c5)
md013: stop reflow from starting lines with block markers (eebd18b)
Performance
reflow: implement cached match lookups to prevent quadratic suffix scanning (1cc8d2b)
0.2.32
[11 lines not shown]
[mlir][llvm] Preserve function entry count metadata (#204707)
Fixes #202374.
Preserve LLVM function `!prof` metadata for:
- `synthetic_function_entry_count`
- `function_entry_count` with import GUID operands
The importer represents the entry count, count kind, and trailing import
GUID operands in a single `#llvm.function_entry_count` attribute,
validates malformed operands before mutating the operation, and exports
the metadata through `llvm::Function::setEntryCount`.
Tests cover import, export, malformed metadata operands, synthetic
counts, synthetic counts with trailing operands, import GUID
round-tripping, and raw i64 bit-pattern preservation.
Checks:
- `git diff --check`
[3 lines not shown]
[clang] Prevent nested RecoveryExpr in BuildConvertedConstantExpression (#207072)
when BuildConvertedConstantExpression receives an expression that is
already a RecoveryExpr, return it directly instead of wrapping it in
another RecoveryExpr
Fixes #186656
Fixes #202117