Skip to content

feat(compiler): add opt-in EVM compiler observation - #587

Open
ZR74 wants to merge 2 commits into
DTVMStack:mainfrom
ZR74:feat/evm-compiler-observation
Open

feat(compiler): add opt-in EVM compiler observation#587
ZR74 wants to merge 2 commits into
DTVMStack:mainfrom
ZR74:feat/evm-compiler-observation

Conversation

@ZR74

@ZR74 ZR74 commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

What changed

  • Add an opt-in EVM multipass compiler observation record, enabled with
    DTVM_EVM_COMPILER_OBSERVE=1.
  • Report schema-versioned phase timings for frontend lowering, MIR
    verification and cleanup, CgIR lowering, Phi elimination, register
    allocation, post-RA processing, machine-code lowering, object emission, and
    code publication.
  • Capture MIR/CgIR snapshots plus stack-lift, Phi-copy, register-allocation,
    fallback, feature-coverage, and actual emitted-code metrics.
  • Add deterministic bytecode fingerprints so observations can be matched to
    the exact contract being studied.
  • Add run_ssa_compiler_observation.py for paired S0/S1 collection, comparison,
    atomic checkpointing, and resumable experiments.
  • Keep the metrics definitions independent of EVMC-only frontend headers so
    generic WASM/multipass configurations continue to build without EVM include
    paths.

Why

Aggregate JIT time and executable mapping size show that compilation changed,
but not which compiler stage caused the change. This made stack-SSA compile
growth difficult to explain: frontend expansion, Phi materialization, virtual
register growth, spilling, and object emission were all combined into one
number.

Effect

The new record makes S0/S1 differences attributable per bytecode:

  • phase timings identify where compile time is spent;
  • before/after IR snapshots identify where instruction, block, Phi, or virtual
    register growth appears;
  • stack-lift and fallback counters show how much of the contract is actually
    covered by the optimization;
  • register-allocation and stack-slot counters expose spill pressure;
  • emitted bytes distinguish real generated code size from executable mapping
    size;
  • exact fingerprint matching prevents helper or subcall compilations from
    being mistaken for the selected replay target.

The collection tool alternates S0/S1 order and writes an atomic checkpoint
after every fixture, making a real-transaction experiment reproducible and
safe to resume.

Observation is disabled by default. When disabled, no structured record or IR
snapshot walk is produced. Compiler decisions, generated code, and
deterministic EVM execution remain unchanged.

Validation

  • Non-EVM multipass compiler build passed.
  • Stack-SSA off/on EVM multipass builds passed.
  • evmJitFrontendTests: 108/108 passed in each configuration.
  • Observation tool unit tests: 4/4 passed.
  • Observation disabled: zero records; enabled: exactly one matching record for
    the selected bytecode, with identical EVM execution output.
  • Strict clang-format --dry-run --Werror and git diff --check passed.
  • Commit Lint, WASM CI, and EVM CI passed on the fork branch.

ZR74 added 2 commits July 28, 2026 17:19
Emit schema-versioned phase, IR, stack-lift, Phi, register-allocation, and code-size metrics only when DTVM_EVM_COMPILER_OBSERVE is enabled. Add an atomic S0/S1 collection tool and unit tests so compiler growth can be attributed instead of inferred from aggregate JIT time.
Keep stack-lift statistics in the lightweight metrics header and let the EVM frontend consume that definition. Avoid pulling EVMC-only headers into generic multipass compiler builds that do not enable EVM support.
Copilot AI review requested due to automatic review settings July 29, 2026 03:29

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@ZR74
ZR74 marked this pull request as ready for review July 29, 2026 03:30
@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.38 2.48 +4.2% PASS
total/main/blake2b_huff/empty 0.04 0.04 -2.6% PASS
total/main/blake2b_shifts/8415nulls 14.10 13.94 -1.2% PASS
total/main/sha1_divs/5311 8.55 8.08 -5.5% PASS
total/main/sha1_divs/empty 0.10 0.10 +5.4% PASS
total/main/sha1_shifts/5311 5.44 5.67 +4.4% PASS
total/main/sha1_shifts/empty 0.04 0.04 -3.0% PASS
total/main/snailtracer/benchmark 86.91 86.57 -0.4% PASS
total/main/structarray_alloc/nfts_rank 1.11 1.10 -1.0% PASS
total/main/swap_math/insufficient_liquidity 0.00 0.00 +0.2% PASS
total/main/swap_math/received 0.01 0.01 +0.4% PASS
total/main/swap_math/spent 0.01 0.01 +2.2% PASS
total/main/weierstrudel/1 0.32 0.30 -6.9% PASS
total/main/weierstrudel/15 3.31 3.61 +9.0% PASS
total/micro/JUMPDEST_n0/empty 2.64 2.64 +0.1% PASS
total/micro/jump_around/empty 0.12 0.12 +1.6% PASS
total/micro/loop_with_many_jumpdests/empty 65.92 68.30 +3.6% PASS
total/micro/memory_grow_mload/by1 0.18 0.16 -8.8% PASS
total/micro/memory_grow_mload/by16 0.19 0.19 +2.1% PASS
total/micro/memory_grow_mload/by32 0.12 0.11 -1.4% PASS
total/micro/memory_grow_mload/nogrow 0.09 0.09 +3.6% PASS
total/micro/memory_grow_mstore/by1 0.18 0.19 +5.7% PASS
total/micro/memory_grow_mstore/by16 0.11 0.11 +1.5% PASS
total/micro/memory_grow_mstore/by32 0.25 0.22 -13.0% PASS
total/micro/memory_grow_mstore/nogrow 0.21 0.18 -16.2% PASS
total/micro/signextend/one 0.28 0.25 -11.0% PASS
total/micro/signextend/zero 0.49 0.47 -5.2% PASS
total/synth/ADD/b0 2.31 2.01 -12.9% PASS
total/synth/ADD/b1 2.78 2.75 -1.2% PASS
total/synth/ADDRESS/a0 5.78 6.32 +9.4% PASS
total/synth/ADDRESS/a1 5.10 5.17 +1.4% PASS
total/synth/AND/b0 2.15 2.16 +0.3% PASS
total/synth/AND/b1 2.26 2.31 +2.2% PASS
total/synth/BYTE/b0 6.17 6.12 -0.8% PASS
total/synth/BYTE/b1 8.87 8.11 -8.5% PASS
total/synth/CALLDATASIZE/a0 5.32 5.34 +0.4% PASS
total/synth/CALLDATASIZE/a1 3.37 3.45 +2.4% PASS
total/synth/CALLER/a0 6.26 5.97 -4.7% PASS
total/synth/CALLER/a1 6.36 6.61 +3.9% PASS
total/synth/CALLVALUE/a0 3.52 3.35 -5.0% PASS
total/synth/CALLVALUE/a1 6.39 5.65 -11.6% PASS
total/synth/CODESIZE/a0 6.57 6.15 -6.3% PASS
total/synth/CODESIZE/a1 5.75 6.09 +5.8% PASS
total/synth/DUP1/d0 1.49 1.70 +14.5% PASS
total/synth/DUP1/d1 1.75 2.08 +18.4% PASS
total/synth/DUP10/d0 1.65 1.80 +9.2% PASS
total/synth/DUP10/d1 1.69 2.16 +28.0% PASS
total/synth/DUP11/d0 1.08 1.22 +12.8% PASS
total/synth/DUP11/d1 1.68 1.98 +17.7% PASS
total/synth/DUP12/d0 1.52 1.76 +15.8% PASS
total/synth/DUP12/d1 1.08 1.16 +7.4% PASS
total/synth/DUP13/d0 1.53 1.72 +12.7% PASS
total/synth/DUP13/d1 1.71 1.95 +14.3% PASS
total/synth/DUP14/d0 1.06 1.22 +15.2% PASS
total/synth/DUP14/d1 1.68 1.99 +18.0% PASS
total/synth/DUP15/d0 1.61 1.85 +14.6% PASS
total/synth/DUP15/d1 1.07 1.23 +15.0% PASS
total/synth/DUP16/d0 1.57 1.80 +14.8% PASS
total/synth/DUP16/d1 1.68 1.95 +16.5% PASS
total/synth/DUP2/d0 0.83 1.23 +48.6% PASS
total/synth/DUP2/d1 1.83 1.99 +9.2% PASS
total/synth/DUP3/d0 1.44 1.74 +20.5% PASS
total/synth/DUP3/d1 1.07 1.23 +15.5% PASS
total/synth/DUP4/d0 1.69 1.74 +2.8% PASS
total/synth/DUP4/d1 1.73 2.10 +21.3% PASS
total/synth/DUP5/d0 0.83 0.99 +18.9% PASS
total/synth/DUP5/d1 1.82 1.91 +4.8% PASS
total/synth/DUP6/d0 1.49 1.75 +17.1% PASS
total/synth/DUP6/d1 1.07 1.23 +15.0% PASS
total/synth/DUP7/d0 1.50 1.81 +21.0% PASS
total/synth/DUP7/d1 1.87 2.13 +14.2% PASS
total/synth/DUP8/d0 1.06 1.23 +15.8% PASS
total/synth/DUP8/d1 1.54 2.00 +29.7% PASS
total/synth/DUP9/d0 1.51 1.79 +19.1% PASS
total/synth/DUP9/d1 1.04 1.15 +10.8% PASS
total/synth/EQ/b0 4.53 4.52 -0.1% PASS
total/synth/EQ/b1 4.88 4.95 +1.4% PASS
total/synth/GAS/a0 3.85 3.76 -2.4% PASS
total/synth/GAS/a1 7.33 6.99 -4.8% PASS
total/synth/GT/b0 4.81 4.82 +0.2% PASS
total/synth/GT/b1 4.80 4.95 +3.1% PASS
total/synth/ISZERO/u0 7.08 7.08 -0.0% PASS
total/synth/JUMPDEST/n0 2.64 2.64 +0.1% PASS
total/synth/LT/b0 4.83 4.81 -0.6% PASS
total/synth/LT/b1 4.40 4.25 -3.4% PASS
total/synth/MSIZE/a0 6.07 5.72 -5.8% PASS
total/synth/MSIZE/a1 5.84 5.77 -1.1% PASS
total/synth/MUL/b0 5.55 5.52 -0.5% PASS
total/synth/MUL/b1 5.38 5.22 -2.9% PASS
total/synth/NOT/u0 1.88 1.85 -1.8% PASS
total/synth/OR/b0 2.27 2.15 -5.3% PASS
total/synth/OR/b1 1.76 1.64 -7.0% PASS
total/synth/PC/a0 5.39 5.20 -3.5% PASS
total/synth/PC/a1 3.47 3.40 -1.9% PASS
total/synth/PUSH1/p0 2.02 2.02 +0.1% PASS
total/synth/PUSH1/p1 1.64 1.72 +5.2% PASS
total/synth/PUSH10/p0 1.99 1.88 -5.3% PASS
total/synth/PUSH10/p1 1.64 1.73 +5.7% PASS
total/synth/PUSH11/p0 1.80 2.00 +11.2% PASS
total/synth/PUSH11/p1 2.13 2.27 +6.5% PASS
total/synth/PUSH12/p0 1.21 1.24 +3.2% PASS
total/synth/PUSH12/p1 2.10 2.13 +1.5% PASS
total/synth/PUSH13/p0 1.85 1.88 +1.9% PASS
total/synth/PUSH13/p1 1.64 1.72 +5.4% PASS
total/synth/PUSH14/p0 1.88 1.94 +2.8% PASS
total/synth/PUSH14/p1 2.09 2.19 +4.8% PASS
total/synth/PUSH15/p0 1.20 1.23 +3.0% PASS
total/synth/PUSH15/p1 2.28 2.55 +11.6% PASS
total/synth/PUSH16/p0 1.83 1.85 +1.1% PASS
total/synth/PUSH16/p1 1.65 1.74 +5.4% PASS
total/synth/PUSH17/p0 1.82 1.76 -3.5% PASS
total/synth/PUSH17/p1 2.01 2.15 +6.9% PASS
total/synth/PUSH18/p0 1.21 1.24 +3.0% PASS
total/synth/PUSH18/p1 2.05 2.26 +10.0% PASS
total/synth/PUSH19/p0 1.81 1.99 +9.7% PASS
total/synth/PUSH19/p1 1.65 1.73 +4.8% PASS
total/synth/PUSH2/p0 1.83 1.77 -3.1% PASS
total/synth/PUSH2/p1 2.05 2.33 +14.0% PASS
total/synth/PUSH20/p0 1.97 1.80 -8.3% PASS
total/synth/PUSH20/p1 2.33 2.14 -7.9% PASS
total/synth/PUSH21/p0 1.20 1.24 +3.1% PASS
total/synth/PUSH21/p1 1.92 2.17 +12.9% PASS
total/synth/PUSH22/p0 1.86 1.90 +2.0% PASS
total/synth/PUSH22/p1 1.66 1.75 +5.3% PASS
total/synth/PUSH23/p0 1.75 1.88 +7.0% PASS
total/synth/PUSH23/p1 2.19 2.45 +11.9% PASS
total/synth/PUSH24/p0 1.20 1.25 +3.8% PASS
total/synth/PUSH24/p1 1.99 2.18 +9.8% PASS
total/synth/PUSH25/p0 1.96 1.79 -8.4% PASS
total/synth/PUSH25/p1 1.65 1.75 +6.4% PASS
total/synth/PUSH26/p0 2.10 1.88 -10.4% PASS
total/synth/PUSH26/p1 1.96 2.20 +12.5% PASS
total/synth/PUSH27/p0 1.20 1.23 +2.5% PASS
total/synth/PUSH27/p1 1.98 2.31 +16.5% PASS
total/synth/PUSH28/p0 1.87 1.80 -4.1% PASS
total/synth/PUSH28/p1 1.65 1.75 +5.9% PASS
total/synth/PUSH29/p0 1.87 1.93 +3.4% PASS
total/synth/PUSH29/p1 2.17 2.21 +1.7% PASS
total/synth/PUSH3/p0 1.19 1.22 +2.3% PASS
total/synth/PUSH3/p1 2.10 2.15 +2.6% PASS
total/synth/PUSH30/p0 1.26 1.30 +3.1% PASS
total/synth/PUSH30/p1 2.08 2.21 +5.9% PASS
total/synth/PUSH31/p0 1.86 1.80 -3.2% PASS
total/synth/PUSH31/p1 1.70 1.77 +4.2% PASS
total/synth/PUSH32/p0 1.97 1.89 -4.5% PASS
total/synth/PUSH32/p1 2.20 2.32 +5.5% PASS
total/synth/PUSH4/p0 1.89 1.74 -7.7% PASS
total/synth/PUSH4/p1 1.64 1.72 +4.8% PASS
total/synth/PUSH5/p0 1.84 1.77 -3.8% PASS
total/synth/PUSH5/p1 2.06 2.17 +5.3% PASS
total/synth/PUSH6/p0 1.20 1.22 +1.6% PASS
total/synth/PUSH6/p1 2.05 2.08 +1.5% PASS
total/synth/PUSH7/p0 2.05 1.77 -13.6% PASS
total/synth/PUSH7/p1 1.65 1.72 +4.5% PASS
total/synth/PUSH8/p0 1.86 1.80 -3.1% PASS
total/synth/PUSH8/p1 2.02 2.19 +8.3% PASS
total/synth/PUSH9/p0 1.20 1.23 +3.0% PASS
total/synth/PUSH9/p1 1.96 2.21 +12.6% PASS
total/synth/RETURNDATASIZE/a0 3.37 3.62 +7.4% PASS
total/synth/RETURNDATASIZE/a1 6.63 6.30 -5.0% PASS
total/synth/SAR/b0 4.02 3.94 -1.9% PASS
total/synth/SAR/b1 8.33 7.65 -8.1% PASS
total/synth/SGT/b0 3.63 3.63 -0.0% PASS
total/synth/SGT/b1 3.43 3.28 -4.4% PASS
total/synth/SHL/b0 3.62 3.76 +3.8% PASS
total/synth/SHL/b1 1.86 1.81 -2.7% PASS
total/synth/SHR/b0 3.81 3.71 -2.6% PASS
total/synth/SHR/b1 3.20 3.18 -0.5% PASS
total/synth/SIGNEXTEND/b0 3.28 3.44 +4.7% PASS
total/synth/SIGNEXTEND/b1 6.84 6.68 -2.3% PASS
total/synth/SLT/b0 3.44 3.42 -0.6% PASS
total/synth/SLT/b1 3.69 3.81 +3.2% PASS
total/synth/SUB/b0 2.67 2.62 -2.1% PASS
total/synth/SUB/b1 2.84 2.78 -1.7% PASS
total/synth/SWAP1/s0 1.51 1.51 -0.2% PASS
total/synth/SWAP10/s0 1.52 1.52 -0.1% PASS
total/synth/SWAP11/s0 2.74 2.68 -2.0% PASS
total/synth/SWAP12/s0 2.53 2.64 +4.2% PASS
total/synth/SWAP13/s0 1.53 1.52 -0.3% PASS
total/synth/SWAP14/s0 2.77 2.72 -1.8% PASS
total/synth/SWAP15/s0 2.81 3.07 +9.3% PASS
total/synth/SWAP16/s0 1.53 1.53 -0.1% PASS
total/synth/SWAP2/s0 2.63 2.63 +0.0% PASS
total/synth/SWAP3/s0 2.63 2.66 +1.2% PASS
total/synth/SWAP4/s0 1.56 1.51 -3.0% PASS
total/synth/SWAP5/s0 2.69 2.69 -0.3% PASS
total/synth/SWAP6/s0 2.68 2.74 +2.2% PASS
total/synth/SWAP7/s0 1.52 1.52 -0.5% PASS
total/synth/SWAP8/s0 2.77 2.64 -4.7% PASS
total/synth/SWAP9/s0 2.65 2.68 +1.3% PASS
total/synth/XOR/b0 2.09 2.01 -3.6% PASS
total/synth/XOR/b1 2.17 2.22 +2.4% PASS
total/synth/loop_v1 8.58 8.82 +2.8% PASS
total/synth/loop_v2 8.70 8.94 +2.7% 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.35 1.43 +6.0% PASS
total/main/blake2b_huff/empty 0.02 0.02 -0.4% PASS
total/main/blake2b_shifts/8415nulls 4.35 4.31 -0.9% PASS
total/main/sha1_divs/5311 0.87 0.87 +0.3% PASS
total/main/sha1_divs/empty 0.01 0.01 -2.3% PASS
total/main/sha1_shifts/5311 0.77 0.77 -0.1% PASS
total/main/sha1_shifts/empty 0.01 0.01 +0.2% PASS
total/main/structarray_alloc/nfts_rank 0.26 0.26 -0.5% PASS
total/main/swap_math/insufficient_liquidity 0.00 0.00 -2.5% PASS
total/main/swap_math/received 0.01 0.01 +0.5% PASS
total/main/swap_math/spent 0.01 0.01 +0.7% PASS
total/main/weierstrudel/1 0.33 0.34 +1.5% PASS
total/main/weierstrudel/15 3.65 3.73 +2.0% PASS
total/micro/JUMPDEST_n0/empty 0.00 0.00 +0.1% PASS
total/micro/jump_around/empty 0.08 0.07 -1.0% PASS
total/micro/loop_with_many_jumpdests/empty 0.01 0.01 -0.4% PASS
total/micro/memory_grow_mload/by1 0.02 0.02 -3.6% PASS
total/micro/memory_grow_mload/by16 0.02 0.02 +7.5% 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.2% PASS
total/micro/memory_grow_mstore/by1 0.02 0.02 -3.9% PASS
total/micro/memory_grow_mstore/by16 0.01 0.01 +0.9% PASS
total/micro/memory_grow_mstore/by32 0.03 0.03 +3.1% PASS
total/micro/memory_grow_mstore/nogrow 0.02 0.02 +9.8% PASS
total/micro/signextend/one 0.08 0.08 +1.5% PASS
total/micro/signextend/zero 0.19 0.19 +0.2% PASS
total/synth/ADD/b0 0.00 0.00 +0.1% PASS
total/synth/ADD/b1 0.00 0.00 -1.9% PASS
total/synth/ADDRESS/a0 0.26 0.22 -17.0% PASS
total/synth/ADDRESS/a1 0.15 0.15 -0.1% PASS
total/synth/AND/b0 0.00 0.00 +0.5% PASS
total/synth/AND/b1 0.00 0.00 -1.0% PASS
total/synth/BYTE/b0 0.00 0.00 +0.6% PASS
total/synth/BYTE/b1 0.00 0.00 -0.9% PASS
total/synth/CALLDATASIZE/a0 0.12 0.12 +0.8% PASS
total/synth/CALLDATASIZE/a1 0.07 0.07 -0.3% PASS
total/synth/CALLER/a0 0.23 0.26 +13.3% PASS
total/synth/CALLER/a1 0.23 0.22 -2.7% PASS
total/synth/CALLVALUE/a0 0.19 0.19 -0.2% PASS
total/synth/CALLVALUE/a1 0.32 0.28 -13.4% PASS
total/synth/CODESIZE/a0 0.13 0.12 -6.6% PASS
total/synth/CODESIZE/a1 0.12 0.12 -1.3% PASS
total/synth/DUP1/d0 0.00 0.00 -2.1% PASS
total/synth/DUP1/d1 0.00 0.00 -1.1% PASS
total/synth/DUP10/d0 0.00 0.00 -2.2% PASS
total/synth/DUP10/d1 0.00 0.00 -0.6% PASS
total/synth/DUP11/d0 0.00 0.00 +0.7% PASS
total/synth/DUP11/d1 0.00 0.00 -1.7% PASS
total/synth/DUP12/d0 0.00 0.00 -1.1% PASS
total/synth/DUP12/d1 0.00 0.00 +0.1% PASS
total/synth/DUP13/d0 0.00 0.00 -1.3% 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 -4.5% PASS
total/synth/DUP15/d0 0.00 0.00 -0.5% PASS
total/synth/DUP15/d1 0.00 0.00 -0.2% PASS
total/synth/DUP16/d0 0.00 0.00 -0.9% PASS
total/synth/DUP16/d1 0.00 0.00 -0.6% PASS
total/synth/DUP2/d0 0.00 0.00 +0.5% PASS
total/synth/DUP2/d1 0.00 0.00 -1.2% PASS
total/synth/DUP3/d0 0.00 0.00 -0.6% PASS
total/synth/DUP3/d1 0.00 0.00 +0.4% PASS
total/synth/DUP4/d0 0.00 0.00 -0.2% PASS
total/synth/DUP4/d1 0.00 0.00 -1.4% PASS
total/synth/DUP5/d0 0.00 0.00 -0.2% PASS
total/synth/DUP5/d1 0.00 0.00 -1.2% PASS
total/synth/DUP6/d0 0.00 0.00 -0.8% PASS
total/synth/DUP6/d1 0.00 0.00 +0.1% PASS
total/synth/DUP7/d0 0.00 0.00 +0.1% PASS
total/synth/DUP7/d1 0.00 0.00 -1.3% PASS
total/synth/DUP8/d0 0.00 0.00 +0.8% PASS
total/synth/DUP8/d1 0.00 0.00 -0.3% PASS
total/synth/DUP9/d0 0.00 0.00 -1.0% PASS
total/synth/DUP9/d1 0.00 0.00 -0.3% PASS
total/synth/EQ/b0 0.00 0.00 -0.7% PASS
total/synth/EQ/b1 0.00 0.00 -0.8% PASS
total/synth/GAS/a0 0.76 0.77 +0.1% PASS
total/synth/GAS/a1 0.93 0.94 +1.8% PASS
total/synth/GT/b0 0.00 0.00 -2.4% PASS
total/synth/GT/b1 0.00 0.00 +0.1% PASS
total/synth/ISZERO/u0 0.00 0.00 -1.4% PASS
total/synth/JUMPDEST/n0 0.00 0.00 -0.1% PASS
total/synth/LT/b0 0.00 0.00 -1.0% PASS
total/synth/LT/b1 0.00 0.00 +0.2% PASS
total/synth/MSIZE/a0 0.00 0.00 -0.4% PASS
total/synth/MSIZE/a1 0.00 0.00 -2.0% PASS
total/synth/MUL/b0 0.00 0.00 +1.8% PASS
total/synth/MUL/b1 0.00 0.00 +0.2% PASS
total/synth/NOT/u0 0.00 0.00 +1.0% PASS
total/synth/OR/b0 0.00 0.00 -1.0% PASS
total/synth/OR/b1 0.00 0.00 +0.0% PASS
total/synth/PC/a0 0.00 0.00 -1.1% PASS
total/synth/PC/a1 0.00 0.00 +0.1% PASS
total/synth/PUSH1/p0 0.00 0.00 -2.2% PASS
total/synth/PUSH1/p1 0.00 0.00 +0.8% PASS
total/synth/PUSH10/p0 0.00 0.00 -3.3% PASS
total/synth/PUSH10/p1 0.00 0.00 +0.3% PASS
total/synth/PUSH11/p0 0.00 0.00 -3.5% PASS
total/synth/PUSH11/p1 0.00 0.00 +1.5% PASS
total/synth/PUSH12/p0 0.00 0.00 +3.7% PASS
total/synth/PUSH12/p1 0.00 0.00 -0.8% PASS
total/synth/PUSH13/p0 0.00 0.00 -1.1% PASS
total/synth/PUSH13/p1 0.00 0.00 +0.7% PASS
total/synth/PUSH14/p0 0.00 0.00 +5.0% PASS
total/synth/PUSH14/p1 0.00 0.00 +2.4% PASS
total/synth/PUSH15/p0 0.00 0.00 -0.6% PASS
total/synth/PUSH15/p1 0.00 0.00 +0.5% PASS
total/synth/PUSH16/p0 0.00 0.00 -3.7% PASS
total/synth/PUSH16/p1 0.00 0.00 +0.6% PASS
total/synth/PUSH17/p0 0.00 0.00 +6.1% PASS
total/synth/PUSH17/p1 0.00 0.00 +5.8% PASS
total/synth/PUSH18/p0 0.00 0.00 -1.4% PASS
total/synth/PUSH18/p1 0.00 0.00 -1.8% PASS
total/synth/PUSH19/p0 0.00 0.00 +0.0% PASS
total/synth/PUSH19/p1 0.00 0.00 -0.2% PASS
total/synth/PUSH2/p0 0.00 0.00 -2.6% PASS
total/synth/PUSH2/p1 0.00 0.00 +0.3% PASS
total/synth/PUSH20/p0 0.00 0.00 -0.4% PASS
total/synth/PUSH20/p1 0.00 0.00 +5.3% PASS
total/synth/PUSH21/p0 0.00 0.00 -0.4% PASS
total/synth/PUSH21/p1 0.00 0.00 +0.6% PASS
total/synth/PUSH22/p0 1.72 1.71 -0.2% PASS
total/synth/PUSH22/p1 1.65 1.75 +6.0% PASS
total/synth/PUSH23/p0 1.66 1.73 +4.6% PASS
total/synth/PUSH23/p1 2.00 2.02 +1.0% PASS
total/synth/PUSH24/p0 1.20 1.24 +3.8% PASS
total/synth/PUSH24/p1 1.86 2.10 +12.5% PASS
total/synth/PUSH25/p0 1.67 1.70 +1.6% PASS
total/synth/PUSH25/p1 1.65 1.72 +4.1% PASS
total/synth/PUSH26/p0 1.67 1.70 +1.7% PASS
total/synth/PUSH26/p1 1.86 2.01 +7.5% PASS
total/synth/PUSH27/p0 1.22 1.24 +2.3% PASS
total/synth/PUSH27/p1 1.87 2.04 +8.9% PASS
total/synth/PUSH28/p0 1.65 1.78 +7.7% PASS
total/synth/PUSH28/p1 1.66 1.72 +4.0% PASS
total/synth/PUSH29/p0 1.66 1.72 +3.6% PASS
total/synth/PUSH29/p1 1.86 2.07 +11.4% PASS
total/synth/PUSH3/p0 0.00 0.00 +0.9% PASS
total/synth/PUSH3/p1 0.00 0.00 +1.3% PASS
total/synth/PUSH30/p0 1.42 1.27 -10.4% PASS
total/synth/PUSH30/p1 1.86 2.02 +8.6% PASS
total/synth/PUSH31/p0 1.67 1.79 +6.7% PASS
total/synth/PUSH31/p1 1.69 1.75 +4.1% PASS
total/synth/PUSH32/p0 1.66 1.74 +4.9% PASS
total/synth/PUSH32/p1 1.88 2.02 +7.4% PASS
total/synth/PUSH4/p0 0.00 0.00 +3.6% PASS
total/synth/PUSH4/p1 0.00 0.00 +0.6% PASS
total/synth/PUSH5/p0 0.00 0.00 -0.4% PASS
total/synth/PUSH5/p1 0.00 0.00 -3.3% PASS
total/synth/PUSH6/p0 0.00 0.00 +0.9% PASS
total/synth/PUSH6/p1 0.00 0.00 +0.7% PASS
total/synth/PUSH7/p0 0.00 0.00 +0.3% PASS
total/synth/PUSH7/p1 0.00 0.00 +2.4% PASS
total/synth/PUSH8/p0 0.00 0.00 -0.9% PASS
total/synth/PUSH8/p1 0.00 0.00 +1.4% PASS
total/synth/PUSH9/p0 0.00 0.00 -1.9% PASS
total/synth/PUSH9/p1 0.00 0.00 -4.0% PASS
total/synth/RETURNDATASIZE/a0 0.03 0.03 -0.0% PASS
total/synth/RETURNDATASIZE/a1 0.06 0.06 +10.0% PASS
total/synth/SAR/b0 0.00 0.00 +0.5% PASS
total/synth/SAR/b1 0.00 0.00 -0.3% PASS
total/synth/SGT/b0 0.00 0.00 -2.9% PASS
total/synth/SGT/b1 0.00 0.00 +0.2% PASS
total/synth/SHL/b0 0.00 0.00 -0.7% PASS
total/synth/SHL/b1 0.00 0.00 -0.1% PASS
total/synth/SHR/b0 0.00 0.00 -1.2% PASS
total/synth/SHR/b1 0.00 0.00 +0.9% PASS
total/synth/SIGNEXTEND/b0 0.00 0.00 +0.6% PASS
total/synth/SIGNEXTEND/b1 0.00 0.00 -1.3% PASS
total/synth/SLT/b0 0.00 0.00 +0.2% PASS
total/synth/SLT/b1 0.00 0.00 -2.5% PASS
total/synth/SUB/b0 0.00 0.00 +0.1% PASS
total/synth/SUB/b1 0.00 0.00 -0.2% PASS
total/synth/SWAP1/s0 0.00 0.00 +0.4% PASS
total/synth/SWAP10/s0 0.00 0.00 +0.5% PASS
total/synth/SWAP11/s0 0.00 0.00 +0.1% PASS
total/synth/SWAP12/s0 0.00 0.00 +0.5% PASS
total/synth/SWAP13/s0 0.00 0.00 +0.3% PASS
total/synth/SWAP14/s0 0.00 0.00 +0.6% PASS
total/synth/SWAP15/s0 0.00 0.00 -0.9% PASS
total/synth/SWAP16/s0 0.00 0.00 +2.3% PASS
total/synth/SWAP2/s0 0.00 0.00 -1.5% PASS
total/synth/SWAP3/s0 0.00 0.00 -1.4% PASS
total/synth/SWAP4/s0 0.00 0.00 +0.4% PASS
total/synth/SWAP5/s0 0.00 0.00 -0.7% PASS
total/synth/SWAP6/s0 0.00 0.00 -0.4% PASS
total/synth/SWAP7/s0 0.00 0.00 +0.5% PASS
total/synth/SWAP8/s0 0.00 0.00 -0.1% PASS
total/synth/SWAP9/s0 0.00 0.00 -0.8% PASS
total/synth/XOR/b0 0.00 0.00 -0.9% PASS
total/synth/XOR/b1 0.00 0.00 -0.6% PASS
total/synth/loop_v1 8.48 8.25 -2.7% PASS
total/synth/loop_v2 8.57 8.26 -3.6% PASS

Summary: 193 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.

2 participants