textproc/tgrep: Update distinfo and bump port revision
The tag v1.2.0 has been re-created after the initial release.
Reported by: Roman Asendorf (via private email)
[CIR][NFC] Share getSuccessorRegions across region-branch ops (#220512)
Four of the ten CIR ops that declare `RegionBranchOpInterface` directly
had identical `getSuccessorRegions` bodies. The parent may enter any of
their regions, and every region exits back to the parent. This moves
that body into a new TableGen base class,
`CIR_EnterAnyRegionBranchOpBase`, and puts `ScopeOp`, `CaseOp`,
`SwitchOp` and `TernaryOp` on it. The stale doc comments above the
deleted `ScopeOp` and `TernaryOp` definitions go too.
`IfOp`, `GlobalOp`, `AwaitOp` and `CoroutineOp` keep their own
definitions because their successors differ. `IfOp` exits straight to
the parent when the else region is empty, `GlobalOp` skips empty ctor
and dtor regions, and `AwaitOp` and `CoroutineOp` send each region to
specific successors.
`CleanupScopeOp` and `TryOp` have the same successors today, but both
are wrong. The cleanup region runs after the body, and a catch handler
runs after the try body unwinds, so neither is an entry from the parent.
[3 lines not shown]
[CIR] Fix cir.try successor regions
Stacked on #221222, which adds the `requireAllReachable` flag the tests use.
`TryOp::getSuccessorRegions` reported the try region and every handler region as
alternative entries from the parent, and every region exit as going back to the
parent. That lets a handler run without the try body. A handler runs after the
try body unwinds, not instead of it.
This reports what the op executes. The parent enters the try region. A
`cir.resume` ending the try region unwinds into the handlers, and the exception
type decides which one runs. Every other exit, including a handler's own
`cir.resume`, leaves the op.
A try body ends in `cir.resume` once FlattenCFG has flattened an inner cleanup
scope, or an inner `cir.try` with an unwind or filter handler, and
`CIRTryOpFlattening` then sends each such resume to the handler dispatch block,
so this edge matches the lowering. A try with no handlers has nowhere to unwind
to, so its `cir.resume` leaves the op.
[21 lines not shown]
llc: Disable test from #228248 for EXPENSIVE_CHECKS builds (#231455)
Do what the llc-pipeline tests do and just avoid dealing with the extra
verifier runs inserted by default in EXPENSIVE_CHECKS.
[CIR] Fix cir.cleanup.scope successor regions
Follow-up to #220507, split out of the review of #220512.
`CleanupScopeOp::getSuccessorRegions` reported the body and the cleanup region
as two alternative entries from the parent, and every region exit as going back
to the parent. That lets the cleanup run without the body and leaves no edge
from the body to the cleanup. The comment right above the code said the
opposite.
This reports what the op actually executes. The parent enters the body. A body
exit that triggers the cleanup enters the cleanup region. The cleanup region
exits to the parent.
Whether a body exit triggers the cleanup depends on the terminator and the
cleanup kind. `cir.resume` leaves while unwinding, so it runs the cleanup when
the kind includes EH. `cir.yield` and `cir.co_return` are normal exits, so they
run it when the kind includes normal. `cir.resume` appears in an unflattened
body once an inner cleanup scope has been flattened, and `FlattenCFG` handles
[29 lines not shown]
[lldb][minidump][test] Enable more minidump tests on AArch64 (#231448)
I want to get to a point where we can have an annotation like
requiresMinidumpSave. Instead of spelling out the supported
architectures each time.
This first step is enabling them on AArch64 and seeing what happens.
They seem fine on my Graviton instance, but there might be some problems
on systems with different register state.
Some of the register mismatches might be bugs. I'm not going to fix
those, I just want to document the current state.
[RISCV] Model Zvzip costs for fixed-length shuffles (#227677)
Teach the RISC-V TTI to recognize interleave and deinterleave shuffles
that can be implemented with vzip.vv or vunzipe.v/vunzipo.v. Compute
their costs using the operand containing the interleaved data: the
destination of vzip.vv and the source of vunzipe.v/vunzipo.v.
Assisted-By: Trae CLI (GPT-5)
[Machine Outliner][RISCV] Input section aware machine outlining (#226126)
[Machine Outliner][RISCV] Input section aware machine outlining
Currently machine outliner refuses to outline from named section
functions because the callers of the outlined function could potentially be in
different input sections and since outlined function can only be in one of
the input section, this will lead to cross-section calls that breaks the
assumption around the code being all in the same section.
This PR fixes the issue by partitioning the candidates of a repeated
sequence by their parent function's input sections and emitting the outlined
function within the same section. An outlined function inherits its parents'
input section.
This input section based outlining behavior is opt-in via
`TargetInstrInfo::supportsSectionAwareOutlining()`, which
defaults to false and has been enabled only for RISCV.
[4 lines not shown]
[mlir][toy] Add missing spacing to tensor literal closing bracket (#223275)
There's a missing space before the right closing bracket of tensor
literals for the Toy language. This PR fixes the AST dumper to include
it.
[CodeGen] Let canInsertSelect() describe the select expansion (NFC) (#230027)
`canInsertSelect()` only reports latencies, but `insertSelect()` may emit
more than one instruction and may clobber physregs. For example, on
AArch64 a `cbz`/`tbz` condition needs a flag-setting `subs`/`ands` before the
`csel`, which clobbers NZCV.
Replace the out-parameters with a new SelectExpansion struct that holds
the latencies plus NumInsts and ClobberedPhysRegs.
These new fields are not used yet in this commit, but will be wired in a
follow-up commit to Early If Conversion.
Note that these fields are only implemented for AArch64 for now. Targets
which do not support the new struct will return `0` in NumInsts and
default to the existing behavior.
This PR on it's own is an NFC, but the new API will be used by #218415
IR: Add wasm_emscripten_invokecc calling convention keyword
WASM_EmscriptenInvoke had no textual IR spelling and was printed as
cc99. Tests using cc99 as an arbitrary custom convention now use cc1000.
Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
[CIR] Fix cir.try successor regions
Stacked on #221222, which adds the `requireAllReachable` flag the tests use.
`TryOp::getSuccessorRegions` reported the try region and every handler region as
alternative entries from the parent, and every region exit as going back to the
parent. That lets a handler run without the try body. A handler runs after the
try body unwinds, not instead of it.
This reports what the op executes. The parent enters the try region. A
`cir.resume` ending the try region unwinds into the handlers, and the exception
type decides which one runs. Every other exit, including a handler's own
`cir.resume`, leaves the op.
A try body ends in `cir.resume` once FlattenCFG has flattened an inner cleanup
scope, and `CIRTryOpFlattening` then sends each such resume to the handler
dispatch block, so this edge matches the lowering. A try with no handlers has
nowhere to unwind to, so its `cir.resume` leaves the op.
[18 lines not shown]
[SPIRV] Don't cache SyncScope IDs across LLVMContexts in getMemScope (#229444)
`getMemScope()` kept the SyncScope IDs of `subgroup`, `workgroup` and
`device` in function-local statics, initialized from the LLVMContext of
the first call. SyncScope IDs are per context and assigned in
registration order, so a later context that registered these scopes in a
different order gets the wrong Scope operands. For example, after a
first module that uses `syncscope("device")`, `syncscope("workgroup")`
and `syncscope("subgroup")` (in that order), a module in a new context
that uses them in the reverse order is emitted with `Device` scope for
its subgroup atomics and `Subgroup` scope for its device atomics.
This doesn't show up in `llc`, which compiles a single module, but it
does when the back-end is used as a library that compiles each module in
a fresh context. We hit it in Julia's GPU compiler, where device-scope
atomics in kernels compiled later in the session silently became
workgroup or subgroup atomics.
The fix looks the IDs up in the given context on every call.
[6 lines not shown]
TableGen: Move value reference locations into Record (#231411)
RecordVal kept reference locations that only the TableGen language
server uses, but every copy of every field paid for them. Keep them in
the owning Record instead. This shrinks RecordVal from 48 to 32 bytes.
Parsing AMDGPU.td with llvm-tblgen --null-backend, peak memory drops
from 834 MB to 638 MB with 22% fewer page faults.
Add a language server test for references to fields and template
arguments, which were not covered before.
Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
devel/py-cclib: Update 1.7.1 -> 1.8.1
- Switch to the PyPI since upstream moved to pyproject.toml with
versioningit
- Switch from distutils to pep517
- Add new runtime dependencies: packaging, periodictable, scipy
- Add concurrent (installs console scripts) and NO_ARCH
- Refresh pkg-descr
Sponsored by: https://watchgoose.com
security/strongswan-legacy: do not use a temp file in ping_hosts.sh
The temp file is not ensured to be owned by us so use the proper
one.
Also remove /var/db/hosts which was never used in the code or
documented as such.
Reported by: Adam Korczynski of Ada Logics using Anrophic
prosody: update to 13.0.7
Changes since 13.0.3:
13.0.7:
Minor changes
rostermanager, mod_roster: Include 'approved' attribute in roster items (thanks singpolyma)
util.startup: Always apply umask (thanks Max Hearnden)
Update TLS profile data from Mozilla/TLSRef
net.server_epoll: Disable read timeouts on server sockets
net.unbound: Reset and apply new config on reload
net.unbound: Simplify by removing cancel()
util.poll: Reject file descriptors outside of FD_SETSIZE in all methods
net.websocket: Release connection and input state on disconnect
net.server_select: Release queued strings on forced close
net.unbound: Let in-flight queries complete after re-initialization
net.server_epoll: Release pending write buffers on destruction
[100 lines not shown]
[flang-rt] Preserve fatal diagnostics when allocation fails
Validate the array-entry format and value count before printing error message.
Print the validated message in bounded pieces through the existing
termination helpers, avoiding allocation of a formatted message and the
custom decimal conversion. Concurrent failures may interleave their output.
Document the fixed-entry caller contract and mark all three fatal-error
entries for device compilation. Test large mismatched counts,
including long text and integer limits.
Check the real runtime diagnostic in the array-entry tests and remove the
allocation-failure regression and its static-runtime lit feature.
[VPlan] Switch fn in replaceUsesWithIf to User ptr (NFC) (#229144)
Changing the function to accept a User ptr instead of a User ref helps
improve some code.
[lldb][minidump][test] Re-enable and xfail TLS test (#231425)
This has not been running / never was, because it did not have the test_
prefix. On both AArch64 and x86_64 (the two architectures we can save
minidumps on), we find the variable but its value is 0. I assume it has
always been this way, so xfail it.
[CIR][CodeGen] Share the EH personality selection logic (#223421)
Deduplicates the EH personality selection (`getEHPersonality`,
`getCXXEHPersonality`) between CIR and classic CodeGen, taking the
classic
implementation. CIR's copy lacked the z/OS, Wasm and GNUstep-on-CygMing
cases;
none are reachable in CIR today, so no test changes.
Assisted-by: Claude Code (Claude Fable 5.1).