Skip to content

perf(evm): relax jit fallback thresholds for benchmark corpus#430

Open
abmcar wants to merge 2 commits intoDTVMStack:mainfrom
abmcar:perf/relax-jit-fallback-thresholds
Open

perf(evm): relax jit fallback thresholds for benchmark corpus#430
abmcar wants to merge 2 commits intoDTVMStack:mainfrom
abmcar:perf/relax-jit-fallback-thresholds

Conversation

@abmcar
Copy link
Copy Markdown
Contributor

@abmcar abmcar commented Mar 24, 2026

Summary

  • relax EVM JIT precompile fallback MIR / RA thresholds
  • keep the bytecode-size cap unchanged
  • keep the current evmone benchmark corpus on the JIT path, including micro/signextend

Validation

  • static analyzer sweep over the current benchmark corpus reports fallback_contracts=0
  • cmake --build build -j4
  • full external/total benchmark comparison against the old thresholds
    • geomean: +0.28%
    • sum ratio: +0.69%
    • former fallback-heavy cases are mixed: memory_grow_mstore/* improves, while signextend/* and snailtracer regress slightly

Keep the bytecode size cap unchanged while raising the MIR and RA pattern limits.

This keeps the current evmone benchmark corpus on the JIT path, including the pathological signextend micro benchmark.
Copilot AI review requested due to automatic review settings March 24, 2026 05:43
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adjusts the EVM JIT precompile fallback thresholds in EVMAnalyzer to keep the existing evmone benchmark corpus on the JIT path (while preserving the bytecode-size cap).

Changes:

  • Raised MIR-estimate and RA-pattern fallback thresholds used to decide when to force interpreter execution.
  • Updated the in-header documentation describing the intent behind these thresholds.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +114 to +117
/// Thresholds for JIT suitability fallback. Keep the bytecode size cap intact,
/// but raise the MIR / RA pattern limits high enough that the current evmone
/// benchmark corpus stays on the JIT path (including the pathological
/// signextend micro benchmark).
Copy link

Copilot AI Mar 24, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The new threshold comment hard-codes a policy goal tied to the current evmone benchmark corpus (and a specific micro-benchmark). That’s likely to go stale and makes it harder to reason about the safety goal of this fallback (avoiding pathological JIT compile-time blowups). Consider rewriting this comment to describe the invariant being protected (e.g., cap compile-time / RA complexity) and, if needed, reference the benchmark corpus in a higher-level tuning doc or commit/benchmark notes rather than as the normative requirement in a public header.

Suggested change
/// Thresholds for JIT suitability fallback. Keep the bytecode size cap intact,
/// but raise the MIR / RA pattern limits high enough that the current evmone
/// benchmark corpus stays on the JIT path (including the pathological
/// signextend micro benchmark).
/// Thresholds for JIT suitability fallback. These limits bound bytecode size
/// and estimated MIR / RA complexity to avoid pathological JIT compile-time
/// blowups (e.g., superlinear register allocation on dense RA-expensive
/// instruction patterns), while keeping typical contracts on the JIT path.

Copilot uses AI. Check for mistakes.
Comment on lines 118 to +122
static constexpr size_t MAX_JIT_BYTECODE_SIZE = 0x6000;
static constexpr size_t MAX_JIT_MIR_ESTIMATE = 50000;
static constexpr size_t MAX_CONSECUTIVE_RA_EXPENSIVE = 128;
static constexpr size_t MAX_BLOCK_RA_EXPENSIVE = 256;
static constexpr size_t MAX_DUP_FEEDBACK_PATTERN = 64;
static constexpr size_t MAX_JIT_MIR_ESTIMATE = 0x50000;
static constexpr size_t MAX_CONSECUTIVE_RA_EXPENSIVE = 0x3000;
static constexpr size_t MAX_BLOCK_RA_EXPENSIVE = 0x3000;
static constexpr size_t MAX_DUP_FEEDBACK_PATTERN = 0x3000;
Copy link

Copilot AI Mar 24, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These new limits (0x3000 RA-expensive ops per block / consecutive run, and 0x50000 MIR estimate) are orders of magnitude above the “hundreds cause compilation times to explode” rationale described earlier in this file. With MAX_JIT_BYTECODE_SIZE still at 0x6000, this effectively allows extremely RA-dense single-block bytecode to stay on the JIT path, which undermines the fallback’s purpose and can increase worst-case compile-time (and potential DoS surface) for attacker-controlled contracts. Can we (a) justify these specific magnitudes with data in a comment, and/or (b) tie these thresholds to MAX_JIT_BYTECODE_SIZE or a measured compile-time budget so the guard remains meaningful as workloads change?

Copilot uses AI. Check for mistakes.
@github-actions
Copy link
Copy Markdown

github-actions bot commented Mar 24, 2026

⚡ 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 1.49 1.33 -10.9% PASS
total/main/blake2b_huff/empty 0.02 0.02 -10.8% PASS
total/main/blake2b_shifts/8415nulls 11.59 9.46 -18.4% PASS
total/main/sha1_divs/5311 5.31 4.28 -19.4% PASS
total/main/sha1_divs/empty 0.07 0.05 -23.1% PASS
total/main/sha1_shifts/5311 2.82 2.23 -20.8% PASS
total/main/sha1_shifts/empty 0.03 0.03 -19.2% PASS
total/main/snailtracer/benchmark 52.24 47.22 -9.6% PASS
total/main/structarray_alloc/nfts_rank 1.00 0.94 -5.5% PASS
total/main/swap_math/insufficient_liquidity 0.00 0.00 -21.8% PASS
total/main/swap_math/received 0.01 0.00 -22.5% PASS
total/main/swap_math/spent 0.00 0.00 -20.7% PASS
total/main/weierstrudel/1 0.29 0.23 -19.9% PASS
total/main/weierstrudel/15 3.16 2.50 -20.8% PASS
total/micro/JUMPDEST_n0/empty 1.63 1.51 -7.5% PASS
total/micro/jump_around/empty 0.09 0.04 -58.7% PASS
total/micro/loop_with_many_jumpdests/empty 28.83 23.01 -20.2% PASS
total/micro/memory_grow_mload/by1 0.09 0.08 -12.3% PASS
total/micro/memory_grow_mload/by16 0.10 0.09 -4.0% PASS
total/micro/memory_grow_mload/by32 0.11 0.10 -8.3% PASS
total/micro/memory_grow_mload/nogrow 0.09 0.08 -15.0% PASS
total/micro/memory_grow_mstore/by1 0.09 0.09 -0.7% PASS
total/micro/memory_grow_mstore/by16 0.11 0.10 -5.5% PASS
total/micro/memory_grow_mstore/by32 0.12 0.11 -8.4% PASS
total/micro/memory_grow_mstore/nogrow 0.09 0.09 -3.1% PASS
total/micro/signextend/one 0.24 0.23 -3.5% PASS
total/micro/signextend/zero 0.24 0.23 -3.9% PASS
total/synth/ADD/b0 3.52 1.32 -62.5% PASS
total/synth/ADD/b1 1.99 1.19 -40.4% PASS
total/synth/ADDRESS/a0 4.82 5.96 +23.7% PASS
total/synth/ADDRESS/a1 5.27 6.08 +15.4% PASS
total/synth/AND/b0 1.64 1.25 -23.5% PASS
total/synth/AND/b1 1.70 1.04 -38.8% PASS
total/synth/BYTE/b0 6.03 4.58 -24.1% PASS
total/synth/BYTE/b1 4.73 3.65 -22.7% PASS
total/synth/CALLDATASIZE/a0 3.20 2.97 -7.2% PASS
total/synth/CALLDATASIZE/a1 4.04 3.01 -25.4% PASS
total/synth/CALLER/a0 4.82 5.98 +24.0% PASS
total/synth/CALLER/a1 5.36 6.09 +13.6% PASS
total/synth/CALLVALUE/a0 3.02 2.99 -0.8% PASS
total/synth/CALLVALUE/a1 3.35 3.00 -10.5% PASS
total/synth/CODESIZE/a0 3.43 3.47 +1.0% PASS
total/synth/CODESIZE/a1 3.75 3.50 -6.7% PASS
total/synth/DUP1/d0 1.06 0.61 -42.6% PASS
total/synth/DUP1/d1 1.23 0.65 -46.8% PASS
total/synth/DUP10/d0 1.06 0.61 -42.7% PASS
total/synth/DUP10/d1 0.97 0.61 -37.1% PASS
total/synth/DUP11/d0 1.07 0.61 -42.9% PASS
total/synth/DUP11/d1 1.15 0.61 -46.9% PASS
total/synth/DUP12/d0 1.15 0.61 -46.9% PASS
total/synth/DUP12/d1 1.15 0.61 -46.9% PASS
total/synth/DUP13/d0 1.07 0.61 -43.0% PASS
total/synth/DUP13/d1 1.15 0.61 -46.8% PASS
total/synth/DUP14/d0 0.83 0.61 -26.5% PASS
total/synth/DUP14/d1 1.15 0.61 -46.9% PASS
total/synth/DUP15/d0 0.97 0.61 -37.4% PASS
total/synth/DUP15/d1 1.15 0.61 -46.9% PASS
total/synth/DUP16/d0 1.07 0.61 -43.1% PASS
total/synth/DUP16/d1 1.15 0.61 -46.8% PASS
total/synth/DUP2/d0 0.82 0.61 -26.0% PASS
total/synth/DUP2/d1 1.15 0.61 -46.8% PASS
total/synth/DUP3/d0 1.15 0.61 -46.9% PASS
total/synth/DUP3/d1 1.15 0.61 -46.9% PASS
total/synth/DUP4/d0 1.14 0.61 -46.8% PASS
total/synth/DUP4/d1 1.15 0.61 -46.9% PASS
total/synth/DUP5/d0 0.91 0.61 -32.9% PASS
total/synth/DUP5/d1 1.15 0.61 -46.9% PASS
total/synth/DUP6/d0 1.08 0.61 -43.8% PASS
total/synth/DUP6/d1 1.15 0.61 -46.9% PASS
total/synth/DUP7/d0 1.07 0.61 -43.0% PASS
total/synth/DUP7/d1 1.15 0.61 -46.8% PASS
total/synth/DUP8/d0 1.07 0.61 -43.0% PASS
total/synth/DUP8/d1 1.15 0.61 -46.8% PASS
total/synth/DUP9/d0 0.96 0.61 -36.7% PASS
total/synth/DUP9/d1 1.15 0.61 -46.9% PASS
total/synth/EQ/b0 2.72 2.28 -16.2% PASS
total/synth/EQ/b1 1.39 1.25 -10.2% PASS
total/synth/GAS/a0 3.67 3.24 -11.6% PASS
total/synth/GAS/a1 3.67 3.26 -11.1% PASS
total/synth/GT/b0 2.61 2.22 -15.0% PASS
total/synth/GT/b1 1.39 0.96 -31.2% PASS
total/synth/ISZERO/u0 0.99 0.79 -19.8% PASS
total/synth/JUMPDEST/n0 1.63 1.51 -7.5% PASS
total/synth/LT/b0 2.67 2.17 -18.9% PASS
total/synth/LT/b1 1.39 0.95 -31.2% PASS
total/synth/MSIZE/a0 4.25 4.14 -2.6% PASS
total/synth/MSIZE/a1 4.65 4.31 -7.2% PASS
total/synth/MUL/b0 5.29 4.41 -16.7% PASS
total/synth/MUL/b1 5.29 4.67 -11.8% PASS
total/synth/NOT/u0 1.68 1.08 -35.4% PASS
total/synth/OR/b0 1.63 1.24 -23.9% PASS
total/synth/OR/b1 1.71 1.04 -39.3% PASS
total/synth/PC/a0 3.17 2.94 -7.3% PASS
total/synth/PC/a1 4.02 2.94 -26.8% PASS
total/synth/PUSH1/p0 0.83 0.87 +4.6% PASS
total/synth/PUSH1/p1 1.14 0.88 -23.0% PASS
total/synth/PUSH10/p0 0.84 0.88 +4.1% PASS
total/synth/PUSH10/p1 1.20 0.90 -25.4% PASS
total/synth/PUSH11/p0 1.07 0.88 -17.6% PASS
total/synth/PUSH11/p1 1.21 0.90 -25.6% PASS
total/synth/PUSH12/p0 0.85 0.88 +3.0% PASS
total/synth/PUSH12/p1 1.22 0.90 -26.0% PASS
total/synth/PUSH13/p0 0.85 0.88 +4.1% PASS
total/synth/PUSH13/p1 1.20 0.90 -24.8% PASS
total/synth/PUSH14/p0 0.89 0.87 -1.1% PASS
total/synth/PUSH14/p1 1.19 0.91 -23.6% PASS
total/synth/PUSH15/p0 1.07 0.88 -17.2% PASS
total/synth/PUSH15/p1 1.29 0.89 -31.2% PASS
total/synth/PUSH16/p0 1.07 0.88 -17.3% PASS
total/synth/PUSH16/p1 1.20 0.92 -23.4% PASS
total/synth/PUSH17/p0 0.83 0.89 +6.5% PASS
total/synth/PUSH17/p1 1.20 0.91 -24.6% PASS
total/synth/PUSH18/p0 1.07 0.89 -16.9% PASS
total/synth/PUSH18/p1 1.20 0.92 -23.5% PASS
total/synth/PUSH19/p0 0.87 0.89 +2.2% PASS
total/synth/PUSH19/p1 1.21 0.91 -24.5% PASS
total/synth/PUSH2/p0 1.06 0.87 -18.6% PASS
total/synth/PUSH2/p1 1.15 0.88 -23.4% PASS
total/synth/PUSH20/p0 1.07 0.89 -16.9% PASS
total/synth/PUSH20/p1 1.20 0.92 -23.1% PASS
total/synth/PUSH21/p0 1.03 0.89 -13.4% PASS
total/synth/PUSH21/p1 1.20 0.92 -23.5% PASS
total/synth/PUSH22/p0 1.07 0.88 -17.1% PASS
total/synth/PUSH22/p1 1.22 0.93 -23.7% PASS
total/synth/PUSH23/p0 1.07 0.89 -16.4% PASS
total/synth/PUSH23/p1 1.25 0.92 -26.2% PASS
total/synth/PUSH24/p0 0.94 0.89 -4.9% PASS
total/synth/PUSH24/p1 1.21 0.93 -22.9% PASS
total/synth/PUSH25/p0 1.07 0.89 -16.3% PASS
total/synth/PUSH25/p1 1.22 0.92 -24.2% PASS
total/synth/PUSH26/p0 0.88 0.89 +1.0% PASS
total/synth/PUSH26/p1 1.22 0.95 -21.8% PASS
total/synth/PUSH27/p0 0.83 0.89 +8.0% PASS
total/synth/PUSH27/p1 1.22 0.93 -23.2% PASS
total/synth/PUSH28/p0 0.83 0.89 +7.2% PASS
total/synth/PUSH28/p1 1.21 0.95 -21.8% PASS
total/synth/PUSH29/p0 0.85 0.90 +5.3% PASS
total/synth/PUSH29/p1 1.21 0.95 -21.9% PASS
total/synth/PUSH3/p0 0.83 0.87 +4.4% PASS
total/synth/PUSH3/p1 1.21 0.88 -27.2% PASS
total/synth/PUSH30/p0 0.93 0.91 -2.2% PASS
total/synth/PUSH30/p1 1.22 0.95 -21.9% PASS
total/synth/PUSH31/p0 1.07 0.90 -15.8% PASS
total/synth/PUSH31/p1 1.30 0.94 -27.4% PASS
total/synth/PUSH32/p0 1.01 0.90 -11.5% PASS
total/synth/PUSH32/p1 1.22 1.00 -17.8% PASS
total/synth/PUSH4/p0 1.07 0.87 -18.2% PASS
total/synth/PUSH4/p1 1.21 0.89 -26.3% PASS
total/synth/PUSH5/p0 0.89 0.87 -2.0% PASS
total/synth/PUSH5/p1 1.21 0.89 -26.6% PASS
total/synth/PUSH6/p0 0.85 0.87 +1.8% PASS
total/synth/PUSH6/p1 1.23 0.89 -27.6% PASS
total/synth/PUSH7/p0 0.85 0.87 +2.8% PASS
total/synth/PUSH7/p1 1.21 0.88 -27.1% PASS
total/synth/PUSH8/p0 1.07 0.88 -17.5% PASS
total/synth/PUSH8/p1 1.20 0.89 -26.0% PASS
total/synth/PUSH9/p0 0.88 0.88 -0.4% PASS
total/synth/PUSH9/p1 1.20 0.89 -25.7% PASS
total/synth/RETURNDATASIZE/a0 3.26 3.33 +2.2% PASS
total/synth/RETURNDATASIZE/a1 3.59 3.32 -7.5% PASS
total/synth/SAR/b0 3.76 3.75 -0.3% PASS
total/synth/SAR/b1 4.26 3.91 -8.3% PASS
total/synth/SGT/b0 2.59 2.18 -15.9% PASS
total/synth/SGT/b1 1.63 1.03 -36.9% PASS
total/synth/SHL/b0 3.05 2.82 -7.5% PASS
total/synth/SHL/b1 1.63 1.26 -22.8% PASS
total/synth/SHR/b0 3.10 2.75 -11.3% PASS
total/synth/SHR/b1 1.51 1.22 -19.0% PASS
total/synth/SIGNEXTEND/b0 3.45 2.86 -17.2% PASS
total/synth/SIGNEXTEND/b1 3.53 2.93 -16.9% PASS
total/synth/SLT/b0 2.58 2.22 -14.0% PASS
total/synth/SLT/b1 1.63 1.03 -36.8% PASS
total/synth/SUB/b0 1.94 1.32 -31.8% PASS
total/synth/SUB/b1 1.97 1.19 -39.8% PASS
total/synth/SWAP1/s0 1.49 1.08 -27.7% PASS
total/synth/SWAP10/s0 1.50 1.08 -28.1% PASS
total/synth/SWAP11/s0 1.50 1.08 -28.4% PASS
total/synth/SWAP12/s0 1.51 1.07 -29.0% PASS
total/synth/SWAP13/s0 1.51 1.07 -29.0% PASS
total/synth/SWAP14/s0 1.51 1.08 -28.4% PASS
total/synth/SWAP15/s0 1.51 1.07 -28.8% PASS
total/synth/SWAP16/s0 1.51 1.07 -29.1% PASS
total/synth/SWAP2/s0 1.49 1.08 -27.7% PASS
total/synth/SWAP3/s0 1.49 1.07 -28.2% PASS
total/synth/SWAP4/s0 1.49 1.08 -27.7% PASS
total/synth/SWAP5/s0 1.49 1.07 -28.4% PASS
total/synth/SWAP6/s0 1.49 1.08 -27.8% PASS
total/synth/SWAP7/s0 1.50 1.08 -27.9% PASS
total/synth/SWAP8/s0 1.50 1.08 -28.0% PASS
total/synth/SWAP9/s0 1.50 1.07 -29.0% PASS
total/synth/XOR/b0 1.55 0.99 -36.1% PASS
total/synth/XOR/b1 1.55 0.97 -37.0% PASS
total/synth/loop_v1 4.75 3.58 -24.6% PASS
total/synth/loop_v2 4.75 3.61 -23.9% 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.54 1.04 -32.6% PASS
total/main/blake2b_huff/empty 0.07 0.06 -10.9% PASS
total/main/blake2b_shifts/8415nulls 5.22 5.27 +0.9% PASS
total/main/sha1_divs/5311 1.89 1.90 +0.1% PASS
total/main/sha1_divs/empty 0.03 0.03 +0.0% PASS
total/main/sha1_shifts/5311 2.76 2.76 +0.0% PASS
total/main/sha1_shifts/empty 0.04 0.04 +0.1% PASS
total/main/snailtracer/benchmark 53.70 30.83 -42.6% PASS
total/main/structarray_alloc/nfts_rank 0.29 0.29 +0.2% PASS
total/main/swap_math/insufficient_liquidity 0.02 0.02 +0.6% PASS
total/main/swap_math/received 0.02 0.02 +0.6% PASS
total/main/swap_math/spent 0.02 0.02 +0.3% PASS
total/main/weierstrudel/1 0.36 0.31 -14.5% PASS
total/main/weierstrudel/15 3.21 2.65 -17.5% PASS
total/micro/JUMPDEST_n0/empty 0.13 0.13 -0.6% PASS
total/micro/jump_around/empty 0.62 0.62 -0.1% PASS
total/micro/loop_with_many_jumpdests/empty 1.95 1.96 +0.3% PASS
total/micro/memory_grow_mload/by1 0.18 0.14 -22.4% PASS
total/micro/memory_grow_mload/by16 0.19 0.19 +0.2% PASS
total/micro/memory_grow_mload/by32 0.21 0.26 +23.3% PASS
total/micro/memory_grow_mload/nogrow 0.19 0.14 -24.3% PASS
total/micro/memory_grow_mstore/by1 0.19 0.14 -23.2% PASS
total/micro/memory_grow_mstore/by16 0.20 0.20 -2.4% PASS
total/micro/memory_grow_mstore/by32 0.22 0.27 +23.8% PASS
total/micro/memory_grow_mstore/nogrow 0.18 0.14 -22.3% PASS
total/micro/signextend/one 0.35 0.23 -32.7% PASS
total/micro/signextend/zero 0.35 0.23 -33.0% PASS
total/synth/ADD/b0 0.01 0.01 +0.1% PASS
total/synth/ADD/b1 0.01 0.01 +0.3% PASS
total/synth/ADDRESS/a0 0.16 0.16 -0.4% PASS
total/synth/ADDRESS/a1 0.16 0.16 +0.1% PASS
total/synth/AND/b0 0.01 0.01 +0.2% PASS
total/synth/AND/b1 0.01 0.01 +0.2% PASS
total/synth/BYTE/b0 1.95 1.95 -0.0% PASS
total/synth/BYTE/b1 2.32 2.32 -0.0% PASS
total/synth/CALLDATASIZE/a0 0.08 0.08 +2.8% PASS
total/synth/CALLDATASIZE/a1 0.08 0.08 +3.0% PASS
total/synth/CALLER/a0 0.16 0.16 -0.0% PASS
total/synth/CALLER/a1 0.16 0.16 -0.0% PASS
total/synth/CALLVALUE/a0 0.27 0.27 +0.1% PASS
total/synth/CALLVALUE/a1 0.28 0.28 -0.1% PASS
total/synth/CODESIZE/a0 0.08 0.08 +0.1% PASS
total/synth/CODESIZE/a1 0.08 0.08 +0.0% PASS
total/synth/DUP1/d0 0.01 0.01 -0.1% PASS
total/synth/DUP1/d1 0.01 0.01 +0.2% PASS
total/synth/DUP10/d0 0.01 0.01 +0.2% PASS
total/synth/DUP10/d1 0.01 0.01 +0.2% PASS
total/synth/DUP11/d0 0.01 0.01 +0.0% PASS
total/synth/DUP11/d1 0.01 0.01 +0.1% PASS
total/synth/DUP12/d0 0.01 0.01 +0.1% PASS
total/synth/DUP12/d1 0.01 0.01 +0.2% PASS
total/synth/DUP13/d0 0.01 0.01 +0.4% PASS
total/synth/DUP13/d1 0.01 0.01 +0.1% PASS
total/synth/DUP14/d0 0.01 0.01 +0.1% PASS
total/synth/DUP14/d1 0.01 0.01 +0.2% PASS
total/synth/DUP15/d0 0.01 0.01 +0.1% PASS
total/synth/DUP15/d1 0.01 0.01 +0.3% PASS
total/synth/DUP16/d0 0.01 0.01 +0.2% PASS
total/synth/DUP16/d1 0.01 0.01 +0.2% PASS
total/synth/DUP2/d0 0.01 0.01 +0.0% PASS
total/synth/DUP2/d1 0.01 0.01 +0.1% PASS
total/synth/DUP3/d0 0.01 0.01 +0.1% PASS
total/synth/DUP3/d1 0.01 0.01 +0.1% PASS
total/synth/DUP4/d0 0.01 0.01 +0.1% PASS
total/synth/DUP4/d1 0.01 0.01 +0.2% PASS
total/synth/DUP5/d0 0.01 0.01 +0.0% PASS
total/synth/DUP5/d1 0.01 0.01 +0.1% PASS
total/synth/DUP6/d0 0.01 0.01 +0.1% PASS
total/synth/DUP6/d1 0.01 0.01 +0.4% PASS
total/synth/DUP7/d0 0.01 0.01 +0.1% PASS
total/synth/DUP7/d1 0.01 0.01 +0.2% PASS
total/synth/DUP8/d0 0.01 0.01 +0.1% PASS
total/synth/DUP8/d1 0.01 0.01 +0.2% PASS
total/synth/DUP9/d0 0.01 0.01 +0.1% PASS
total/synth/DUP9/d1 0.01 0.01 +0.2% PASS
total/synth/EQ/b0 0.01 0.01 +0.1% PASS
total/synth/EQ/b1 0.01 0.01 +0.0% PASS
total/synth/GAS/a0 0.80 0.80 -0.1% PASS
total/synth/GAS/a1 0.76 0.76 +0.1% PASS
total/synth/GT/b0 0.01 0.01 +0.0% PASS
total/synth/GT/b1 0.01 0.01 +0.0% PASS
total/synth/ISZERO/u0 0.01 0.01 +0.3% PASS
total/synth/JUMPDEST/n0 0.14 0.13 -0.4% PASS
total/synth/LT/b0 0.01 0.01 +0.0% PASS
total/synth/LT/b1 0.01 0.01 +0.2% PASS
total/synth/MSIZE/a0 0.01 0.01 -0.2% PASS
total/synth/MSIZE/a1 0.01 0.01 +0.2% PASS
total/synth/MUL/b0 0.01 0.01 +0.1% PASS
total/synth/MUL/b1 0.01 0.01 +0.2% PASS
total/synth/NOT/u0 0.01 0.01 +0.1% PASS
total/synth/OR/b0 0.01 0.01 -0.1% PASS
total/synth/OR/b1 0.01 0.01 +0.1% PASS
total/synth/PC/a0 0.01 0.01 -0.3% PASS
total/synth/PC/a1 0.01 0.01 +0.1% PASS
total/synth/PUSH1/p0 0.01 0.01 +0.1% PASS
total/synth/PUSH1/p1 0.01 0.01 +0.2% PASS
total/synth/PUSH10/p0 0.01 0.01 -0.1% PASS
total/synth/PUSH10/p1 0.01 0.01 +0.2% PASS
total/synth/PUSH11/p0 0.01 0.01 -0.2% PASS
total/synth/PUSH11/p1 0.01 0.01 +0.1% PASS
total/synth/PUSH12/p0 0.01 0.01 +0.1% PASS
total/synth/PUSH12/p1 0.01 0.01 +0.0% PASS
total/synth/PUSH13/p0 0.01 0.01 +0.1% PASS
total/synth/PUSH13/p1 0.01 0.01 +0.1% PASS
total/synth/PUSH14/p0 0.01 0.01 +0.3% PASS
total/synth/PUSH14/p1 0.01 0.01 +0.2% PASS
total/synth/PUSH15/p0 0.01 0.01 +0.1% PASS
total/synth/PUSH15/p1 0.01 0.01 +0.1% PASS
total/synth/PUSH16/p0 0.01 0.01 +0.1% PASS
total/synth/PUSH16/p1 0.01 0.01 -0.9% PASS
total/synth/PUSH17/p0 0.01 0.01 +1.3% PASS
total/synth/PUSH17/p1 0.01 0.01 +0.1% PASS
total/synth/PUSH18/p0 0.01 0.01 +0.1% PASS
total/synth/PUSH18/p1 0.01 0.01 +0.1% PASS
total/synth/PUSH19/p0 0.01 0.01 +0.2% PASS
total/synth/PUSH19/p1 0.01 0.01 +0.0% PASS
total/synth/PUSH2/p0 0.01 0.01 +0.1% PASS
total/synth/PUSH2/p1 0.01 0.01 +0.2% PASS
total/synth/PUSH20/p0 0.01 0.01 +0.2% PASS
total/synth/PUSH20/p1 0.01 0.01 +0.1% PASS
total/synth/PUSH21/p0 0.01 0.01 +0.0% PASS
total/synth/PUSH21/p1 0.01 0.01 +0.1% PASS
total/synth/PUSH22/p0 1.08 1.08 +0.2% PASS
total/synth/PUSH22/p1 1.22 1.25 +2.2% PASS
total/synth/PUSH23/p0 1.08 1.08 +0.1% PASS
total/synth/PUSH23/p1 1.25 1.23 -1.4% PASS
total/synth/PUSH24/p0 1.08 1.08 +0.1% PASS
total/synth/PUSH24/p1 1.25 1.25 -0.3% PASS
total/synth/PUSH25/p0 1.08 1.08 +0.1% PASS
total/synth/PUSH25/p1 1.23 1.23 +0.5% PASS
total/synth/PUSH26/p0 0.84 0.84 +0.6% PASS
total/synth/PUSH26/p1 1.25 1.23 -0.9% PASS
total/synth/PUSH27/p0 1.08 1.08 +0.2% PASS
total/synth/PUSH27/p1 1.25 1.23 -1.5% PASS
total/synth/PUSH28/p0 1.08 1.08 +0.1% PASS
total/synth/PUSH28/p1 1.25 1.25 +0.3% PASS
total/synth/PUSH29/p0 1.08 1.08 +0.6% PASS
total/synth/PUSH29/p1 1.24 1.26 +1.7% PASS
total/synth/PUSH3/p0 0.01 0.01 +0.1% PASS
total/synth/PUSH3/p1 0.01 0.01 +0.1% PASS
total/synth/PUSH30/p0 1.10 1.09 -1.4% PASS
total/synth/PUSH30/p1 1.26 1.26 -0.1% PASS
total/synth/PUSH31/p0 1.08 1.08 +0.2% PASS
total/synth/PUSH31/p1 1.34 1.31 -1.9% PASS
total/synth/PUSH32/p0 1.08 1.08 +0.3% PASS
total/synth/PUSH32/p1 1.25 1.27 +1.1% PASS
total/synth/PUSH4/p0 0.01 0.01 +0.3% PASS
total/synth/PUSH4/p1 0.01 0.01 +0.2% PASS
total/synth/PUSH5/p0 0.01 0.01 +0.0% PASS
total/synth/PUSH5/p1 0.01 0.01 +0.1% PASS
total/synth/PUSH6/p0 0.01 0.01 +0.2% PASS
total/synth/PUSH6/p1 0.01 0.01 +0.2% PASS
total/synth/PUSH7/p0 0.01 0.01 +0.5% PASS
total/synth/PUSH7/p1 0.01 0.01 +0.3% PASS
total/synth/PUSH8/p0 0.01 0.01 -0.3% PASS
total/synth/PUSH8/p1 0.01 0.01 +0.1% PASS
total/synth/PUSH9/p0 0.01 0.01 +0.1% PASS
total/synth/PUSH9/p1 0.01 0.01 +0.2% PASS
total/synth/RETURNDATASIZE/a0 0.53 0.53 -0.2% PASS
total/synth/RETURNDATASIZE/a1 0.49 0.49 +0.0% PASS
total/synth/SAR/b0 3.78 5.78 +52.8% PASS
total/synth/SAR/b1 4.28 6.33 +47.7% PASS
total/synth/SGT/b0 0.01 0.01 +0.1% PASS
total/synth/SGT/b1 0.01 0.01 +0.1% PASS
total/synth/SHL/b0 3.06 12.20 +298.4% PASS
total/synth/SHL/b1 1.64 12.15 +641.0% PASS
total/synth/SHR/b0 3.11 10.39 +234.0% PASS
total/synth/SHR/b1 1.52 10.55 +593.9% PASS
total/synth/SIGNEXTEND/b0 3.12 3.36 +7.7% PASS
total/synth/SIGNEXTEND/b1 3.55 3.19 -10.3% PASS
total/synth/SLT/b0 0.01 0.01 +0.1% PASS
total/synth/SLT/b1 0.01 0.01 +0.2% PASS
total/synth/SUB/b0 0.01 0.01 -0.3% PASS
total/synth/SUB/b1 0.01 0.01 +0.2% PASS
total/synth/SWAP1/s0 0.01 0.01 +0.2% PASS
total/synth/SWAP10/s0 0.01 0.01 +0.3% PASS
total/synth/SWAP11/s0 0.01 0.01 +0.0% PASS
total/synth/SWAP12/s0 0.01 0.01 +0.2% PASS
total/synth/SWAP13/s0 0.01 0.01 +0.2% PASS
total/synth/SWAP14/s0 0.01 0.01 +0.0% PASS
total/synth/SWAP15/s0 0.01 0.01 +0.2% PASS
total/synth/SWAP16/s0 0.01 0.01 +0.2% PASS
total/synth/SWAP2/s0 0.01 0.01 +0.2% PASS
total/synth/SWAP3/s0 0.01 0.01 +0.2% PASS
total/synth/SWAP4/s0 0.01 0.01 +0.1% PASS
total/synth/SWAP5/s0 0.01 0.01 +0.2% PASS
total/synth/SWAP6/s0 0.01 0.01 +0.2% PASS
total/synth/SWAP7/s0 0.01 0.01 +0.1% PASS
total/synth/SWAP8/s0 0.01 0.01 +0.2% PASS
total/synth/SWAP9/s0 0.01 0.01 +0.1% PASS
total/synth/XOR/b0 0.01 0.01 +0.1% PASS
total/synth/XOR/b1 0.01 0.01 +0.2% PASS
total/synth/loop_v1 1.41 1.41 +0.5% PASS
total/synth/loop_v2 1.31 1.33 +1.4% PASS

Summary: 194 benchmarks, 0 regressions


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.

3 participants