[qt/clang/llvm-project]: Summary of bulk changes made

KDE Git Services - Bulk Change <[email protected]>
Newsgroups gmane.comp.kde.cvs
Message-ID <[email protected]>
Git repository change summary for qt/clang/llvm-project
Pushed by mirror-service into branch 'upstream/users/jeanPerier/merge_memory_passes_2'.
Changed from 0000000000000000000000000000000000000000 to e0e7544fd7d593175f863e198d1e9e20824e74fa
Acknowledgement was received that this change introduces only existing code that has been pushed to another public open source repository.

This change contains the following new commits:

Git commit e9a17d03184d4389987a55e3eb6a306b71c74918 by Jean Perier (on behalf of root) on 20/07/2026 at 09:01..
[flang][NFC] Extract StackArrays analysis and rewrite into a header

Move InsertionPoint, StackArraysAnalysisWrapper, and AllocMemConversion
out of the anonymous namespace in StackArrays.cpp into a new
StackArrays.h header (in namespace fir), so the "which fir.allocmem can
be safely moved to the stack, and where" analysis and the heap-to-stack
rewrite pattern can be reused by other passes.

The dataflow internals (AllocationState, LatticePoint, AllocationAnalysis),
the command-line options, and all method definitions remain in the .cpp.
No functional change intended.
https://invent.kde.org/qt/clang/llvm-project/-/commit/e9a17d03184d4389987a55e3eb6a306b71c74918

Git commit e0e7544fd7d593175f863e198d1e9e20824e74fa by Jean Perier (on behalf of root) on 20/07/2026 at 15:22..
[flang] Add policy-driven allocation-placement pass

Introduce a new function-level pass, allocation-placement, that unifies the
stack/heap placement decisions currently split between the stack-arrays and
memory-allocation-opt passes. For each array allocation it consults a policy
to decide whether it should live on the stack (fir.alloca) or the heap
(fir.allocmem) and rewrites it accordingly, reusing fir::replaceAllocas for
stack-to-heap and the StackArrays analysis/rewrite for heap-to-stack (so
heap-to-stack only happens where it is provably safe).

The default policy (AllocationPlacementPolicy.h) is threshold-driven:
  - small constant-size arrays go on the stack within a per-function stack
    budget, otherwise on the heap;
  - big constant-size arrays: user variables stay on the stack, temporaries
    go on the heap;
  - runtime-sized arrays go on the heap;
  - an aggressive mode places all arrays on the stack (best effort).
User variables are distinguished from compiler temporaries via the presence
of a uniqued name. A hook lets downstream users override the thresholds per
allocation (e.g. for device routines or parallel regions).

The pass is not wired into any pipeline yet; it is reachable through fir-opt
and covered by isolated tests.
https://invent.kde.org/qt/clang/llvm-project/-/commit/e0e7544fd7d593175f863e198d1e9e20824e74fa
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.