-
Notifications
You must be signed in to change notification settings - Fork 11
/
config.ini
146 lines (130 loc) · 7.28 KB
/
config.ini
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
[DEFAULT]
slumpspath = /slumps
debugfile = ${slumpspath}/crow/slumps.debug.txt
outfolder = out
print-sha = True
prune-equal = True
exit-on-find = False
link-wasi = False
generator-method = subset
candidates-threshold = 1
thread-pool-size = 1
fail-silently = True
upper-bound = 100000
timeout = 0
exploration-timeout = 600
generate-bc-only = False
workers = 1
include = -I/inputs
order = 20
show-generation-progress = True
generation-timeout = 3600
subset-per-job = 25
generation-simple-timeout = 9
use-ansi-console = False
combination-min-limit = 1
combination-max-limit = 2000
skip-every-x-replacement = 1
keep-ll-files = True
keep-bc-files = True
keep-wasm-files = True
keep-wat-files = True
remove-duplicates = True
log2file = False
debug-level = 0
combinations = True
stages-to-stdout = False
exploration-immediate-ack = True
prune-same-block-replacement = False
split-module-in = 100
remove-zero-defined = False
[event]
exchange = crow
host = broker
port = 5672
type = topic
process-id-exploration = exploration.id
process-id-generation = generation.id
queue-name = crow
prefetch_count = 2
[cache]
use-redis = True
redis-host = redis-cache
redis-port = 9898
[sanitizer]
sanitize-redundant = True
sanitize-non-wasm = True
report-overlapping = True
remove-negation-of-negation = False
sort-replacements-by-length = False
remove-if-keys-overlap = False
remove-if-prefix = False
[clang]
path = ${DEFAULT:slumpspath}/souper/third_party/llvm-Release-install/bin/clang
cflags = -fno-merge-all-constants -fno-associative-math -fconstexpr-backtrace-limit=1 -fconstexpr-depth=1 -fconstexpr-steps=1
command = -emit-llvm -O1 ${DEFAULT:include} -I${DEFAULT:slumpspath}/wasi/libc/sysroot/include -o- --target=wasm32-unknown-wasi -S --sysroot=/tmp/wasi-libc %s
check_code = -emit-llvm -nostdlib -E - -o -
[split]
bin = ${DEFAULT:slumpspath}/souper/third_party/llvm-Release-install/bin/llvm-split
options = --disable-all-peepholes --color -j %s -o %s --disable-wrongs-opts %s
[log]
send-to-telegram = False
logs-to-file = True
[opt]
path = ${DEFAULT:slumpspath}/souper/third_party/llvm-Release-install/bin/opt
[llvm-as]
path = ${DEFAULT:slumpspath}/souper/third_party/llvm-Release-install/bin/llvm-as
command = %s -f
[wasm-ld]
path = ${DEFAULT:slumpspath}/souper/third_party/llvm-Release-install/bin/wasm-ld
wasi-header = -L/tmp/wasi-libc/lib/wasm32-wasi /tmp/wasi-libc/lib/wasm32-wasi/crt1.o -lc /opt/wasi-sdk/lib/clang/9.0.0/lib/wasi/libclang_rt.builtins-wasm32.a
command = %s -lto-O0 -O0 --no-entry --export-all --verbose -o %s
[wabt]
path = ${slumpspath}/wabt/build
wasm2wat = ${path}/wasm2wat
[binaryen]
path = ${slumpspath}/binaryen/build
wasm2wat = ${path}/wasm2wat
[wasmtime]
bin = /root/.wasmtime/bin/wasmtime
[objdump]
bin = /usr/bin/objdump
[diff]
bin = /usr/bin/diff
[souper]
path = ${DEFAULT:slumpspath}/souper/build
souper = ${path}/souper
check = ${path}/souper-check
solver = -z3-path=${slumpspath}/souper/third_party/z3/build/z3
passname = libsouperPass.so
souper-debug-level = 0
workers = 10
socket_port = 31400
socket-host = 127.0.0.1
souper-receheck = --souper-dont-recheck=true
souper-common = ${souper-receheck} --souper-enumerative-synthesis-max-verification-load=1 --solver-timeout=5 --souper-dataflow-pruning=true --souper-crow-prune-select=true --souper-crow-prune-unary-operator-on-constant=true --souper-crow-prune-binary-commutative=true --souper-crow-prune-2const-operation=true --souper-crow-prune-sub=true --souper-crow-prune-constant-select=true
souper-level-1 = --souper-infer-inst
souper-level-2 = --souper-synthesis-const-with-cegis --souper-infer-inst --souper-synthesis-comps=mul,select,const,const,shl,lshr,ashr,and,or,xor,add,sub,slt,ult,sle,ule,eq,ne
souper-level-3 = --souper-infer-inst --souper-synthesis-comps=mul,select,const,const,shl,lshr,ashr,and,or,xor,add,sub,slt,ult,sle,ule,eq,ne
souper-level-4 = --souper-enumerative-synthesis-max-rhs=100000 --souper-infer-inst --souper-synthesis-ignore-cost=true --souper-synthesis-comps=mul,select,const,const,shl,lshr,ashr,and,or,xor,add,sub,slt,ult,sle,ule,eq,ne
souper-level-5 = --souper-infer-inst=false --souper-enumerative-synthesis-ignore-cost --souper-enumerative-synthesis-max-instructions=1
souper-level-6 = --souper-infer-inst=false --souper-enumerative-synthesis-ignore-cost --souper-enumerative-synthesis-max-instructions=2
souper-level-7 = --souper-infer-inst=false --souper-enumerative-synthesis-ignore-cost --souper-enumerative-synthesis-max-instructions=3
souper-level-8 = --souper-infer-inst=false --souper-enumerative-synthesis-ignore-cost --souper-enumerative-synthesis-max-instructions=4
souper-level-9 = --souper-infer-inst=false --souper-max-lhs-cands=150 --souper-synthesis-const-with-cegis --souper-enumerative-synthesis-max-instructions=3
souper-level-10 = --souper-infer-inst=false --souper-max-lhs-cands=150 --souper-synthesis-const-with-cegis --souper-enumerative-synthesis-max-instructions=1
souper-level-11 = --souper-infer-inst=false --souper-max-lhs-cands=150 --souper-synthesis-const-with-cegis --souper-enumerative-synthesis-max-instructions=2
souper-level-12 = --souper-infer-inst=false --souper-max-lhs-cands=150 --souper-enumerative-synthesis-max-instructions=3
souper-level-13 = --souper-infer-inst=false --souper-max-lhs-cands=150 --souper-synthesis-const-with-cegis --souper-enumerative-synthesis-max-instructions=1
souper-level-14 = --souper-infer-inst=false --souper-max-lhs-cands=150 --souper-synthesis-const-with-cegis --souper-enumerative-synthesis-ignore-cost=false --souper-enumerative-synthesis-max-instructions=1
souper-level-15 = --souper-infer-inst=false --souper-max-lhs-cands=150 --souper-synthesis-const-with-cegis --souper-enumerative-synthesis-ignore-cost=false --souper-enumerative-synthesis-max-instructions=1 --souper-crow-max-replacement-size=200
souper-level-16 = --souper-infer-inst=false --souper-max-lhs-cands=150 --souper-enumerative-synthesis-ignore-cost --souper-enumerative-synthesis-max-instructions=1 --souper-crow-max-replacement-size=500
souper-level-17 = --souper-infer-inst=false --souper-max-lhs-cands=150 --souper-synthesis-const-with-cegis --souper-enumerative-synthesis-ignore-cost --souper-enumerative-synthesis-max-instructions=1 --souper-crow-max-replacement-size=10000
souper-level-18 = --souper-use-alive=true --souper-synthesis-const-with-cegis --souper-synthesis-ignore-cost=true --souper-synthesis-comps=mul,select,const,const,shl,lshr,ashr,and,or,xor,add,sub,slt,ult,sle,ule,eq,ne
souper-level-19 = --souper-infer-inst=false --souper-max-lhs-cands=150 --souper-enumerative-synthesis-ignore-cost=true --souper-enumerative-synthesis-max-instructions=1 --souper-crow-max-replacement-size=10
souper-level-20 = --souper-infer-inst=false --souper-max-lhs-cands=1150 --souper-enumerative-synthesis-ignore-cost=true --souper-enumerative-synthesis-max-instructions=1 --souper-crow-max-replacement-size=16
souper-level-21 = --souper-infer-inst=false --souper-max-lhs-cands=1150 --souper-enumerative-synthesis-ignore-cost=true --souper-enumerative-synthesis-max-instructions=1 --souper-crow-max-replacement-size=20
load-opt = -load ${DEFAULT:slumpspath}/souper/build/${passName} -souper
list-candidates = ${load-opt} ${souper-common} --souper-crow --souper-debug-level=${souper-debug-level} %s %s
super-opt-pass = ${load-opt} -O0 --souper-no-infer --souper-dont-recheck --souper-debug-level=${souper-debug-level}
super-count-pass = ${load-opt} --souper-crow %s