Skip to content

Instantly share code, notes, and snippets.

@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 / 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-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-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-contract-deposit_contract.md
Created February 26, 2024 12:59
solc-seqbench report 2024-02-26 contract: deposit_contract

Contract deposit_contract, all sequences and calls

Input

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

Contract and calls

deposit_contract.sol

soltest-input:

@cameel
cameel / solc-seqbench-2024-02-26-contract-FixedFeeRegistrar.md
Created February 26, 2024 13:02
solc-seqbench report 2024-02-26 contract: FixedFeeRegistrar

Contract FixedFeeRegistrar, all sequences and calls

Input

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

Contract and calls

FixedFeeRegistrar.sol

soltest-input:

@cameel
cameel / solc-seqbench-2024-02-26-contract-prbmath_unsigned.md
Last active February 26, 2024 13:06
solc-seqbench report 2024-02-26 contract: prbmath_unsigned

Contract prbmath_unsigned, all sequences and calls

Input

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

Contract and calls

prbmath_unsigned.sol

soltest-input:

@cameel
cameel / solc-seqbench-2024-02-26-contract-ramanujan_pi.md
Created February 26, 2024 13:07
solc-seqbench report 2024-02-26 contract: ramanujan_pi

Contract ramanujan_pi, all sequences and calls

Input

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

Contract and calls

ramanujan_pi.sol

soltest-input:

@cameel
cameel / solc-seqbench-2024-02-26-contract-strings.md
Created February 26, 2024 13:11
solc-seqbench report 2024-02-26 contract: strings

Contract strings, all sequences and calls

Input

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

Contract and calls

strings.sol

soltest-input:

@cameel
cameel / solc-seqbench-2024-02-27-sequence-single-pass-no-cse.md
Created February 28, 2024 18:42
solc-seqbench report 2024-02-27 sequence: single-pass-no-cse

Sequence single-pass-no-cse, 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 and some CSE steps removed

dhfoDgvulfnTUtnIf               # None of these can make stack problems worse