quebex

A software analysis framework built around the QBE intermediate language

git clone https://git.8pit.net/quebex.git

 1data $.Lstring.2 = align 1 { b "a\000", }
 2export
 3function w $main() {
 4@start.1
 5	%.1 =l alloc4 4
 6	%.2 =l alloc4 20
 7@body.2
 8	%.3 =l extsw 1
 9	call $quebex_make_symbolic(l %.1, l %.3, l 4, l $.Lstring.2)
10	%.4 =w loadw %.1
11	%.5 =w ceqw %.4, 42
12	jnz %.5, @if_true.3, @if_false.4
13@if_true.3
14	ret 1
15@if_false.4
16	%.6 =w loadw %.1
17	%.7 =w ceqw %.6, 592591145
18	jnz %.7, @if_true.6, @if_false.7
19@if_true.6
20	%.8 =l extsw 1024
21	%.9 =l mul %.8, 4
22	%.10 =l add %.2, %.9
23	%.11 =w loadw %.10
24	ret %.11
25@if_false.7
26	%.12 =w loadw %.1
27	%.13 =w ceqw %.12, 1337
28	jnz %.13, @if_true.9, @if_false.10
29@if_true.9
30	ret 42
31@if_false.10
32@if_join.8
33@if_join.5
34	ret 0
35}