diff options
| author | Demetrius Kanios <demetrius@kanios.net> | 2026-02-24 11:06:11 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-02-24 11:06:11 -0800 |
| commit | d269c36bafc6b9f06b8a79e618abfd2a417d6071 (patch) | |
| tree | 1376b3fd185583aa32229448f0f1fb2511eafb80 /offload/test/offloading/fortran/target-no-loop.f90 | |
| parent | f4577641d15a6625966a018715c98ba8fad65c83 (diff) | |
| download | llvm-main.zip llvm-main.tar.gz llvm-main.tar.bz2 | |
Currently, the post-sort verifications `WebAssemblyCFGSort` does in
assertion builds is quite expensive. Given the example of
[usagi-coffee/tree-sitter-abl](https://github.com/usagi-coffee/tree-sitter-abl),
we have one MASSIVE function with nearly 120K blocks. Sorting this is
fast, but the verifications after take some 40+ seconds (on my machine).
The culprit was the manipulation of the region `OnStack`. I've tried to
replace that with interval based verifications to make sure the regions
are well formed, well nested, and that the numbers of the blocks within
a region are within the interval of the numbers of the header and bottom
of the region.
This brings the aforementioned example down to well under a second spent
in the pass in an assertions build.
Diffstat (limited to 'offload/test/offloading/fortran/target-no-loop.f90')
0 files changed, 0 insertions, 0 deletions
