Ppltr
A PoPuLaToR for a PeePhoLe opTimizeR
Install / Use
/learn @mariaschett/PpltrREADME
A Populator for a peephole optimizer
Installation and Running
The easiest way to install ppltr is using opam.
Simply run opam install . after cloning the repository.
Afterwards one can run ppltr -help for help.
Evaluation
-
generate
ebsoblocks from01-contracts.csv- call:
ppltr -mode BG eval/01-contracts.csv eval/02-ebso-blocks.csv - output:
02-ebso-blocks.csv
- call:
-
from
02-ebso-blocks.csvgenerate windowedebsoblocks for optimization- call:
ppltr -mode WG eval/02-ebso-blocks.csv eval/03-windowed-blocks.csv - output:
03-windowed-blocks.csv
- call:
-
find optimizations
- call to ebso
- call:
ebso -timeout 900 -translation-validation 256 -direct <ebso-block>
- call:
- select from
04-ebso-results.csvoptimizations with strict gas savings- call:
ppltr -mode OG eval/04-ebso-results.csv eval/05-optimizations.csv - output:
05-optimizations.csv
- call:
- call to ebso
-
generate rules
- call to sorg
- call:
sorg -timeout 900 <lhs> <rhs>
- call:
- combine rules from
06-sorg-results.csv- call:
ppltr -mode RG eval/06-sorg-results.csv eval/07-rules.csv - output:
07-rules.csv
- call:
- call to sorg
-
rewrite
07-rules.csvwith-rules07-rules.csv- call:
ppltr -mode RR eval/07-rules.csv eval/08-reduced-rules.csv -rules eval/07-rules.csv - output:
08-reduced-rules.csv
- call:
-
apply
08-reduced-rules.csvon02-ebso-blocks.csv- call:
ppltr -mode BR -rules eval/08-reduced-rules.csv eval/02-ebso-blocks.csv eval/09-reduced-ebso-blocks.csv - output:
09-reduced-ebso-blocks.csv
- call:
-
repeat 1. to 5. with
09-reduced-ebso-blocks.csv -
take
15-combined-sorg-results.csv- call:
ppltr -mode RG eval/15-combined-sorg-results.csv eval/16-rules.csv - call:
ppltr -mode RR eval/16-rules.csv eval/17-reduced-rules.csv -rules eval/16-rules.csv
- call:
-
final rules:
17-reduced-rules.csv -
to apply
17-reduced-rules.csvon01-contracts.csv- call:
ppltr -mode CR eval/01-contracts.csv eval/19-reduced.csv -rules eval/17-reduced-rules.csv
- call:
