[flang] Remove legacy stack-arrays and memory-allocation-opt passes
The unified allocation-placement pass now supersedes both the heap-to-stack
stack-arrays pass and the stack-to-heap memory-allocation-opt pass, and is the
default in the FIR optimizer pipeline. Remove the two legacy passes: their
TableGen definitions, the MemoryAllocation.cpp source, the memory-allocation-opt
command-line options, the enable-allocation-placement fallback switch, and the
addMemoryAllocationOpt pipeline helper. The pass-only portions of
StackArrays.cpp are dropped while its analysis and rewrite pattern, now shared
with allocation-placement, are kept.
The legacy tests are retargeted onto allocation-placement to show it reproduces
both prior behaviors: the stack-arrays tests use "stack-arrays=true", and the
memory-allocation-opt tests use the default policy (runtime-sized and big
constant-size temporaries go on the heap).
[flang] Enable allocation-placement pass by default
Make the unified allocation-placement pass the default in the FIR optimizer
pipeline in place of the legacy stack-arrays and memory-allocation-opt passes,
by defaulting -enable-allocation-placement to true. Passing
-enable-allocation-placement=false restores the legacy passes for comparison.
Add a -disable-allocation-placement switch that skips the pass entirely (wired
through addAllocationPlacement like the other optimizer passes), so codegen
tests can opt out of placement policy independently of the legacy fallback.
Update the pipeline-dump tests to expect AllocationPlacement, and disable the
pass in the alloca/allocmem codegen tests (alloc.fir, coordinateof.fir) so they
keep testing lowering rather than placement policy. Document the unified pass,
its policy, thresholds, and options in fstack-arrays.md.
[flang] Wire allocation-placement into the optimizer pipeline (default off) - memory passes unification [3/5] (#210745)
Add a hidden -enable-allocation-placement flag that, when set, replaces
the stack-arrays and memory-allocation-opt passes in the default FIR
optimizer pipeline with the unified allocation-placement pass. The flag
is off by default, so the legacy passes remain the default path and
behavior is unchanged.
When enabled, the pass runs with its default byte-size thresholds; the
-fstack-arrays strategy is forwarded through the new stackArrays option.
Assisted-by: AI
[lldb] Fix crash on creating string error (#212503)
It crashes because the `default` error string may not be a format string
compared to the `fallback` error string
textproc/treemd: update to 0.6.0
[0.6.0] - 2026-07-22
Added
- Remote Markdown documents - Open https:// URLs directly or use github:owner/repo shorthand to browse a repository's README
- GFM and Obsidian callouts - Render blockquote callouts such as > [!NOTE] with dedicated labels and styling
- Generated man pages - treemd --man-page prints a complete manual page suitable for installation with man
- Query-language documentation and integration coverage - Added user and implementation guides plus end-to-end fixtures for selectors, pipelines, expressions,
and section extraction
Changed
- Query evaluation and section extraction were unified - Chained selectors and pipelines now preserve their input context, while all heading-based extraction
uses the parser's byte offsets and code-block-aware structure
- Interactive editing is transactional - Checkbox and table edits are computed by pure, fence-aware transforms and recorded only after a successful edit; live
reload refuses to overwrite buffered changes
- TUI interaction was modernized - Esc consistently backs out, q quits, text-entry fields share editing shortcuts, status messages have a unified lifecycle,
and help/footer/palette content follows the active keybindings and theme
[19 lines not shown]
shells/oh-my-posh: update to 29.37.0
Features
add darken() and lighten() color shade functions (273394c), closes #7725
jujutsu: expose change ID prefix and rest (e84d617)
NVPTX: Add target names in TargetParser
Track the canonical sm name and other target information.
This will eventually be used to reduce the pain of maintaining
OffloadArch in clang; all of the dijoint targets share an
enum which makes target specific covered switches annoying.
Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
graphics/tesseract: unbreak build/packaging (+)
tesseract 5.5.3 now require asciidoctor to generate manpages instead of old asciidoc
Point port to textproc/rubygem-asciidoctor to get a right tool
PR: 297131
Approved by: portmgr blanket (fix build/packaging)
[AArch64] Mark FIXED_REGS register class as non-allocatable (#212250)
FIXED_REGS is not used for register allocation, but since it overlaps
the GPR classes via FP and SP, TableGen merges VG and FFR into the GPR
pressure set, giving it a static limit of 35.
The underlying GPR32all class has 33 registers: W0-W30, WZR, and WSP.
WZR and WSP are always reserved, leaving up to 31 allocatable registers
depending on whether W29 (FP) and W30 (LR) are reserved.
Marking FIXED_REGS non-allocatable removes VG and FFR from the pressure
set, reducing its static limit from 35 to 33 and its dynamic limit from
33 to 31. The corrected limit changes scheduling decisions made by the
register-pressure heuristics, which explains the test churn.
Assisted-by: codex
NVPTX: Add target names in TargetParser
Track the canonical sm name and other target information.
This will eventually be used to reduce the pain of maintaining
OffloadArch in clang; all of the dijoint targets share an
enum which makes target specific covered switches annoying.
Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
Pull up the following revisions(s) (requested by riastradh in ticket #2041):
sys/netinet/tcp_input.c: patch
tcp: Plug a 4-byte leak of kernel stack data through timestamps.
Addresses PR kern/60486