[VPlan] Demarcate VPIs that gen scalars (NFC) (#196207)
Certain VPInstruction opcodes generate single-scalars, others generate
vectors, and there are yet others that could generate either. Make this
clear in the code, by factoring the exact condition and asserting on
each opcode. This also makes it clear that the handling for
Logical(And|Or) is incomplete, and lays the groundwork for further
extending the opcodes handles by VPInstruction.
net/frr: OSPFv3 handle grouped policy objects consistently
Present flat prefix-list and route-map entries as logical groups in relations. Protect every member of a referenced group from deletion and render references whenever any member of the selected group is enabled.
net/frr: OSPF handle grouped policy objects consistently
Present flat prefix-list and route-map entries as logical groups in relations. Protect every member of a referenced group from deletion and render references whenever any member of the selected group is enabled.
net/frr: BGP handle grouped policy objects consistently
Keep the existing flat storage for prefix lists, AS-path lists, community lists, and route maps while presenting each logical group as one model relation option. This avoids a fragile configuration migration and retains compatibility with existing UUID references.
Add a shared FRR controller guard which prevents deleting any member of a logical group while one of its entries is referenced. Group list entries by their displayed name or number and clarify the corresponding form help.
When rendering BGP, consider a logical group enabled when any of its entries is enabled. Apply this consistently to neighbor and peer-group policy attachments, redistribution route maps, and route-map matches.
[SPARC] Refine instruction itinerary classes (#225328)
Split up itinerary classes to better match the LEON5 scheduling
information.
Changes:
- Split integer and floating-point loads into IIC_ld, IIC_fpu_ld, and
IIC_fpu_ldd.
- Split floating-point stores into IIC_fpu_st and IIC_fpu_std.
- Separate direct calls (IIC_call) from jumps and JMPLs (IIC_jmp).
- Rename IIC_ldstub to IIC_atomic and use it for LDSTUB, SWAP, and CASA.
- Add distinct integer-branch and floating-point-branch classes.
- Add a dedicated floating-point compare class.
iperf3: updated to 3.22
3.22
Security notes
Thanks to Claude and Ada Logics for finding and reporting two
potential security vulnerabilities. One is a remote
use-after-free in iperf_server_api.c (ANT-2026-E5BA80X9 /
CVE-2026-101283) and the other is a heap buffer overflow in
iperf_auth.c (ANT-2026-FXH14FHV / CVE-2026-101276).
Thanks to Justin Stitt for reporting and fixing a heap-buffer
overflow was fixed in iperf_auth.c.
Thanks to Ravindu Lakmina Munaweera (Github: @Ravi-lk) for
reporting and fixing a DOS infinite-loop (CVE-2026-102253).
Thanks to Dirk Müller for finding and reporting an issue with
[30 lines not shown]
[ORC] Use __unw_add_dynamic_eh_frame_section/__unw_remove_dynamic_eh_ frame_section in RegisterEHFrames.cpp (#212260)
The ORC runtime already uses __unw_add_dynamic_eh_frame_section to avoid
'FDE is really a CIE' errors on libunwind. Apply the same approach to
the non-ORC-runtime EH frame registration path.
Solves issue: https://github.com/llvm/llvm-project/issues/55681
AMDGPU: Use LiveIntervals instead of LiveVariables in SIOptimizeVGPRLiveRange (#227252)
Drop the LiveVariables dependency and only use LiveIntervals.
The legacy pass manager cannot schedule a pass requiring both
LiveIntervals and LiveVariables here, since LiveVariables (and its
UnreachableMachineBlockElim dependency) invalidates the LiveIntervals
just computed for it. In the AMDGPU pipeline, anchor the pass after
MachineLoopInfo instead of PHIElimination so LiveIntervals is computed
before PHIElimination, which is required anyway: the pass needs SSA and
introduces new PHIs. Preserving SlotIndexes keeps the transitive last-user
chain intact.
Since LiveVariables is no longer maintained past this point, PHIElimination
now splits critical edges using LiveIntervals, which accounts for most
of the test churn: LiveIntervalCalc drops kill flags and adds dead flags.
Co-authored-by: Claude Opus 5 <noreply at anthropic.com>
[mlir] Test the final-policy remark on a failing pipeline without verification (#227276)
#226258 changed mlir-opt to finalize the remark policy on every exit from
`performActions`, including when the pass pipeline fails. Before that, a
failing pipeline returned early, and remarks deferred by
`--remark-policy=final` were only emitted later from `~MLIRContext`. By then
the `SourceMgrDiagnosticHandler` had been destroyed, so the remarks were
silently dropped.
The test added in #226258, `remark-final-verify-diagnostics.mlir`, does not
catch this regression: it runs with `--verify-diagnostics`, and before #226258
the verifier's callback was never unregistered from the context. That leaked
callback still received the remark emitted from `~MLIRContext`, so the test
passed with or without the fix.
Replace it with `remark-final-pass-failure.mlir`, which runs the same failing
pipeline without `--verify-diagnostics` and checks the printed remark with
FileCheck. This test fails before #226258 and passes after it.
Assisted-by: Claude Code (Claude Opus 5.5)
AMDGPU: Restore dropped EXEC/SCC defs on SI_KILL_F32_COND_IMM
These pseudos may clobber scc, so they need the def on the instruction
definition. c16f776028dd added a let block over the defm, overriding the
[EXEC, SCC] defs in the base PseudoInstKill class.
With the defs gone, selection was free to leave a compare result in SCC
across the kill. #134718 then marked SCC live-in to the split block to
satisfy the verifier, which can probably cleaned up. The result is visible
in skip-if-dead.ll: in scc_use_after_kill_inst the s_cbranch_scc0 after the
kill consumed the exec update's SCC instead of the s_cmp_lg_u32 it was
selected for.
Pass the extra defs as a multiclass parameter so an override cannot drop
the mandatory ones again. Selection now sinks the compare past the kill, so
SCC is never live across it and the dead flags from a3cf6f45fb68 are
correct as written.
Co-authored-by: Claude Opus 5 <noreply at anthropic.com>
[Plugins] Address review comments on -plugin-arg (#227545)
Address comments after #226773:
* Accept an empty argument again (-plugin-arg=<plugin>,). Tested by
tut-simplify-cfg1.ll
* Reject an argument for a name shared by several plugins.
* Remove parsePassPluginCommandLine. Polly and the Bye example, which
keep cl::opt, call cl::ParseCommandLineOptions from ParseArguments.
* Drop cl::opt from the IRTransforms example: ParseArguments takes v1,
v2 or v3.
* Test -plugin-arg diagnostics.
LLM-aided
py-slugify: updated to 9.1.2
9.1.2
- Skip the transliteration backend for ASCII-only input under both algorithms, avoiding the ~3 MB text-unidecode table import for the common ASCII case. Output is unchanged, including the frozen legacy differential
py-astroid: updated to 4.3.3
4.3.3
Bug Fixes
Preserve the length of inferred list and tuple concatenations when an element
has multiple possible values. An ambiguous or uninferable element is now
represented as unknown instead of being expanded into multiple sequence items.
Fix TypeError in ClassDef.getitem when __class_getitem__ is uninferable.
Fix AssertionError in NodeNG.root() when inferring Class.__bases__, which previously returned a parentless Tuple.