Skip to content

Instantly share code, notes, and snippets.

@cameel
cameel / solc-seqbench-2024-02-26-sequence-small-loops.md
Created February 26, 2024 12:54
solc-seqbench report 2024-02-26 sequence: small loops

Sequence small-loops, all contracts and calls

Input

solc version: 0.8.25-seqbench.2024.2.14+commit.a2cabcb9.mod.Linux.g++

Sequence

# Default sequence from solc 0.8.24 with the big loop replaced with replaced
# with a looping each component individually.
@cameel
cameel / solc-seqbench-2024-02-26-sequence-always-ssa-min.md
Created February 26, 2024 12:45
solc-seqbench report 2024-02-26 sequence: always-ssa-min

Sequence always-ssa-min, all contracts and calls

Input

solc version: 0.8.25-seqbench.2024.2.14+commit.a2cabcb9.mod.Linux.g++

Sequence

# Default sequence from solc 0.8.24 with only a single iteration of the main loop

dhfoDgvulfnTUtnIf # None of these can make stack problems worse
@cameel
cameel / solc-seqbench-2024-02-26-sequence-single-pass.md
Created February 26, 2024 12:44
solc-seqbench report 2024-02-26 sequence: single-pass

Sequence single-pass, all contracts and calls

Input

solc version: 0.8.25-seqbench.2024.2.14+commit.a2cabcb9.mod.Linux.g++

Sequence

# Default sequence from solc 0.8.24 with only a single iteration of the main loop

dhfoDgvulfnTUtnIf # None of these can make stack problems worse
@cameel
cameel / solc-seqbench-2024-02-26-sequence-default.md
Last active February 26, 2024 13:06
solc-seqbench report 2024-02-26 sequence: default

Sequence default, all contracts and calls

Input

solc version: 0.8.25-seqbench.2024.2.14+commit.a2cabcb9.mod.Linux.g++

Sequence default

# Default sequence from solc 0.8.24 adjusted to stay in SSA form instead of reversing it in each cycle.
# Minimal version - only removes the `Vcul [j]` bit.
@cameel
cameel / table.md
Created February 21, 2024 14:14
solc-seqbench always-ssa-min/ramanujan_pi/soltest-input 0.8.25-seqbench.2024.2.14+commit.a2cabcb9

always-ssa-min/ramanujan_pi/soltest-input

runtime-gas runtime-gas-vs-optimization-time bytecode-size bytecode-size-vs-optimization-time creation-gas creation-gas-vs-optimization-time step-duration optimization-time

@cameel
cameel / table.md
Created February 21, 2024 14:12
solc-seqbench single-pass/ramanujan_pi/soltest-input 0.8.25-seqbench.2024.2.14+commit.a2cabcb9

single-pass/ramanujan_pi/soltest-input

runtime-gas runtime-gas-vs-optimization-time bytecode-size bytecode-size-vs-optimization-time creation-gas creation-gas-vs-optimization-time step-duration optimization-time

@cameel
cameel / table.md
Created February 21, 2024 14:11
solc-seqbench default/ramanujan_pi/soltest-input solc 0.8.25-seqbench.2024.2.14+commit.a2cabcb9

default/ramanujan_pi/soltest-input

runtime-gas runtime-gas-vs-optimization-time bytecode-size bytecode-size-vs-optimization-time creation-gas creation-gas-vs-optimization-time step-duration optimization-time

@cameel
cameel / solc-seqbench-intro-and-initial-results.md
Last active February 21, 2024 14:16
solc-seqbench intro and initial results
@cameel
cameel / single-pass.txt
Last active February 21, 2024 14:18
solc-seqbench single-pass/deposit_contract/soltest-input 0.8.25-seqbench.2024.2.14+commit.a2cabcb9
# Default sequence from solc 0.8.24 with only a single iteration of the main loop
dhfoDgvulfnTUtnIf # None of these can make stack problems worse
xa[r]EscLM # Turn into SSA and simplify
cCTUtTOntnfDIul # Perform structural simplification
Lcul # Simplify again
Vcul [j] # Reverse SSA
# should have good "compilability" property here.
@cameel
cameel / always-ssa-min.txt
Created February 21, 2024 13:50
solc-seqbench always-ssa-min/deposit_contract/soltest-input solc 0.8.25-seqbench.2024.2.14+commit.a2cabcb9
# Default sequence from solc 0.8.24 adjusted to stay in SSA form instead of reversing it in each cycle.
# Minimal version - only removes the `Vcul [j]` bit.
dhfoDgvulfnTUtnIf # None of these can make stack problems worse
[
xa[r]EscLM # Turn into SSA and simplify
cCTUtTOntnfDIul # Perform structural simplification
Lcul # Simplify again
# should have good "compilability" property here.