qute

A software analysis framework built around the QBE intermediate language

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

 1export
 2function $__assert_fail() {
 3@start.1
 4@body.2
 5	hlt
 6}
 7data $.Lstring.3 = align 1 { b "a\000", }
 8export
 9function w $main() {
10@start.3
11	%.1 =l alloc4 4
12@body.4
13	%.2 =l extsw 1
14	call extern $qute_make_symbolic(l %.1, l %.2, l 4, l $.Lstring.3)
15	%.3 =w loadw %.1
16	%.4 =w cslew %.3, 0
17	jnz %.4, @if_true.5, @if_false.6
18@if_true.5
19	call extern $qute_exit(w 0)
20@if_false.6
21	%.5 =w loadw %.1
22	%.6 =w csgtw %.5, 0
23	jnz %.6, @logic_true.7, @logic_or.10
24@logic_or.10
25	call extern $__assert_fail()
26	hlt
27@logic_true.7
28	jmp @logic_join.9
29@logic_false.8
30@logic_join.9
31	%.7 =w phi @logic_true.7 1, @logic_false.8 0
32	ret 0
33}