Skip to content

Seed alias analysis worklist in reverse post-order - #14290

Open
fitzgen wants to merge 1 commit into
bytecodealliance:mainfrom
fitzgen:seed-alias-analysis-in-rpo
Open

Seed alias analysis worklist in reverse post-order#14290
fitzgen wants to merge 1 commit into
bytecodealliance:mainfrom
fitzgen:seed-alias-analysis-in-rpo

Conversation

@fitzgen

@fitzgen fitzgen commented Sep 7, 2026

Copy link
Copy Markdown
Member

This visits a block's predecessors before the block itself, which minimizes the number of times we need to reprocess a block to reach the fixed point (ignoring backedges).

Here are the Sightglass results (faster on 13/26 of the PCA subset; up to 1.02x faster), plus some extra benchmarks that use 1000 different globals in order to create benchmarks with many alias regions (up to 16.27x faster).

Details
compilation :: cycles :: Sum Total

    Δ = 8422617.35 ± 280685.06 (confidence = 99%)

    c86906f168-A-rpo-seed.dylib is 1.15x to 1.16x faster than 5e00554696-baseline.dylib!

    ┌──────────┬──────────┬─────────────┬──────────┬─────────────────────────────┐
    │ Min      │ Max      │ Mean        │ Median   │ Engine                      │
    ├──────────┼──────────┼─────────────┼──────────┼─────────────────────────────┤
    │ 60331062 │ 64369397 │ 61754473.07 │ 61678752 │ 5e00554696-baseline.dylib   │
    ├──────────┼──────────┼─────────────┼──────────┼─────────────────────────────┤
    │ 51846162 │ 55688043 │ 53331855.72 │ 53253352 │ c86906f168-A-rpo-seed.dylib │
    └──────────┴──────────┴─────────────┴──────────┴─────────────────────────────┘

compilation :: instructions-retired :: Sum Total

    Δ = 7583044017.87 ± 17783614.28 (confidence = 99%)

    c86906f168-A-rpo-seed.dylib is 1.05x to 1.05x faster than 5e00554696-baseline.dylib!

    ┌──────────────┬──────────────┬─────────────────┬──────────────┬─────────────────────────────┐
    │ Min          │ Max          │ Mean            │ Median       │ Engine                      │
    ├──────────────┼──────────────┼─────────────────┼──────────────┼─────────────────────────────┤
    │ 168815527589 │ 168999930832 │ 168907183902.21 │ 168906273009 │ 5e00554696-baseline.dylib   │
    ├──────────────┼──────────────┼─────────────────┼──────────────┼─────────────────────────────┤
    │ 161221272391 │ 161466420307 │ 161324139884.34 │ 161323996892 │ c86906f168-A-rpo-seed.dylib │
    └──────────────┴──────────────┴─────────────────┴──────────────┴─────────────────────────────┘

compilation :: instructions-retired :: globals-1000-cfg

    Δ = 3488395020.90 ± 330370.05 (confidence = 99%)

    c86906f168-A-rpo-seed.dylib is 16.27x to 16.27x faster than 5e00554696-baseline.dylib!

    ┌────────────┬────────────┬───────────────┬────────────┬─────────────────────────────┐
    │ Min        │ Max        │ Mean          │ Median     │ Engine                      │
    ├────────────┼────────────┼───────────────┼────────────┼─────────────────────────────┤
    │ 3714492504 │ 3720971964 │ 3716830864.19 │ 3716697153 │ 5e00554696-baseline.dylib   │
    ├────────────┼────────────┼───────────────┼────────────┼─────────────────────────────┤
    │ 227560263  │ 229543940  │ 228435843.29  │ 228446605  │ c86906f168-A-rpo-seed.dylib │
    └────────────┴────────────┴───────────────┴────────────┴─────────────────────────────┘

compilation :: instructions-retired :: globals-1000-loop

    Δ = 3676743569.51 ± 269112.72 (confidence = 99%)

    c86906f168-A-rpo-seed.dylib is 14.98x to 14.99x faster than 5e00554696-baseline.dylib!

    ┌────────────┬────────────┬───────────────┬────────────┬─────────────────────────────┐
    │ Min        │ Max        │ Mean          │ Median     │ Engine                      │
    ├────────────┼────────────┼───────────────┼────────────┼─────────────────────────────┤
    │ 3938271014 │ 3942494061 │ 3939646001.25 │ 3939498236 │ 5e00554696-baseline.dylib   │
    ├────────────┼────────────┼───────────────┼────────────┼─────────────────────────────┤
    │ 262014252  │ 264993857  │ 262902431.74  │ 262817743  │ c86906f168-A-rpo-seed.dylib │
    └────────────┴────────────┴───────────────┴────────────┴─────────────────────────────┘

compilation :: cycles :: globals-1000-cfg

    Δ = 4080711.94 ± 12420.75 (confidence = 99%)

    c86906f168-A-rpo-seed.dylib is 11.78x to 11.85x faster than 5e00554696-baseline.dylib!

    ┌─────────┬─────────┬────────────┬─────────┬─────────────────────────────┐
    │ Min     │ Max     │ Mean       │ Median  │ Engine                      │
    ├─────────┼─────────┼────────────┼─────────┼─────────────────────────────┤
    │ 4353068 │ 4563437 │ 4458098.75 │ 4457209 │ 5e00554696-baseline.dylib   │
    ├─────────┼─────────┼────────────┼─────────┼─────────────────────────────┤
    │ 325067  │ 427413  │ 377386.81  │ 377755  │ c86906f168-A-rpo-seed.dylib │
    └─────────┴─────────┴────────────┴─────────┴─────────────────────────────┘

compilation :: cycles :: globals-1000-loop

    Δ = 4104661.05 ± 14351.30 (confidence = 99%)

    c86906f168-A-rpo-seed.dylib is 10.61x to 10.68x faster than 5e00554696-baseline.dylib!

    ┌─────────┬─────────┬────────────┬─────────┬─────────────────────────────┐
    │ Min     │ Max     │ Mean       │ Median  │ Engine                      │
    ├─────────┼─────────┼────────────┼─────────┼─────────────────────────────┤
    │ 4397623 │ 4666018 │ 4530267.27 │ 4533174 │ 5e00554696-baseline.dylib   │
    ├─────────┼─────────┼────────────┼─────────┼─────────────────────────────┤
    │ 370362  │ 491900  │ 425606.22  │ 428477  │ c86906f168-A-rpo-seed.dylib │
    └─────────┴─────────┴────────────┴─────────┴─────────────────────────────┘

compilation :: instructions-retired :: tinygo-json

    Δ = 107193076.80 ± 815883.64 (confidence = 99%)

    c86906f168-A-rpo-seed.dylib is 1.02x to 1.02x faster than 5e00554696-baseline.dylib!

    ┌────────────┬────────────┬───────────────┬────────────┬─────────────────────────────┐
    │ Min        │ Max        │ Mean          │ Median     │ Engine                      │
    ├────────────┼────────────┼───────────────┼────────────┼─────────────────────────────┤
    │ 5439283619 │ 5450038733 │ 5445123463.82 │ 5445131000 │ 5e00554696-baseline.dylib   │
    ├────────────┼────────────┼───────────────┼────────────┼─────────────────────────────┤
    │ 5332483991 │ 5345446881 │ 5337930387.02 │ 5337890931 │ c86906f168-A-rpo-seed.dylib │
    └────────────┴────────────┴───────────────┴────────────┴─────────────────────────────┘

compilation :: instructions-retired :: kotlin-richards

    Δ = 12093387.57 ± 584630.03 (confidence = 99%)

    c86906f168-A-rpo-seed.dylib is 1.02x to 1.02x faster than 5e00554696-baseline.dylib!

    ┌───────────┬───────────┬──────────────┬───────────┬─────────────────────────────┐
    │ Min       │ Max       │ Mean         │ Median    │ Engine                      │
    ├───────────┼───────────┼──────────────┼───────────┼─────────────────────────────┤
    │ 634797689 │ 643565242 │ 639630353.10 │ 639744730 │ 5e00554696-baseline.dylib   │
    ├───────────┼───────────┼──────────────┼───────────┼─────────────────────────────┤
    │ 623934476 │ 631123628 │ 627536965.53 │ 627528340 │ c86906f168-A-rpo-seed.dylib │
    └───────────┴───────────┴──────────────┴───────────┴─────────────────────────────┘

compilation :: instructions-retired :: meshoptimizer

    Δ = 2362359.47 ± 404322.82 (confidence = 99%)

    c86906f168-A-rpo-seed.dylib is 1.01x to 1.01x faster than 5e00554696-baseline.dylib!

    ┌───────────┬───────────┬──────────────┬───────────┬─────────────────────────────┐
    │ Min       │ Max       │ Mean         │ Median    │ Engine                      │
    ├───────────┼───────────┼──────────────┼───────────┼─────────────────────────────┤
    │ 383858384 │ 390770689 │ 388053353.33 │ 388001245 │ 5e00554696-baseline.dylib   │
    ├───────────┼───────────┼──────────────┼───────────┼─────────────────────────────┤
    │ 383261763 │ 387923421 │ 385690993.86 │ 385615471 │ c86906f168-A-rpo-seed.dylib │
    └───────────┴───────────┴──────────────┴───────────┴─────────────────────────────┘

compilation :: instructions-retired :: shootout-minicsv

    Δ = 601519.85 ± 472227.74 (confidence = 99%)

    c86906f168-A-rpo-seed.dylib is 1.00x to 1.01x faster than 5e00554696-baseline.dylib!

    ┌───────────┬───────────┬──────────────┬───────────┬─────────────────────────────┐
    │ Min       │ Max       │ Mean         │ Median    │ Engine                      │
    ├───────────┼───────────┼──────────────┼───────────┼─────────────────────────────┤
    │ 117035013 │ 123844363 │ 120882817.37 │ 121027989 │ 5e00554696-baseline.dylib   │
    ├───────────┼───────────┼──────────────┼───────────┼─────────────────────────────┤
    │ 116974294 │ 123132924 │ 120281297.52 │ 120136429 │ c86906f168-A-rpo-seed.dylib │
    └───────────┴───────────┴──────────────┴───────────┴─────────────────────────────┘

compilation :: instructions-retired :: quicksort

    Δ = 881381.59 ± 416211.85 (confidence = 99%)

    c86906f168-A-rpo-seed.dylib is 1.00x to 1.01x faster than 5e00554696-baseline.dylib!

    ┌───────────┬───────────┬──────────────┬───────────┬─────────────────────────────┐
    │ Min       │ Max       │ Mean         │ Median    │ Engine                      │
    ├───────────┼───────────┼──────────────┼───────────┼─────────────────────────────┤
    │ 223787543 │ 229133325 │ 225969513.23 │ 225822591 │ 5e00554696-baseline.dylib   │
    ├───────────┼───────────┼──────────────┼───────────┼─────────────────────────────┤
    │ 222127742 │ 228398304 │ 225088131.64 │ 225055771 │ c86906f168-A-rpo-seed.dylib │
    └───────────┴───────────┴──────────────┴───────────┴─────────────────────────────┘

compilation :: instructions-retired :: bz2

    Δ = 2312715.06 ± 480227.08 (confidence = 99%)

    c86906f168-A-rpo-seed.dylib is 1.00x to 1.00x faster than 5e00554696-baseline.dylib!

    ┌───────────┬───────────┬──────────────┬───────────┬─────────────────────────────┐
    │ Min       │ Max       │ Mean         │ Median    │ Engine                      │
    ├───────────┼───────────┼──────────────┼───────────┼─────────────────────────────┤
    │ 737107590 │ 743849687 │ 740178352.09 │ 740078124 │ 5e00554696-baseline.dylib   │
    ├───────────┼───────────┼──────────────┼───────────┼─────────────────────────────┤
    │ 734533054 │ 741353972 │ 737865637.03 │ 737898085 │ c86906f168-A-rpo-seed.dylib │
    └───────────┴───────────┴──────────────┴───────────┴─────────────────────────────┘

compilation :: instructions-retired :: sqlite3

    Δ = 17102938.31 ± 978800.03 (confidence = 99%)

    c86906f168-A-rpo-seed.dylib is 1.00x to 1.00x faster than 5e00554696-baseline.dylib!

    ┌────────────┬────────────┬───────────────┬────────────┬─────────────────────────────┐
    │ Min        │ Max        │ Mean          │ Median     │ Engine                      │
    ├────────────┼────────────┼───────────────┼────────────┼─────────────────────────────┤
    │ 6543461309 │ 6560165030 │ 6551934323.03 │ 6551923670 │ 5e00554696-baseline.dylib   │
    ├────────────┼────────────┼───────────────┼────────────┼─────────────────────────────┤
    │ 6529868907 │ 6542054900 │ 6534831384.72 │ 6534691956 │ c86906f168-A-rpo-seed.dylib │
    └────────────┴────────────┴───────────────┴────────────┴─────────────────────────────┘

compilation :: instructions-retired :: spidermonkey-regex

    Δ = 118389649.00 ± 4827636.02 (confidence = 99%)

    c86906f168-A-rpo-seed.dylib is 1.00x to 1.00x faster than 5e00554696-baseline.dylib!

    ┌─────────────┬─────────────┬────────────────┬─────────────┬─────────────────────────────┐
    │ Min         │ Max         │ Mean           │ Median      │ Engine                      │
    ├─────────────┼─────────────┼────────────────┼─────────────┼─────────────────────────────┤
    │ 45963049179 │ 46016697865 │ 45985854571.04 │ 45984800772 │ 5e00554696-baseline.dylib   │
    ├─────────────┼─────────────┼────────────────┼─────────────┼─────────────────────────────┤
    │ 45839879682 │ 45907160559 │ 45867464922.04 │ 45866804291 │ c86906f168-A-rpo-seed.dylib │
    └─────────────┴─────────────┴────────────────┴─────────────┴─────────────────────────────┘

compilation :: instructions-retired :: rust-compression

    Δ = 6712163.12 ± 856022.61 (confidence = 99%)

    c86906f168-A-rpo-seed.dylib is 1.00x to 1.00x faster than 5e00554696-baseline.dylib!

    ┌────────────┬────────────┬───────────────┬────────────┬─────────────────────────────┐
    │ Min        │ Max        │ Mean          │ Median     │ Engine                      │
    ├────────────┼────────────┼───────────────┼────────────┼─────────────────────────────┤
    │ 3870353384 │ 3882887385 │ 3875855295.33 │ 3876293061 │ 5e00554696-baseline.dylib   │
    ├────────────┼────────────┼───────────────┼────────────┼─────────────────────────────┤
    │ 3863295580 │ 3875095656 │ 3869143132.21 │ 3869057316 │ c86906f168-A-rpo-seed.dylib │
    └────────────┴────────────┴───────────────┴────────────┴─────────────────────────────┘

compilation :: instructions-retired :: regex

    Δ = 5669354.36 ± 632864.99 (confidence = 99%)

    c86906f168-A-rpo-seed.dylib is 1.00x to 1.00x faster than 5e00554696-baseline.dylib!

    ┌────────────┬────────────┬───────────────┬────────────┬─────────────────────────────┐
    │ Min        │ Max        │ Mean          │ Median     │ Engine                      │
    ├────────────┼────────────┼───────────────┼────────────┼─────────────────────────────┤
    │ 3285972090 │ 3294088345 │ 3289597651.01 │ 3289541728 │ 5e00554696-baseline.dylib   │
    ├────────────┼────────────┼───────────────┼────────────┼─────────────────────────────┤
    │ 3279840034 │ 3287764296 │ 3283928296.65 │ 3283956957 │ c86906f168-A-rpo-seed.dylib │
    └────────────┴────────────┴───────────────┴────────────┴─────────────────────────────┘

compilation :: instructions-retired :: tract-onnx-image-classification

    Δ = 135367927.19 ± 14795683.99 (confidence = 99%)

    c86906f168-A-rpo-seed.dylib is 1.00x to 1.00x faster than 5e00554696-baseline.dylib!

    ┌─────────────┬─────────────┬────────────────┬─────────────┬─────────────────────────────┐
    │ Min         │ Max         │ Mean           │ Median      │ Engine                      │
    ├─────────────┼─────────────┼────────────────┼─────────────┼─────────────────────────────┤
    │ 81407549211 │ 81562568478 │ 81475588637.09 │ 81473382979 │ 5e00554696-baseline.dylib   │
    ├─────────────┼─────────────┼────────────────┼─────────────┼─────────────────────────────┤
    │ 81256299647 │ 81465756514 │ 81340220709.90 │ 81335906227 │ c86906f168-A-rpo-seed.dylib │
    └─────────────┴─────────────┴────────────────┴─────────────┴─────────────────────────────┘

compilation :: instructions-retired :: hex-simd

    Δ = 779004.92 ± 525403.40 (confidence = 99%)

    c86906f168-A-rpo-seed.dylib is 1.00x to 1.00x faster than 5e00554696-baseline.dylib!

    ┌───────────┬───────────┬──────────────┬───────────┬─────────────────────────────┐
    │ Min       │ Max       │ Mean         │ Median    │ Engine                      │
    ├───────────┼───────────┼──────────────┼───────────┼─────────────────────────────┤
    │ 508671283 │ 515352203 │ 512220005.11 │ 512185404 │ 5e00554696-baseline.dylib   │
    ├───────────┼───────────┼──────────────┼───────────┼─────────────────────────────┤
    │ 508728739 │ 515958257 │ 511441000.19 │ 511357702 │ c86906f168-A-rpo-seed.dylib │
    └───────────┴───────────┴──────────────┴───────────┴─────────────────────────────┘

compilation :: instructions-retired :: libsodium-scalarmult_ed25519

    Δ = 885006.64 ± 499263.19 (confidence = 99%)

    c86906f168-A-rpo-seed.dylib is 1.00x to 1.00x faster than 5e00554696-baseline.dylib!

    ┌───────────┬───────────┬──────────────┬───────────┬─────────────────────────────┐
    │ Min       │ Max       │ Mean         │ Median    │ Engine                      │
    ├───────────┼───────────┼──────────────┼───────────┼─────────────────────────────┤
    │ 746252373 │ 753029861 │ 749924541.79 │ 749970953 │ 5e00554696-baseline.dylib   │
    ├───────────┼───────────┼──────────────┼───────────┼─────────────────────────────┤
    │ 745419599 │ 752737391 │ 749039535.15 │ 749090622 │ c86906f168-A-rpo-seed.dylib │
    └───────────┴───────────┴──────────────┴───────────┴─────────────────────────────┘

compilation :: instructions-retired :: hashset

    Δ = 1571708.63 ± 1175700.98 (confidence = 99%)

    c86906f168-A-rpo-seed.dylib is 1.00x to 1.00x faster than 5e00554696-baseline.dylib!

    ┌────────────┬────────────┬───────────────┬────────────┬─────────────────────────────┐
    │ Min        │ Max        │ Mean          │ Median     │ Engine                      │
    ├────────────┼────────────┼───────────────┼────────────┼─────────────────────────────┤
    │ 1463796111 │ 1480612250 │ 1472991690.94 │ 1473144505 │ 5e00554696-baseline.dylib   │
    ├────────────┼────────────┼───────────────┼────────────┼─────────────────────────────┤
    │ 1464040534 │ 1477349536 │ 1471419982.31 │ 1471875364 │ c86906f168-A-rpo-seed.dylib │
    └────────────┴────────────┴───────────────┴────────────┴─────────────────────────────┘

compilation :: instructions-retired :: rust-html-rewriter

    Δ = 3230981.96 ± 641798.83 (confidence = 99%)

    c86906f168-A-rpo-seed.dylib is 1.00x to 1.00x faster than 5e00554696-baseline.dylib!

    ┌────────────┬────────────┬───────────────┬────────────┬─────────────────────────────┐
    │ Min        │ Max        │ Mean          │ Median     │ Engine                      │
    ├────────────┼────────────┼───────────────┼────────────┼─────────────────────────────┤
    │ 3228518318 │ 3238197616 │ 3232722284.22 │ 3232812395 │ 5e00554696-baseline.dylib   │
    ├────────────┼────────────┼───────────────┼────────────┼─────────────────────────────┤
    │ 3225242344 │ 3234092078 │ 3229491302.26 │ 3229350214 │ c86906f168-A-rpo-seed.dylib │
    └────────────┴────────────┴───────────────┴────────────┴─────────────────────────────┘

compilation :: instructions-retired :: rust-protobuf

    Δ = 705588.07 ± 582552.52 (confidence = 99%)

    c86906f168-A-rpo-seed.dylib is 1.00x to 1.00x faster than 5e00554696-baseline.dylib!

    ┌───────────┬───────────┬──────────────┬───────────┬─────────────────────────────┐
    │ Min       │ Max       │ Mean         │ Median    │ Engine                      │
    ├───────────┼───────────┼──────────────┼───────────┼─────────────────────────────┤
    │ 722339594 │ 731951556 │ 728193145.67 │ 728326686 │ 5e00554696-baseline.dylib   │
    ├───────────┼───────────┼──────────────┼───────────┼─────────────────────────────┤
    │ 723792262 │ 731022735 │ 727487557.60 │ 727470029 │ c86906f168-A-rpo-seed.dylib │
    └───────────┴───────────┴──────────────┴───────────┴─────────────────────────────┘

This visits a block's predecessors before the block itself, which minimizes the
number of times we need to reprocess a block to reach the fixed point (ignoring
backedges).

Here are the Sightglass results (faster on 13/26 of the PCA subset; up to 1.02x
faster), plus some extra benchmarks that use 1000 different globals in order to
create benchmarks with many alias regions (up to 16.27x faster).

<details>

```
compilation :: cycles :: Sum Total

    Δ = 8422617.35 ± 280685.06 (confidence = 99%)

    c86906f168-A-rpo-seed.dylib is 1.15x to 1.16x faster than 5e00554-baseline.dylib!

    ┌──────────┬──────────┬─────────────┬──────────┬─────────────────────────────┐
    │ Min      │ Max      │ Mean        │ Median   │ Engine                      │
    ├──────────┼──────────┼─────────────┼──────────┼─────────────────────────────┤
    │ 60331062 │ 64369397 │ 61754473.07 │ 61678752 │ 5e00554-baseline.dylib   │
    ├──────────┼──────────┼─────────────┼──────────┼─────────────────────────────┤
    │ 51846162 │ 55688043 │ 53331855.72 │ 53253352 │ c86906f168-A-rpo-seed.dylib │
    └──────────┴──────────┴─────────────┴──────────┴─────────────────────────────┘

compilation :: instructions-retired :: Sum Total

    Δ = 7583044017.87 ± 17783614.28 (confidence = 99%)

    c86906f168-A-rpo-seed.dylib is 1.05x to 1.05x faster than 5e00554-baseline.dylib!

    ┌──────────────┬──────────────┬─────────────────┬──────────────┬─────────────────────────────┐
    │ Min          │ Max          │ Mean            │ Median       │ Engine                      │
    ├──────────────┼──────────────┼─────────────────┼──────────────┼─────────────────────────────┤
    │ 168815527589 │ 168999930832 │ 168907183902.21 │ 168906273009 │ 5e00554-baseline.dylib   │
    ├──────────────┼──────────────┼─────────────────┼──────────────┼─────────────────────────────┤
    │ 161221272391 │ 161466420307 │ 161324139884.34 │ 161323996892 │ c86906f168-A-rpo-seed.dylib │
    └──────────────┴──────────────┴─────────────────┴──────────────┴─────────────────────────────┘

compilation :: instructions-retired :: globals-1000-cfg

    Δ = 3488395020.90 ± 330370.05 (confidence = 99%)

    c86906f168-A-rpo-seed.dylib is 16.27x to 16.27x faster than 5e00554-baseline.dylib!

    ┌────────────┬────────────┬───────────────┬────────────┬─────────────────────────────┐
    │ Min        │ Max        │ Mean          │ Median     │ Engine                      │
    ├────────────┼────────────┼───────────────┼────────────┼─────────────────────────────┤
    │ 3714492504 │ 3720971964 │ 3716830864.19 │ 3716697153 │ 5e00554-baseline.dylib   │
    ├────────────┼────────────┼───────────────┼────────────┼─────────────────────────────┤
    │ 227560263  │ 229543940  │ 228435843.29  │ 228446605  │ c86906f168-A-rpo-seed.dylib │
    └────────────┴────────────┴───────────────┴────────────┴─────────────────────────────┘

compilation :: instructions-retired :: globals-1000-loop

    Δ = 3676743569.51 ± 269112.72 (confidence = 99%)

    c86906f168-A-rpo-seed.dylib is 14.98x to 14.99x faster than 5e00554-baseline.dylib!

    ┌────────────┬────────────┬───────────────┬────────────┬─────────────────────────────┐
    │ Min        │ Max        │ Mean          │ Median     │ Engine                      │
    ├────────────┼────────────┼───────────────┼────────────┼─────────────────────────────┤
    │ 3938271014 │ 3942494061 │ 3939646001.25 │ 3939498236 │ 5e00554-baseline.dylib   │
    ├────────────┼────────────┼───────────────┼────────────┼─────────────────────────────┤
    │ 262014252  │ 264993857  │ 262902431.74  │ 262817743  │ c86906f168-A-rpo-seed.dylib │
    └────────────┴────────────┴───────────────┴────────────┴─────────────────────────────┘

compilation :: cycles :: globals-1000-cfg

    Δ = 4080711.94 ± 12420.75 (confidence = 99%)

    c86906f168-A-rpo-seed.dylib is 11.78x to 11.85x faster than 5e00554-baseline.dylib!

    ┌─────────┬─────────┬────────────┬─────────┬─────────────────────────────┐
    │ Min     │ Max     │ Mean       │ Median  │ Engine                      │
    ├─────────┼─────────┼────────────┼─────────┼─────────────────────────────┤
    │ 4353068 │ 4563437 │ 4458098.75 │ 4457209 │ 5e00554-baseline.dylib   │
    ├─────────┼─────────┼────────────┼─────────┼─────────────────────────────┤
    │ 325067  │ 427413  │ 377386.81  │ 377755  │ c86906f168-A-rpo-seed.dylib │
    └─────────┴─────────┴────────────┴─────────┴─────────────────────────────┘

compilation :: cycles :: globals-1000-loop

    Δ = 4104661.05 ± 14351.30 (confidence = 99%)

    c86906f168-A-rpo-seed.dylib is 10.61x to 10.68x faster than 5e00554-baseline.dylib!

    ┌─────────┬─────────┬────────────┬─────────┬─────────────────────────────┐
    │ Min     │ Max     │ Mean       │ Median  │ Engine                      │
    ├─────────┼─────────┼────────────┼─────────┼─────────────────────────────┤
    │ 4397623 │ 4666018 │ 4530267.27 │ 4533174 │ 5e00554-baseline.dylib   │
    ├─────────┼─────────┼────────────┼─────────┼─────────────────────────────┤
    │ 370362  │ 491900  │ 425606.22  │ 428477  │ c86906f168-A-rpo-seed.dylib │
    └─────────┴─────────┴────────────┴─────────┴─────────────────────────────┘

compilation :: instructions-retired :: tinygo-json

    Δ = 107193076.80 ± 815883.64 (confidence = 99%)

    c86906f168-A-rpo-seed.dylib is 1.02x to 1.02x faster than 5e00554-baseline.dylib!

    ┌────────────┬────────────┬───────────────┬────────────┬─────────────────────────────┐
    │ Min        │ Max        │ Mean          │ Median     │ Engine                      │
    ├────────────┼────────────┼───────────────┼────────────┼─────────────────────────────┤
    │ 5439283619 │ 5450038733 │ 5445123463.82 │ 5445131000 │ 5e00554-baseline.dylib   │
    ├────────────┼────────────┼───────────────┼────────────┼─────────────────────────────┤
    │ 5332483991 │ 5345446881 │ 5337930387.02 │ 5337890931 │ c86906f168-A-rpo-seed.dylib │
    └────────────┴────────────┴───────────────┴────────────┴─────────────────────────────┘

compilation :: instructions-retired :: kotlin-richards

    Δ = 12093387.57 ± 584630.03 (confidence = 99%)

    c86906f168-A-rpo-seed.dylib is 1.02x to 1.02x faster than 5e00554-baseline.dylib!

    ┌───────────┬───────────┬──────────────┬───────────┬─────────────────────────────┐
    │ Min       │ Max       │ Mean         │ Median    │ Engine                      │
    ├───────────┼───────────┼──────────────┼───────────┼─────────────────────────────┤
    │ 634797689 │ 643565242 │ 639630353.10 │ 639744730 │ 5e00554-baseline.dylib   │
    ├───────────┼───────────┼──────────────┼───────────┼─────────────────────────────┤
    │ 623934476 │ 631123628 │ 627536965.53 │ 627528340 │ c86906f168-A-rpo-seed.dylib │
    └───────────┴───────────┴──────────────┴───────────┴─────────────────────────────┘

compilation :: instructions-retired :: meshoptimizer

    Δ = 2362359.47 ± 404322.82 (confidence = 99%)

    c86906f168-A-rpo-seed.dylib is 1.01x to 1.01x faster than 5e00554-baseline.dylib!

    ┌───────────┬───────────┬──────────────┬───────────┬─────────────────────────────┐
    │ Min       │ Max       │ Mean         │ Median    │ Engine                      │
    ├───────────┼───────────┼──────────────┼───────────┼─────────────────────────────┤
    │ 383858384 │ 390770689 │ 388053353.33 │ 388001245 │ 5e00554-baseline.dylib   │
    ├───────────┼───────────┼──────────────┼───────────┼─────────────────────────────┤
    │ 383261763 │ 387923421 │ 385690993.86 │ 385615471 │ c86906f168-A-rpo-seed.dylib │
    └───────────┴───────────┴──────────────┴───────────┴─────────────────────────────┘

compilation :: instructions-retired :: shootout-minicsv

    Δ = 601519.85 ± 472227.74 (confidence = 99%)

    c86906f168-A-rpo-seed.dylib is 1.00x to 1.01x faster than 5e00554-baseline.dylib!

    ┌───────────┬───────────┬──────────────┬───────────┬─────────────────────────────┐
    │ Min       │ Max       │ Mean         │ Median    │ Engine                      │
    ├───────────┼───────────┼──────────────┼───────────┼─────────────────────────────┤
    │ 117035013 │ 123844363 │ 120882817.37 │ 121027989 │ 5e00554-baseline.dylib   │
    ├───────────┼───────────┼──────────────┼───────────┼─────────────────────────────┤
    │ 116974294 │ 123132924 │ 120281297.52 │ 120136429 │ c86906f168-A-rpo-seed.dylib │
    └───────────┴───────────┴──────────────┴───────────┴─────────────────────────────┘

compilation :: instructions-retired :: quicksort

    Δ = 881381.59 ± 416211.85 (confidence = 99%)

    c86906f168-A-rpo-seed.dylib is 1.00x to 1.01x faster than 5e00554-baseline.dylib!

    ┌───────────┬───────────┬──────────────┬───────────┬─────────────────────────────┐
    │ Min       │ Max       │ Mean         │ Median    │ Engine                      │
    ├───────────┼───────────┼──────────────┼───────────┼─────────────────────────────┤
    │ 223787543 │ 229133325 │ 225969513.23 │ 225822591 │ 5e00554-baseline.dylib   │
    ├───────────┼───────────┼──────────────┼───────────┼─────────────────────────────┤
    │ 222127742 │ 228398304 │ 225088131.64 │ 225055771 │ c86906f168-A-rpo-seed.dylib │
    └───────────┴───────────┴──────────────┴───────────┴─────────────────────────────┘

compilation :: instructions-retired :: bz2

    Δ = 2312715.06 ± 480227.08 (confidence = 99%)

    c86906f168-A-rpo-seed.dylib is 1.00x to 1.00x faster than 5e00554-baseline.dylib!

    ┌───────────┬───────────┬──────────────┬───────────┬─────────────────────────────┐
    │ Min       │ Max       │ Mean         │ Median    │ Engine                      │
    ├───────────┼───────────┼──────────────┼───────────┼─────────────────────────────┤
    │ 737107590 │ 743849687 │ 740178352.09 │ 740078124 │ 5e00554-baseline.dylib   │
    ├───────────┼───────────┼──────────────┼───────────┼─────────────────────────────┤
    │ 734533054 │ 741353972 │ 737865637.03 │ 737898085 │ c86906f168-A-rpo-seed.dylib │
    └───────────┴───────────┴──────────────┴───────────┴─────────────────────────────┘

compilation :: instructions-retired :: sqlite3

    Δ = 17102938.31 ± 978800.03 (confidence = 99%)

    c86906f168-A-rpo-seed.dylib is 1.00x to 1.00x faster than 5e00554-baseline.dylib!

    ┌────────────┬────────────┬───────────────┬────────────┬─────────────────────────────┐
    │ Min        │ Max        │ Mean          │ Median     │ Engine                      │
    ├────────────┼────────────┼───────────────┼────────────┼─────────────────────────────┤
    │ 6543461309 │ 6560165030 │ 6551934323.03 │ 6551923670 │ 5e00554-baseline.dylib   │
    ├────────────┼────────────┼───────────────┼────────────┼─────────────────────────────┤
    │ 6529868907 │ 6542054900 │ 6534831384.72 │ 6534691956 │ c86906f168-A-rpo-seed.dylib │
    └────────────┴────────────┴───────────────┴────────────┴─────────────────────────────┘

compilation :: instructions-retired :: spidermonkey-regex

    Δ = 118389649.00 ± 4827636.02 (confidence = 99%)

    c86906f168-A-rpo-seed.dylib is 1.00x to 1.00x faster than 5e00554-baseline.dylib!

    ┌─────────────┬─────────────┬────────────────┬─────────────┬─────────────────────────────┐
    │ Min         │ Max         │ Mean           │ Median      │ Engine                      │
    ├─────────────┼─────────────┼────────────────┼─────────────┼─────────────────────────────┤
    │ 45963049179 │ 46016697865 │ 45985854571.04 │ 45984800772 │ 5e00554-baseline.dylib   │
    ├─────────────┼─────────────┼────────────────┼─────────────┼─────────────────────────────┤
    │ 45839879682 │ 45907160559 │ 45867464922.04 │ 45866804291 │ c86906f168-A-rpo-seed.dylib │
    └─────────────┴─────────────┴────────────────┴─────────────┴─────────────────────────────┘

compilation :: instructions-retired :: rust-compression

    Δ = 6712163.12 ± 856022.61 (confidence = 99%)

    c86906f168-A-rpo-seed.dylib is 1.00x to 1.00x faster than 5e00554-baseline.dylib!

    ┌────────────┬────────────┬───────────────┬────────────┬─────────────────────────────┐
    │ Min        │ Max        │ Mean          │ Median     │ Engine                      │
    ├────────────┼────────────┼───────────────┼────────────┼─────────────────────────────┤
    │ 3870353384 │ 3882887385 │ 3875855295.33 │ 3876293061 │ 5e00554-baseline.dylib   │
    ├────────────┼────────────┼───────────────┼────────────┼─────────────────────────────┤
    │ 3863295580 │ 3875095656 │ 3869143132.21 │ 3869057316 │ c86906f168-A-rpo-seed.dylib │
    └────────────┴────────────┴───────────────┴────────────┴─────────────────────────────┘

compilation :: instructions-retired :: regex

    Δ = 5669354.36 ± 632864.99 (confidence = 99%)

    c86906f168-A-rpo-seed.dylib is 1.00x to 1.00x faster than 5e00554-baseline.dylib!

    ┌────────────┬────────────┬───────────────┬────────────┬─────────────────────────────┐
    │ Min        │ Max        │ Mean          │ Median     │ Engine                      │
    ├────────────┼────────────┼───────────────┼────────────┼─────────────────────────────┤
    │ 3285972090 │ 3294088345 │ 3289597651.01 │ 3289541728 │ 5e00554-baseline.dylib   │
    ├────────────┼────────────┼───────────────┼────────────┼─────────────────────────────┤
    │ 3279840034 │ 3287764296 │ 3283928296.65 │ 3283956957 │ c86906f168-A-rpo-seed.dylib │
    └────────────┴────────────┴───────────────┴────────────┴─────────────────────────────┘

compilation :: instructions-retired :: tract-onnx-image-classification

    Δ = 135367927.19 ± 14795683.99 (confidence = 99%)

    c86906f168-A-rpo-seed.dylib is 1.00x to 1.00x faster than 5e00554-baseline.dylib!

    ┌─────────────┬─────────────┬────────────────┬─────────────┬─────────────────────────────┐
    │ Min         │ Max         │ Mean           │ Median      │ Engine                      │
    ├─────────────┼─────────────┼────────────────┼─────────────┼─────────────────────────────┤
    │ 81407549211 │ 81562568478 │ 81475588637.09 │ 81473382979 │ 5e00554-baseline.dylib   │
    ├─────────────┼─────────────┼────────────────┼─────────────┼─────────────────────────────┤
    │ 81256299647 │ 81465756514 │ 81340220709.90 │ 81335906227 │ c86906f168-A-rpo-seed.dylib │
    └─────────────┴─────────────┴────────────────┴─────────────┴─────────────────────────────┘

compilation :: instructions-retired :: hex-simd

    Δ = 779004.92 ± 525403.40 (confidence = 99%)

    c86906f168-A-rpo-seed.dylib is 1.00x to 1.00x faster than 5e00554-baseline.dylib!

    ┌───────────┬───────────┬──────────────┬───────────┬─────────────────────────────┐
    │ Min       │ Max       │ Mean         │ Median    │ Engine                      │
    ├───────────┼───────────┼──────────────┼───────────┼─────────────────────────────┤
    │ 508671283 │ 515352203 │ 512220005.11 │ 512185404 │ 5e00554-baseline.dylib   │
    ├───────────┼───────────┼──────────────┼───────────┼─────────────────────────────┤
    │ 508728739 │ 515958257 │ 511441000.19 │ 511357702 │ c86906f168-A-rpo-seed.dylib │
    └───────────┴───────────┴──────────────┴───────────┴─────────────────────────────┘

compilation :: instructions-retired :: libsodium-scalarmult_ed25519

    Δ = 885006.64 ± 499263.19 (confidence = 99%)

    c86906f168-A-rpo-seed.dylib is 1.00x to 1.00x faster than 5e00554-baseline.dylib!

    ┌───────────┬───────────┬──────────────┬───────────┬─────────────────────────────┐
    │ Min       │ Max       │ Mean         │ Median    │ Engine                      │
    ├───────────┼───────────┼──────────────┼───────────┼─────────────────────────────┤
    │ 746252373 │ 753029861 │ 749924541.79 │ 749970953 │ 5e00554-baseline.dylib   │
    ├───────────┼───────────┼──────────────┼───────────┼─────────────────────────────┤
    │ 745419599 │ 752737391 │ 749039535.15 │ 749090622 │ c86906f168-A-rpo-seed.dylib │
    └───────────┴───────────┴──────────────┴───────────┴─────────────────────────────┘

compilation :: instructions-retired :: hashset

    Δ = 1571708.63 ± 1175700.98 (confidence = 99%)

    c86906f168-A-rpo-seed.dylib is 1.00x to 1.00x faster than 5e00554-baseline.dylib!

    ┌────────────┬────────────┬───────────────┬────────────┬─────────────────────────────┐
    │ Min        │ Max        │ Mean          │ Median     │ Engine                      │
    ├────────────┼────────────┼───────────────┼────────────┼─────────────────────────────┤
    │ 1463796111 │ 1480612250 │ 1472991690.94 │ 1473144505 │ 5e00554-baseline.dylib   │
    ├────────────┼────────────┼───────────────┼────────────┼─────────────────────────────┤
    │ 1464040534 │ 1477349536 │ 1471419982.31 │ 1471875364 │ c86906f168-A-rpo-seed.dylib │
    └────────────┴────────────┴───────────────┴────────────┴─────────────────────────────┘

compilation :: instructions-retired :: rust-html-rewriter

    Δ = 3230981.96 ± 641798.83 (confidence = 99%)

    c86906f168-A-rpo-seed.dylib is 1.00x to 1.00x faster than 5e00554-baseline.dylib!

    ┌────────────┬────────────┬───────────────┬────────────┬─────────────────────────────┐
    │ Min        │ Max        │ Mean          │ Median     │ Engine                      │
    ├────────────┼────────────┼───────────────┼────────────┼─────────────────────────────┤
    │ 3228518318 │ 3238197616 │ 3232722284.22 │ 3232812395 │ 5e00554-baseline.dylib   │
    ├────────────┼────────────┼───────────────┼────────────┼─────────────────────────────┤
    │ 3225242344 │ 3234092078 │ 3229491302.26 │ 3229350214 │ c86906f168-A-rpo-seed.dylib │
    └────────────┴────────────┴───────────────┴────────────┴─────────────────────────────┘

compilation :: instructions-retired :: rust-protobuf

    Δ = 705588.07 ± 582552.52 (confidence = 99%)

    c86906f168-A-rpo-seed.dylib is 1.00x to 1.00x faster than 5e00554-baseline.dylib!

    ┌───────────┬───────────┬──────────────┬───────────┬─────────────────────────────┐
    │ Min       │ Max       │ Mean         │ Median    │ Engine                      │
    ├───────────┼───────────┼──────────────┼───────────┼─────────────────────────────┤
    │ 722339594 │ 731951556 │ 728193145.67 │ 728326686 │ 5e00554-baseline.dylib   │
    ├───────────┼───────────┼──────────────┼───────────┼─────────────────────────────┤
    │ 723792262 │ 731022735 │ 727487557.60 │ 727470029 │ c86906f168-A-rpo-seed.dylib │
    └───────────┴───────────┴──────────────┴───────────┴─────────────────────────────┘
```

<details>
@fitzgen
fitzgen requested a review from a team as a code owner September 7, 2026 01:20
@fitzgen
fitzgen requested review from cfallin and removed request for a team September 7, 2026 01:20
@github-actions github-actions Bot added the cranelift Issues related to the Cranelift code generator label Sep 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cranelift Issues related to the Cranelift code generator

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant