Skip to content

perf(evm): reuse CFG memory proofs for RETURN and REVERT - #584

Merged
zoowii merged 2 commits into
DTVMStack:mainfrom
ECNUyhy:codex/return-revert-cfg-proof-20260728
Jul 29, 2026
Merged

perf(evm): reuse CFG memory proofs for RETURN and REVERT#584
zoowii merged 2 commits into
DTVMStack:mainfrom
ECNUyhy:codex/return-revert-cfg-proof-20260728

Conversation

@ECNUyhy

@ECNUyhy ECNUyhy commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

1. Does this PR affect any open issues?(Y/N) and add issue references:

  • N
  • Y

2. What is the scope of this PR:

EVM multipass JIT memory expansion analysis and lowering:

  • src/action/evm_bytecode_visitor.h
  • src/compiler/evm_frontend/evm_mir_compiler.{h,cpp}
  • EVM frontend and differential tests

3. Provide a description of the PR:

  • Affects user behaviors
  • Contains CI/CD configuration changes
  • Contains documentation changes
  • Contains experimental features
  • Performance regression: Consumes more CPU
  • Performance regression: Consumes more Memory
  • Other

Reuse CFG-derived guaranteed memory prefixes when lowering constant-range RETURN and REVERT operations in the multipass JIT.

  • retain the exact terminating opcode PC after closing the current block so the MIR consumer queries the matching memory fact
  • skip expandMemoryIR only when a constant non-empty range is covered by getGuaranteedMinBytesBeforeOp
  • preserve generic fallback, overflow handling, and zero-size/high-offset EVM semantics
  • expose compile-time counters for RETURN/REVERT proof reuse

On the existing 65-contract on-chain corpus, compiled paths report 401 eliminated expansion IR sites across 30 contracts: 24 for RETURN and 377 for REVERT.

4. Are there any breaking changes?(Y/N):

  • N
  • Y

5. Are there test cases for these changes?(Y/N):

  • Unit test
  • Integration test
  • Benchmark
  • Manual test
  • Other

Validation:

6. Release note

Improve multipass JIT RETURN and REVERT lowering by reusing CFG memory proofs.

ECNUyhy added 2 commits July 28, 2026 11:19
Record RETURN and REVERT helper PCs after closing their source block so later lowering can query the exact per-op memory facts. Previously handleEndBlock cleared the current memory opcode identity before the terminating helper was lowered.
Let RETURN and REVERT reuse guaranteed memory-size facts produced by the CFG analysis when their constant output range is already covered. Previously both terminators emitted another expansion check even after a predecessor had established the same range; dynamic, uncovered, overflow-prone, and zero-size cases keep the existing fallback semantics.
@github-actions

Copy link
Copy Markdown

⚡ Performance Regression Check Results

✅ Performance Check Passed (interpreter)

Performance Benchmark Results (threshold: 25%)

Benchmark Baseline (us) Current (us) Change Status
total/main/blake2b_huff/8415nulls 2.76 2.62 -5.2% PASS
total/main/blake2b_huff/empty 0.04 0.04 -1.9% PASS
total/main/blake2b_shifts/8415nulls 15.08 14.93 -1.0% PASS
total/main/sha1_divs/5311 8.57 8.72 +1.7% PASS
total/main/sha1_divs/empty 0.10 0.11 +1.6% PASS
total/main/sha1_shifts/5311 5.71 5.67 -0.6% PASS
total/main/sha1_shifts/empty 0.04 0.04 +0.2% PASS
total/main/snailtracer/benchmark 97.21 88.09 -9.4% PASS
total/main/structarray_alloc/nfts_rank 1.22 1.21 -0.9% PASS
total/main/swap_math/insufficient_liquidity 0.00 0.00 -0.3% PASS
total/main/swap_math/received 0.01 0.01 -3.8% PASS
total/main/swap_math/spent 0.01 0.01 +1.1% PASS
total/main/weierstrudel/1 0.33 0.34 +2.2% PASS
total/main/weierstrudel/15 3.75 3.58 -4.6% PASS
total/micro/JUMPDEST_n0/empty 3.02 3.01 -0.1% PASS
total/micro/jump_around/empty 0.10 0.10 -5.4% PASS
total/micro/loop_with_many_jumpdests/empty 67.20 67.03 -0.3% PASS
total/micro/memory_grow_mload/by1 0.18 0.17 -6.3% PASS
total/micro/memory_grow_mload/by16 0.21 0.21 +0.5% PASS
total/micro/memory_grow_mload/by32 0.12 0.12 +0.0% PASS
total/micro/memory_grow_mload/nogrow 0.09 0.09 -0.1% PASS
total/micro/memory_grow_mstore/by1 0.20 0.20 -0.5% PASS
total/micro/memory_grow_mstore/by16 0.12 0.12 -0.2% PASS
total/micro/memory_grow_mstore/by32 0.25 0.25 -0.5% PASS
total/micro/memory_grow_mstore/nogrow 0.20 0.19 -3.0% PASS
total/micro/signextend/one 0.25 0.26 +0.4% PASS
total/micro/signextend/zero 0.47 0.48 +2.9% PASS
total/synth/ADD/b0 2.25 2.25 +0.1% PASS
total/synth/ADD/b1 2.87 2.84 -0.9% PASS
total/synth/ADDRESS/a0 6.60 6.60 +0.0% PASS
total/synth/ADDRESS/a1 5.87 5.75 -2.0% PASS
total/synth/AND/b0 1.84 1.84 +0.0% PASS
total/synth/AND/b1 2.37 2.39 +1.0% PASS
total/synth/BYTE/b0 6.88 6.87 -0.1% PASS
total/synth/BYTE/b1 9.40 9.32 -0.9% PASS
total/synth/CALLDATASIZE/a0 4.91 4.83 -1.5% PASS
total/synth/CALLDATASIZE/a1 3.81 3.84 +0.7% PASS
total/synth/CALLER/a0 6.28 6.58 +4.7% PASS
total/synth/CALLER/a1 6.91 6.91 -0.0% PASS
total/synth/CALLVALUE/a0 3.93 3.94 +0.2% PASS
total/synth/CALLVALUE/a1 6.07 6.04 -0.5% PASS
total/synth/CODESIZE/a0 6.30 5.65 -7.4% PASS
total/synth/CODESIZE/a1 5.97 6.07 +1.6% PASS
total/synth/DUP1/d0 1.55 1.65 +6.9% PASS
total/synth/DUP1/d1 1.76 1.81 +3.1% PASS
total/synth/DUP10/d0 1.63 1.53 -6.4% PASS
total/synth/DUP10/d1 1.76 2.00 +13.9% PASS
total/synth/DUP11/d0 1.20 1.22 +1.8% PASS
total/synth/DUP11/d1 1.75 1.70 -2.7% PASS
total/synth/DUP12/d0 1.56 1.63 +4.9% PASS
total/synth/DUP12/d1 1.12 0.85 -24.0% PASS
total/synth/DUP13/d0 1.59 1.66 +4.9% PASS
total/synth/DUP13/d1 1.60 1.71 +7.0% PASS
total/synth/DUP14/d0 1.19 0.93 -21.8% PASS
total/synth/DUP14/d1 1.67 1.69 +1.3% PASS
total/synth/DUP15/d0 1.60 1.59 -1.2% PASS
total/synth/DUP15/d1 1.12 1.13 +1.0% PASS
total/synth/DUP16/d0 1.65 1.57 -4.9% PASS
total/synth/DUP16/d1 1.60 1.89 +18.1% PASS
total/synth/DUP2/d0 1.20 1.21 +0.5% PASS
total/synth/DUP2/d1 1.65 1.74 +5.0% PASS
total/synth/DUP3/d0 1.58 1.55 -2.2% PASS
total/synth/DUP3/d1 0.85 0.85 +0.2% PASS
total/synth/DUP4/d0 1.59 1.59 +0.3% PASS
total/synth/DUP4/d1 1.76 1.71 -3.0% PASS
total/synth/DUP5/d0 0.94 0.94 +0.7% PASS
total/synth/DUP5/d1 1.70 1.86 +9.3% PASS
total/synth/DUP6/d0 1.59 1.72 +7.9% PASS
total/synth/DUP6/d1 1.12 1.21 +8.2% PASS
total/synth/DUP7/d0 1.59 1.63 +2.5% PASS
total/synth/DUP7/d1 1.62 1.85 +14.6% PASS
total/synth/DUP8/d0 0.93 0.94 +1.6% PASS
total/synth/DUP8/d1 1.59 1.88 +18.1% PASS
total/synth/DUP9/d0 1.59 1.64 +3.1% PASS
total/synth/DUP9/d1 0.93 1.13 +20.8% PASS
total/synth/EQ/b0 5.37 5.37 -0.0% PASS
total/synth/EQ/b1 5.68 5.59 -1.4% PASS
total/synth/GAS/a0 3.89 3.90 +0.2% PASS
total/synth/GAS/a1 7.02 7.01 -0.2% PASS
total/synth/GT/b0 5.72 5.72 -0.0% PASS
total/synth/GT/b1 5.61 5.65 +0.8% PASS
total/synth/ISZERO/u0 8.41 8.42 +0.1% PASS
total/synth/JUMPDEST/n0 3.01 3.01 +0.0% PASS
total/synth/LT/b0 5.73 5.70 -0.6% PASS
total/synth/LT/b1 4.78 4.79 +0.2% PASS
total/synth/MSIZE/a0 5.74 5.98 +4.3% PASS
total/synth/MSIZE/a1 6.50 6.40 -1.6% PASS
total/synth/MUL/b0 6.40 6.40 +0.0% PASS
total/synth/MUL/b1 5.97 5.97 +0.1% PASS
total/synth/NOT/u0 2.00 2.05 +2.7% PASS
total/synth/OR/b0 2.16 2.20 +2.1% PASS
total/synth/OR/b1 1.78 1.77 -0.5% PASS
total/synth/PC/a0 5.01 4.81 -4.0% PASS
total/synth/PC/a1 3.66 3.68 +0.7% PASS
total/synth/PUSH1/p0 2.17 1.98 -8.8% PASS
total/synth/PUSH1/p1 1.87 1.60 -14.6% PASS
total/synth/PUSH10/p0 2.13 2.05 -3.9% PASS
total/synth/PUSH10/p1 1.92 1.59 -17.0% PASS
total/synth/PUSH11/p0 2.06 1.94 -5.9% PASS
total/synth/PUSH11/p1 2.27 2.19 -3.3% PASS
total/synth/PUSH12/p0 1.46 1.47 +0.7% PASS
total/synth/PUSH12/p1 2.33 2.21 -5.1% PASS
total/synth/PUSH13/p0 2.02 2.05 +1.4% PASS
total/synth/PUSH13/p1 1.86 1.60 -14.3% PASS
total/synth/PUSH14/p0 2.00 2.01 +0.3% PASS
total/synth/PUSH14/p1 2.24 2.33 +4.0% PASS
total/synth/PUSH15/p0 1.48 1.46 -1.6% PASS
total/synth/PUSH15/p1 2.29 2.31 +0.7% PASS
total/synth/PUSH16/p0 2.00 2.06 +2.7% PASS
total/synth/PUSH16/p1 1.87 1.60 -14.3% PASS
total/synth/PUSH17/p0 2.16 2.01 -6.7% PASS
total/synth/PUSH17/p1 2.16 2.37 +9.4% PASS
total/synth/PUSH18/p0 1.47 1.47 +0.2% PASS
total/synth/PUSH18/p1 2.03 2.14 +5.5% PASS
total/synth/PUSH19/p0 1.99 2.17 +9.4% PASS
total/synth/PUSH19/p1 1.60 1.69 +5.5% PASS
total/synth/PUSH2/p0 2.00 2.02 +1.3% PASS
total/synth/PUSH2/p1 2.23 2.15 -3.6% PASS
total/synth/PUSH20/p0 2.10 2.05 -2.0% PASS
total/synth/PUSH20/p1 2.31 2.09 -9.3% PASS
total/synth/PUSH21/p0 1.47 1.47 +0.0% PASS
total/synth/PUSH21/p1 2.25 2.36 +4.9% PASS
total/synth/PUSH22/p0 2.02 2.10 +3.7% PASS
total/synth/PUSH22/p1 1.60 1.74 +8.5% PASS
total/synth/PUSH23/p0 2.01 2.08 +3.2% PASS
total/synth/PUSH23/p1 2.05 2.27 +10.5% PASS
total/synth/PUSH24/p0 1.46 1.46 +0.1% PASS
total/synth/PUSH24/p1 2.13 2.30 +7.9% PASS
total/synth/PUSH25/p0 2.09 2.16 +3.8% PASS
total/synth/PUSH25/p1 1.61 1.60 -0.6% PASS
total/synth/PUSH26/p0 2.17 2.18 +0.8% PASS
total/synth/PUSH26/p1 2.20 2.28 +4.0% PASS
total/synth/PUSH27/p0 1.46 1.47 +0.1% PASS
total/synth/PUSH27/p1 2.31 2.42 +4.8% PASS
total/synth/PUSH28/p0 2.04 2.06 +0.9% PASS
total/synth/PUSH28/p1 1.88 1.63 -13.4% PASS
total/synth/PUSH29/p0 2.09 2.15 +3.1% PASS
total/synth/PUSH29/p1 2.16 2.30 +6.3% PASS
total/synth/PUSH3/p0 1.46 1.46 +0.1% PASS
total/synth/PUSH3/p1 2.19 2.02 -7.6% PASS
total/synth/PUSH30/p0 1.49 1.47 -1.1% PASS
total/synth/PUSH30/p1 2.44 2.23 -8.7% PASS
total/synth/PUSH31/p0 2.13 2.18 +2.4% PASS
total/synth/PUSH31/p1 1.64 1.60 -2.5% PASS
total/synth/PUSH32/p0 2.12 2.06 -3.0% PASS
total/synth/PUSH32/p1 2.30 2.19 -4.9% PASS
total/synth/PUSH4/p0 2.06 2.01 -2.6% PASS
total/synth/PUSH4/p1 1.59 1.59 -0.3% PASS
total/synth/PUSH5/p0 2.19 1.97 -9.8% PASS
total/synth/PUSH5/p1 2.01 2.24 +11.4% PASS
total/synth/PUSH6/p0 1.45 1.46 +0.4% PASS
total/synth/PUSH6/p1 2.24 2.35 +4.6% PASS
total/synth/PUSH7/p0 2.03 2.03 +0.0% PASS
total/synth/PUSH7/p1 1.91 1.61 -15.4% PASS
total/synth/PUSH8/p0 2.02 2.07 +2.5% PASS
total/synth/PUSH8/p1 2.36 2.28 -3.0% PASS
total/synth/PUSH9/p0 1.46 1.47 +0.7% PASS
total/synth/PUSH9/p1 2.10 2.34 +11.2% PASS
total/synth/RETURNDATASIZE/a0 3.42 3.45 +0.8% PASS
total/synth/RETURNDATASIZE/a1 5.70 5.76 +1.1% PASS
total/synth/SAR/b0 4.36 4.35 -0.0% PASS
total/synth/SAR/b1 7.54 7.68 +1.8% PASS
total/synth/SGT/b0 4.26 4.27 +0.1% PASS
total/synth/SGT/b1 3.62 3.64 +0.5% PASS
total/synth/SHL/b0 4.19 4.19 -0.0% PASS
total/synth/SHL/b1 1.81 1.82 +0.5% PASS
total/synth/SHR/b0 3.90 3.98 +2.2% PASS
total/synth/SHR/b1 3.25 3.26 +0.2% PASS
total/synth/SIGNEXTEND/b0 3.32 3.29 -0.9% PASS
total/synth/SIGNEXTEND/b1 6.40 6.73 +5.2% PASS
total/synth/SLT/b0 3.94 3.94 +0.0% PASS
total/synth/SLT/b1 4.40 4.25 -3.4% PASS
total/synth/SUB/b0 2.73 2.74 +0.3% PASS
total/synth/SUB/b1 2.80 2.71 -3.3% PASS
total/synth/SWAP1/s0 1.79 1.69 -5.7% PASS
total/synth/SWAP10/s0 1.70 1.70 +0.0% PASS
total/synth/SWAP11/s0 2.43 2.55 +7.5% PASS
total/synth/SWAP12/s0 2.59 2.66 +2.7% PASS
total/synth/SWAP13/s0 1.70 1.75 +2.9% PASS
total/synth/SWAP14/s0 2.71 2.61 -3.8% PASS
total/synth/SWAP15/s0 2.64 2.55 -3.1% PASS
total/synth/SWAP16/s0 1.71 1.75 +2.5% PASS
total/synth/SWAP2/s0 2.58 2.73 +5.9% PASS
total/synth/SWAP3/s0 2.51 2.52 +0.5% PASS
total/synth/SWAP4/s0 1.69 1.68 -0.1% PASS
total/synth/SWAP5/s0 2.53 2.66 +5.4% PASS
total/synth/SWAP6/s0 2.55 2.66 +4.3% PASS
total/synth/SWAP7/s0 1.69 1.70 +0.3% PASS
total/synth/SWAP8/s0 2.51 2.54 +1.1% PASS
total/synth/SWAP9/s0 2.56 2.61 +1.6% PASS
total/synth/XOR/b0 2.17 2.28 +4.9% PASS
total/synth/XOR/b1 2.37 2.27 -4.2% PASS
total/synth/loop_v1 9.10 9.00 -1.1% PASS
total/synth/loop_v2 9.10 9.06 -0.4% PASS

Summary: 194 benchmarks, 0 regressions


✅ Performance Check Passed (multipass)

Performance Benchmark Results (threshold: 25%)

Benchmark Baseline (us) Current (us) Change Status
total/main/blake2b_huff/8415nulls 1.11 1.12 +1.0% PASS
total/main/blake2b_huff/empty 0.02 0.02 -0.4% PASS
total/main/blake2b_shifts/8415nulls 4.22 4.50 +6.6% PASS
total/main/sha1_divs/5311 0.87 0.91 +4.9% PASS
total/main/sha1_divs/empty 0.01 0.01 +2.1% PASS
total/main/sha1_shifts/5311 0.74 0.74 +0.8% PASS
total/main/sha1_shifts/empty 0.01 0.01 +1.0% PASS
total/main/structarray_alloc/nfts_rank 0.28 0.28 -0.3% PASS
total/main/swap_math/insufficient_liquidity 0.00 0.00 -0.9% PASS
total/main/swap_math/received 0.01 0.01 -0.0% PASS
total/main/swap_math/spent 0.00 0.00 -0.7% PASS
total/main/weierstrudel/1 0.35 0.33 -3.5% PASS
total/main/weierstrudel/15 3.81 3.88 +1.8% PASS
total/micro/JUMPDEST_n0/empty 0.00 0.00 -0.6% PASS
total/micro/jump_around/empty 0.05 0.05 -4.5% PASS
total/micro/loop_with_many_jumpdests/empty 0.01 0.01 +2.7% PASS
total/micro/memory_grow_mload/by1 0.01 0.02 +1.6% PASS
total/micro/memory_grow_mload/by16 0.02 0.02 -1.1% PASS
total/micro/memory_grow_mload/by32 0.01 0.01 -0.3% PASS
total/micro/memory_grow_mload/nogrow 0.01 0.01 -0.5% PASS
total/micro/memory_grow_mstore/by1 0.09 0.09 +2.2% PASS
total/micro/memory_grow_mstore/by16 0.09 0.09 -1.0% PASS
total/micro/memory_grow_mstore/by32 0.18 0.18 -0.0% PASS
total/micro/memory_grow_mstore/nogrow 0.09 0.09 +2.3% PASS
total/micro/signextend/one 0.08 0.08 -0.0% PASS
total/micro/signextend/zero 0.17 0.17 -3.1% PASS
total/synth/ADD/b0 0.00 0.00 -0.2% PASS
total/synth/ADD/b1 0.00 0.00 -0.1% PASS
total/synth/ADDRESS/a0 0.20 0.19 -0.3% PASS
total/synth/ADDRESS/a1 0.15 0.15 +2.3% PASS
total/synth/AND/b0 0.00 0.00 +0.5% PASS
total/synth/AND/b1 0.00 0.00 +1.4% PASS
total/synth/BYTE/b0 0.00 0.00 -0.2% PASS
total/synth/BYTE/b1 0.00 0.00 +0.0% PASS
total/synth/CALLDATASIZE/a0 0.13 0.10 -25.1% PASS
total/synth/CALLDATASIZE/a1 0.07 0.07 -0.2% PASS
total/synth/CALLER/a0 0.23 0.20 -14.8% PASS
total/synth/CALLER/a1 0.23 0.21 -7.3% PASS
total/synth/CALLVALUE/a0 0.19 0.19 -0.4% PASS
total/synth/CALLVALUE/a1 0.27 0.25 -7.5% PASS
total/synth/CODESIZE/a0 0.10 0.10 +1.2% PASS
total/synth/CODESIZE/a1 0.10 0.11 +11.5% PASS
total/synth/DUP1/d0 0.00 0.00 +2.7% PASS
total/synth/DUP1/d1 0.00 0.00 +1.3% PASS
total/synth/DUP10/d0 0.00 0.00 +0.9% PASS
total/synth/DUP10/d1 0.00 0.00 -3.7% PASS
total/synth/DUP11/d0 0.00 0.00 -1.3% PASS
total/synth/DUP11/d1 0.00 0.00 +1.4% PASS
total/synth/DUP12/d0 0.00 0.00 -0.2% PASS
total/synth/DUP12/d1 0.00 0.00 -0.2% PASS
total/synth/DUP13/d0 0.00 0.00 +6.9% PASS
total/synth/DUP13/d1 0.00 0.00 +0.1% PASS
total/synth/DUP14/d0 0.00 0.00 -0.2% PASS
total/synth/DUP14/d1 0.00 0.00 +1.6% PASS
total/synth/DUP15/d0 0.00 0.00 -1.0% PASS
total/synth/DUP15/d1 0.00 0.00 +0.4% PASS
total/synth/DUP16/d0 0.00 0.00 -2.1% PASS
total/synth/DUP16/d1 0.00 0.00 +0.6% PASS
total/synth/DUP2/d0 0.00 0.00 -0.2% PASS
total/synth/DUP2/d1 0.00 0.00 +2.2% PASS
total/synth/DUP3/d0 0.00 0.00 +2.0% PASS
total/synth/DUP3/d1 0.00 0.00 -0.7% PASS
total/synth/DUP4/d0 0.00 0.00 -2.3% PASS
total/synth/DUP4/d1 0.00 0.00 +0.3% PASS
total/synth/DUP5/d0 0.00 0.00 +0.3% PASS
total/synth/DUP5/d1 0.00 0.00 +1.0% PASS
total/synth/DUP6/d0 0.00 0.00 -1.2% PASS
total/synth/DUP6/d1 0.00 0.00 -2.8% PASS
total/synth/DUP7/d0 0.00 0.00 +0.7% PASS
total/synth/DUP7/d1 0.00 0.00 +1.1% PASS
total/synth/DUP8/d0 0.00 0.00 +0.0% PASS
total/synth/DUP8/d1 0.00 0.00 +1.3% PASS
total/synth/DUP9/d0 0.00 0.00 -1.1% PASS
total/synth/DUP9/d1 0.00 0.00 -0.9% PASS
total/synth/EQ/b0 0.00 0.00 +1.3% PASS
total/synth/EQ/b1 0.00 0.00 -1.8% PASS
total/synth/GAS/a0 0.86 0.86 -0.1% PASS
total/synth/GAS/a1 1.03 1.02 -0.3% PASS
total/synth/GT/b0 0.00 0.00 +1.9% PASS
total/synth/GT/b1 0.00 0.00 +0.5% PASS
total/synth/ISZERO/u0 0.00 0.00 +0.7% PASS
total/synth/JUMPDEST/n0 0.00 0.00 -0.5% PASS
total/synth/LT/b0 0.00 0.00 +0.2% PASS
total/synth/LT/b1 0.00 0.00 -0.0% PASS
total/synth/MSIZE/a0 0.00 0.00 +0.4% PASS
total/synth/MSIZE/a1 0.00 0.00 +13.6% PASS
total/synth/MUL/b0 0.00 0.00 -2.2% PASS
total/synth/MUL/b1 0.00 0.00 +0.1% PASS
total/synth/NOT/u0 0.00 0.00 -2.6% PASS
total/synth/OR/b0 0.00 0.00 -1.0% PASS
total/synth/OR/b1 0.00 0.00 -0.3% PASS
total/synth/PC/a0 0.00 0.00 -2.6% PASS
total/synth/PC/a1 0.00 0.00 -0.8% PASS
total/synth/PUSH1/p0 0.00 0.00 +6.1% PASS
total/synth/PUSH1/p1 0.00 0.00 -0.9% PASS
total/synth/PUSH10/p0 0.00 0.00 +1.6% PASS
total/synth/PUSH10/p1 0.00 0.00 -2.8% PASS
total/synth/PUSH11/p0 0.00 0.00 -3.7% PASS
total/synth/PUSH11/p1 0.00 0.00 -6.4% PASS
total/synth/PUSH12/p0 0.00 0.00 +0.7% PASS
total/synth/PUSH12/p1 0.00 0.00 -0.9% PASS
total/synth/PUSH13/p0 0.00 0.00 +1.6% PASS
total/synth/PUSH13/p1 0.00 0.00 +1.8% PASS
total/synth/PUSH14/p0 0.00 0.00 +1.8% PASS
total/synth/PUSH14/p1 0.00 0.00 -3.5% PASS
total/synth/PUSH15/p0 0.00 0.00 -0.9% PASS
total/synth/PUSH15/p1 0.00 0.00 -4.5% PASS
total/synth/PUSH16/p0 0.00 0.00 +4.0% PASS
total/synth/PUSH16/p1 0.00 0.00 +0.0% PASS
total/synth/PUSH17/p0 0.00 0.00 +3.5% PASS
total/synth/PUSH17/p1 0.00 0.00 -0.3% PASS
total/synth/PUSH18/p0 0.00 0.00 -0.8% PASS
total/synth/PUSH18/p1 0.00 0.00 +7.0% PASS
total/synth/PUSH19/p0 0.00 0.00 -1.2% PASS
total/synth/PUSH19/p1 0.00 0.00 -0.5% PASS
total/synth/PUSH2/p0 0.00 0.00 -6.8% PASS
total/synth/PUSH2/p1 0.00 0.00 +0.6% PASS
total/synth/PUSH20/p0 0.00 0.00 +3.9% PASS
total/synth/PUSH20/p1 0.00 0.00 -0.4% PASS
total/synth/PUSH21/p0 0.00 0.00 +0.6% PASS
total/synth/PUSH21/p1 0.00 0.00 -0.5% PASS
total/synth/PUSH22/p0 1.83 1.96 +8.1% PASS
total/synth/PUSH22/p1 1.70 1.61 -5.1% PASS
total/synth/PUSH23/p0 1.81 1.82 +0.6% PASS
total/synth/PUSH23/p1 1.96 1.87 -4.8% PASS
total/synth/PUSH24/p0 1.46 1.47 +0.7% PASS
total/synth/PUSH24/p1 2.06 1.94 -5.6% PASS
total/synth/PUSH25/p0 1.82 1.95 +7.2% PASS
total/synth/PUSH25/p1 1.60 1.62 +1.3% PASS
total/synth/PUSH26/p0 1.85 1.81 -2.1% PASS
total/synth/PUSH26/p1 2.00 1.91 -4.7% PASS
total/synth/PUSH27/p0 1.46 1.47 +0.3% PASS
total/synth/PUSH27/p1 2.16 1.86 -13.9% PASS
total/synth/PUSH28/p0 1.85 1.82 -1.6% PASS
total/synth/PUSH28/p1 1.61 1.60 -0.6% PASS
total/synth/PUSH29/p0 1.81 1.90 +4.5% PASS
total/synth/PUSH29/p1 2.00 1.95 -2.6% PASS
total/synth/PUSH3/p0 0.00 0.00 -0.5% PASS
total/synth/PUSH3/p1 0.00 0.00 -0.5% PASS
total/synth/PUSH30/p0 1.53 1.54 +0.9% PASS
total/synth/PUSH30/p1 1.84 1.87 +2.1% PASS
total/synth/PUSH31/p0 1.82 1.83 +0.4% PASS
total/synth/PUSH31/p1 1.70 1.63 -4.1% PASS
total/synth/PUSH32/p0 1.88 1.90 +1.0% PASS
total/synth/PUSH32/p1 1.95 1.92 -1.6% PASS
total/synth/PUSH4/p0 0.00 0.00 +0.9% PASS
total/synth/PUSH4/p1 0.00 0.00 -2.3% PASS
total/synth/PUSH5/p0 0.00 0.00 +0.9% PASS
total/synth/PUSH5/p1 0.00 0.00 -4.3% PASS
total/synth/PUSH6/p0 0.00 0.00 +1.6% PASS
total/synth/PUSH6/p1 0.00 0.00 +2.4% PASS
total/synth/PUSH7/p0 0.00 0.00 -0.8% PASS
total/synth/PUSH7/p1 0.00 0.00 -0.7% PASS
total/synth/PUSH8/p0 0.00 0.00 -0.2% PASS
total/synth/PUSH8/p1 0.00 0.00 -0.7% PASS
total/synth/PUSH9/p0 0.00 0.00 +3.5% PASS
total/synth/PUSH9/p1 0.00 0.00 +0.7% PASS
total/synth/RETURNDATASIZE/a0 0.03 0.03 -0.0% PASS
total/synth/RETURNDATASIZE/a1 0.05 0.05 +2.6% PASS
total/synth/SAR/b0 0.00 0.00 -0.1% PASS
total/synth/SAR/b1 0.00 0.00 -2.1% PASS
total/synth/SGT/b0 0.00 0.00 +0.4% PASS
total/synth/SGT/b1 0.00 0.00 -0.9% PASS
total/synth/SHL/b0 0.00 0.00 +0.2% PASS
total/synth/SHL/b1 0.00 0.00 +0.2% PASS
total/synth/SHR/b0 0.00 0.00 +5.0% PASS
total/synth/SHR/b1 0.00 0.00 +2.9% PASS
total/synth/SIGNEXTEND/b0 0.00 0.00 +0.1% PASS
total/synth/SIGNEXTEND/b1 0.00 0.00 -0.4% PASS
total/synth/SLT/b0 0.00 0.00 -0.0% PASS
total/synth/SLT/b1 0.00 0.00 +2.2% PASS
total/synth/SUB/b0 0.00 0.00 +0.3% PASS
total/synth/SUB/b1 0.00 0.00 +0.7% PASS
total/synth/SWAP1/s0 0.00 0.00 +0.8% PASS
total/synth/SWAP10/s0 0.00 0.00 +0.6% PASS
total/synth/SWAP11/s0 0.00 0.00 +1.6% PASS
total/synth/SWAP12/s0 0.00 0.00 +0.5% PASS
total/synth/SWAP13/s0 0.00 0.00 +0.5% PASS
total/synth/SWAP14/s0 0.00 0.00 +0.5% PASS
total/synth/SWAP15/s0 0.00 0.00 +1.3% PASS
total/synth/SWAP16/s0 0.00 0.00 -0.2% PASS
total/synth/SWAP2/s0 0.00 0.00 +0.6% PASS
total/synth/SWAP3/s0 0.00 0.00 +1.8% PASS
total/synth/SWAP4/s0 0.00 0.00 -0.3% PASS
total/synth/SWAP5/s0 0.00 0.00 -3.8% PASS
total/synth/SWAP6/s0 0.00 0.00 +1.5% PASS
total/synth/SWAP7/s0 0.00 0.00 -0.5% PASS
total/synth/SWAP8/s0 0.00 0.00 -2.2% PASS
total/synth/SWAP9/s0 0.00 0.00 +1.6% PASS
total/synth/XOR/b0 0.00 0.00 +1.0% PASS
total/synth/XOR/b1 0.00 0.00 +1.3% PASS
total/synth/loop_v1 8.26 7.93 -4.0% PASS
total/synth/loop_v2 8.29 8.40 +1.3% PASS

Summary: 193 benchmarks, 0 regressions


@zoowii
zoowii merged commit 101e44e into DTVMStack:main Jul 29, 2026
17 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants