min-camlのmakeの出力ログ
min-caml
code:text
root@d2384e826835:~# make clean
rm -f *.bak *~ *.dup
rm -f min-caml min-caml.opt min-caml.top type.cmi id.cmi m.cmi s.cmi syntax.cmi parser.cmi lexer.cmi typing.cmi typing.cmi kNormal.cmi kNormal.cmi alpha.cmi alpha.cmi beta.cmi beta.cmi assoc.cmi assoc.cmi inline.cmi inline.cmi constFold.cmi constFold.cmi elim.cmi elim.cmi closure.cmi closure.cmi asm.cmi asm.cmi virtual.cmi virtual.cmi simm.cmi simm.cmi regAlloc.cmi regAlloc.cmi emit.cmi emit.cmi main.cmi main.cmi type.cmo id.cmo m.cmo s.cmo syntax.cmo parser.cmo lexer.cmo typing.cmo kNormal.cmo alpha.cmo beta.cmo assoc.cmo inline.cmo constFold.cmo elim.cmo closure.cmo asm.cmo virtual.cmo simm.cmo regAlloc.cmo emit.cmo main.cmo type.cmx id.cmx m.cmx s.cmx syntax.cmx parser.cmx lexer.cmx typing.cmx kNormal.cmx alpha.cmx beta.cmx assoc.cmx inline.cmx constFold.cmx elim.cmx closure.cmx asm.cmx virtual.cmx simm.cmx regAlloc.cmx emit.cmx main.cmx type.asm id.asm m.asm s.asm syntax.asm parser.asm lexer.asm typing.asm kNormal.asm alpha.asm beta.asm assoc.asm inline.asm constFold.asm elim.asm closure.asm asm.asm virtual.asm simm.asm regAlloc.asm emit.asm main.asm type.s id.s m.s s.s syntax.s parser.s lexer.s typing.s kNormal.s alpha.s beta.s assoc.s inline.s constFold.s elim.s closure.s asm.s virtual.s simm.s regAlloc.s emit.s main.s type.o id.o m.o s.o syntax.o parser.o lexer.o typing.o kNormal.o alpha.o beta.o assoc.o inline.o constFold.o elim.o closure.o asm.o virtual.o simm.o regAlloc.o emit.o main.o float.o lexer.ml parser.mli parser.ml min-caml.cma min-caml.opt.cmxa min-caml.opt.a min-caml.cmi min-caml.cmo min-caml.opt.cmi min-caml.opt.cmx min-caml.opt.o libmin-caml_stubs.a type.annot id.annot m.annot s.annot syntax.annot parser.annot lexer.annot typing.annot kNormal.annot alpha.annot beta.annot assoc.annot inline.annot constFold.annot elim.annot closure.annot asm.annot virtual.annot simm.annot regAlloc.annot emit.annot main.annot .cmi .cmo .cmx .o dllmin-caml_stubs.so test/print.s test/sum-tail.s test/gcd.s test/sum.s test/fib.s test/ack.s test/even-odd.s test/adder.s test/funcomp.s test/cls-rec.s test/cls-bug.s test/cls-bug2.s test/cls-reg-bug.s test/shuffle.s test/spill.s test/spill2.s test/spill3.s test/join-stack.s test/join-stack2.s test/join-stack3.s test/join-reg.s test/join-reg2.s test/non-tail-if.s test/non-tail-if2.s test/inprod.s test/inprod-rec.s test/inprod-loop.s test/matmul.s test/matmul-flat.s test/manyargs.s test/print test/sum-tail test/gcd test/sum test/fib test/ack test/even-odd test/adder test/funcomp test/cls-rec test/cls-bug test/cls-bug2 test/cls-reg-bug test/shuffle test/spill test/spill2 test/spill3 test/join-stack test/join-stack2 test/join-stack3 test/join-reg test/join-reg2 test/non-tail-if test/non-tail-if2 test/inprod test/inprod-rec test/inprod-loop test/matmul test/matmul-flat test/manyargs test/print.res test/sum-tail.res test/gcd.res test/sum.res test/fib.res test/ack.res test/even-odd.res test/adder.res test/funcomp.res test/cls-rec.res test/cls-bug.res test/cls-bug2.res test/cls-reg-bug.res test/shuffle.res test/spill.res test/spill2.res test/spill3.res test/join-stack.res test/join-stack2.res test/join-stack3.res test/join-reg.res test/join-reg2.res test/non-tail-if.res test/non-tail-if2.res test/inprod.res test/inprod-rec.res test/inprod-loop.res test/matmul.res test/matmul-flat.res test/manyargs.res test/print.ans test/sum-tail.ans test/gcd.ans test/sum.ans test/fib.ans test/ack.ans test/even-odd.ans test/adder.ans test/funcomp.ans test/cls-rec.ans test/cls-bug.ans test/cls-bug2.ans test/cls-reg-bug.ans test/shuffle.ans test/spill.ans test/spill2.ans test/spill3.ans test/join-stack.ans test/join-stack2.ans test/join-stack3.ans test/join-reg.ans test/join-reg2.ans test/non-tail-if.ans test/non-tail-if2.ans test/inprod.ans test/inprod-rec.ans test/inprod-loop.ans test/matmul.ans test/matmul-flat.ans test/manyargs.ans test/print.cmp test/sum-tail.cmp test/gcd.cmp test/sum.cmp test/fib.cmp test/ack.cmp test/even-odd.cmp test/adder.cmp test/funcomp.cmp test/cls-rec.cmp test/cls-bug.cmp test/cls-bug2.cmp test/cls-reg-bug.cmp test/shuffle.cmp test/spill.cmp test/spill2.cmp test/spill3.cmp test/join-stack.cmp test/join-stack2.cmp test/join-stack3.cmp test/join-reg.cmp test/join-reg2.cmp test/non-tail-if.cmp test/non-tail-if2.cmp test/inprod.cmp test/inprod-rec.cmp test/inprod-loop.cmp test/matmul.cmp test/matmul-flat.cmp test/manyargs.cmp
rm -rf ._bcdi ._ncdi ._d
root@d2384e826835:~# make
ocamllex lexer.mll
82 states, 2498 transitions, table size 10484 bytes
ocamlyacc parser.mly
make1: Entering directory '/root' ocamldep parser.mli > ._bcdi/parser.di
ocamldep main.mli > ._bcdi/main.di
ocamldep emit.mli > ._bcdi/emit.di
ocamldep regAlloc.mli > ._bcdi/regAlloc.di
ocamldep simm.mli > ._bcdi/simm.di
ocamldep virtual.mli > ._bcdi/virtual.di
ocamldep asm.mli > ._bcdi/asm.di
ocamldep closure.mli > ._bcdi/closure.di
ocamldep elim.mli > ._bcdi/elim.di
ocamldep constFold.mli > ._bcdi/constFold.di
ocamldep inline.mli > ._bcdi/inline.di
ocamldep assoc.mli > ._bcdi/assoc.di
ocamldep beta.mli > ._bcdi/beta.di
ocamldep alpha.mli > ._bcdi/alpha.di
ocamldep kNormal.mli > ._bcdi/kNormal.di
ocamldep typing.mli > ._bcdi/typing.di
ocamldep parser.ml > ._d/parser.d
ocamldep lexer.ml > ._d/lexer.d
ocamldep main.ml > ._d/main.d
ocamldep emit.ml > ._d/emit.d
ocamldep regAlloc.ml > ._d/regAlloc.d
ocamldep simm.ml > ._d/simm.d
ocamldep virtual.ml > ._d/virtual.d
ocamldep asm.ml > ._d/asm.d
ocamldep closure.ml > ._d/closure.d
ocamldep elim.ml > ._d/elim.d
ocamldep constFold.ml > ._d/constFold.d
ocamldep inline.ml > ._d/inline.d
ocamldep assoc.ml > ._d/assoc.d
ocamldep beta.ml > ._d/beta.d
ocamldep alpha.ml > ._d/alpha.d
ocamldep kNormal.ml > ._d/kNormal.d
ocamldep typing.ml > ._d/typing.d
ocamldep syntax.ml > ._d/syntax.d
ocamldep s.ml > ._d/s.d
ocamldep m.ml > ._d/m.d
ocamldep id.ml > ._d/id.d
ocamldep type.ml > ._d/type.d
ocamlc -c -g type.ml
ocamlc -c -g id.ml
ocamlc -c -g m.ml
ocamlc -c -g s.ml
ocamlc -c -g syntax.ml
ocamlc -c -g parser.mli
ocamlc -c -g parser.ml
ocamlc -c -g lexer.ml
ocamlc -c -g typing.mli
ocamlc -c -g typing.ml
ocamlc -c -g kNormal.mli
ocamlc -c -g kNormal.ml
ocamlc -c -g alpha.mli
ocamlc -c -g alpha.ml
ocamlc -c -g beta.mli
ocamlc -c -g beta.ml
ocamlc -c -g assoc.mli
ocamlc -c -g assoc.ml
ocamlc -c -g inline.mli
ocamlc -c -g inline.ml
ocamlc -c -g constFold.mli
ocamlc -c -g constFold.ml
ocamlc -c -g elim.mli
ocamlc -c -g elim.ml
ocamlc -c -g closure.mli
ocamlc -c -g closure.ml
ocamlc -c -g asm.mli
ocamlc -c -g asm.ml
ocamlc -c -g virtual.mli
ocamlc -c -g virtual.ml
ocamlc -c -g simm.mli
ocamlc -c -g simm.ml
ocamlc -c -g regAlloc.mli
ocamlc -c -g regAlloc.ml
ocamlc -c -g emit.mli
ocamlc -c -g emit.ml
ocamlc -c -g main.mli
ocamlc -c -g main.ml
ocamlc -c -cc "gcc" -ccopt "-g -O2 -Wall \
\
-o float.o " float.c
ocamlc \
\
float.o -custom -g -warn-error -31 -o min-caml \
type.cmo id.cmo m.cmo s.cmo syntax.cmo parser.cmo lexer.cmo typing.cmo kNormal.cmo alpha.cmo beta.cmo assoc.cmo inline.cmo constFold.cmo elim.cmo closure.cmo asm.cmo virtual.cmo simm.cmo regAlloc.cmo emit.cmo main.cmo
make1: Leaving directory '/root' make1: Entering directory '/root' ocamlmktop \
\
float.o -custom -warn-error -31 -o min-caml.top \
type.cmo id.cmo m.cmo s.cmo syntax.cmo parser.cmo lexer.cmo typing.cmo kNormal.cmo alpha.cmo beta.cmo assoc.cmo inline.cmo constFold.cmo elim.cmo closure.cmo asm.cmo virtual.cmo simm.cmo regAlloc.cmo emit.cmo main.cmo
File "parser.cmo", line 1:
Warning 31: files parser.cmo and /usr/lib/ocaml/compiler-libs/ocamlcommon.cma(Parser) both define a module named Parser
File "lexer.cmo", line 1:
Warning 31: files lexer.cmo and /usr/lib/ocaml/compiler-libs/ocamlcommon.cma(Lexer) both define a module named Lexer
make1: Leaving directory '/root' ./min-caml test/print
free variable print_int assumed as external
iteration 1000
eliminating variable Ti7.13
eliminating variable Ti6.12
eliminating variable Ti4.15
iteration 999
register allocation: may take some time (up to a few minutes, depending on the size of functions)
generating assembly...
gcc -g -O2 -Wall -m32 test/print.s libmincaml.S stub.c -lm -o test/print
test/print > test/print.res
sp = 0xffedad60, hp = 0xf7843010
ocaml test/print.ml > test/print.ans
diff test/print.res test/print.ans > test/print.cmp
./min-caml test/sum-tail
free variable print_int assumed as external
iteration 1000
iteration 999
directly applying sum.8
directly applying sum.8
eliminating closure(s) sum.8
register allocation: may take some time (up to a few minutes, depending on the size of functions)
generating assembly...
gcc -g -O2 -Wall -m32 test/sum-tail.s libmincaml.S stub.c -lm -o test/sum-tail
test/sum-tail > test/sum-tail.res
sp = 0xff796f80, hp = 0xf781a010
ocaml test/sum-tail.ml > test/sum-tail.ans
diff test/sum-tail.res test/sum-tail.ans > test/sum-tail.cmp
./min-caml test/gcd
free variable print_int assumed as external
iteration 1000
iteration 999
directly applying gcd.7
directly applying gcd.7
directly applying gcd.7
eliminating closure(s) gcd.7
register allocation: may take some time (up to a few minutes, depending on the size of functions)
generating assembly...
gcc -g -O2 -Wall -m32 test/gcd.s libmincaml.S stub.c -lm -o test/gcd
test/gcd > test/gcd.res
sp = 0xffca63f0, hp = 0xf78d2010
ocaml test/gcd.ml > test/gcd.ans
diff test/gcd.res test/gcd.ans > test/gcd.cmp
./min-caml test/sum
free variable print_int assumed as external
iteration 1000
iteration 999
directly applying sum.7
directly applying sum.7
eliminating closure(s) sum.7
register allocation: may take some time (up to a few minutes, depending on the size of functions)
generating assembly...
gcc -g -O2 -Wall -m32 test/sum.s libmincaml.S stub.c -lm -o test/sum
test/sum > test/sum.res
sp = 0xffc882d0, hp = 0xf78c9010
ocaml test/sum.ml > test/sum.ans
diff test/sum.res test/sum.ans > test/sum.cmp
./min-caml test/fib
free variable print_int assumed as external
iteration 1000
iteration 999
directly applying fib.10
directly applying fib.10
directly applying fib.10
eliminating closure(s) fib.10
register allocation: may take some time (up to a few minutes, depending on the size of functions)
generating assembly...
gcc -g -O2 -Wall -m32 test/fib.s libmincaml.S stub.c -lm -o test/fib
test/fib > test/fib.res
sp = 0xffeb5f70, hp = 0xf7825010
ocaml test/fib.ml > test/fib.ans
diff test/fib.res test/fib.ans > test/fib.cmp
./min-caml test/ack
free variable print_int assumed as external
iteration 1000
iteration 999
directly applying ack.15
directly applying ack.15
directly applying ack.15
directly applying ack.15
eliminating closure(s) ack.15
register allocation: may take some time (up to a few minutes, depending on the size of functions)
generating assembly...
gcc -g -O2 -Wall -m32 test/ack.s libmincaml.S stub.c -lm -o test/ack
test/ack > test/ack.res
sp = 0xffc475c0, hp = 0xf7811010
ocaml test/ack.ml > test/ack.ans
diff test/ack.res test/ack.ans > test/ack.cmp
./min-caml test/even-odd
free variable print_int assumed as external
iteration 1000
eliminating variable f.16
eliminating variable t.15
iteration 999
directly applying even.17
directly applying even.17
directly applying odd.21
directly applying odd.21
eliminating closure(s) odd.21
directly applying even.17
eliminating closure(s) even.17
register allocation: may take some time (up to a few minutes, depending on the size of functions)
generating assembly...
gcc -g -O2 -Wall -m32 test/even-odd.s libmincaml.S stub.c -lm -o test/even-odd
test/even-odd > test/even-odd.res
sp = 0xffede2c0, hp = 0xf788a010
ocaml test/even-odd.ml > test/even-odd.ans
diff test/even-odd.res test/even-odd.ans > test/even-odd.cmp
./min-caml test/adder
free variable print_int assumed as external
iteration 1000
iteration 999
free variable(s) x.6 found in function adder.11
function adder.11 cannot be directly applied in fact
directly applying make_adder.5
eliminating closure(s) make_adder.5
register allocation: may take some time (up to a few minutes, depending on the size of functions)
generating assembly...
gcc -g -O2 -Wall -m32 test/adder.s libmincaml.S stub.c -lm -o test/adder
test/adder > test/adder.res
sp = 0xffe74600, hp = 0xf7825010
ocaml test/adder.ml > test/adder.ans
diff test/adder.res test/adder.ans > test/adder.cmp
./min-caml test/funcomp
free variable print_int assumed as external
iteration 1000
iteration 999
free variable(s) f.8 g.9 found in function composed.22
function composed.22 cannot be directly applied in fact
directly applying compose.7
directly applying compose.7
eliminating closure(s) compose.7
register allocation: may take some time (up to a few minutes, depending on the size of functions)
generating assembly...
gcc -g -O2 -Wall -m32 test/funcomp.s libmincaml.S stub.c -lm -o test/funcomp
test/funcomp > test/funcomp.res
sp = 0xffac7c70, hp = 0xf7832010
ocaml test/funcomp.ml > test/funcomp.ans
diff test/funcomp.res test/funcomp.ans > test/funcomp.cmp
./min-caml test/cls-rec
free variable print_int assumed as external
iteration 1000
iteration 999
directly applying f.8
free variable(s) x.7 found in function f.8
function f.8 cannot be directly applied in fact
register allocation: may take some time (up to a few minutes, depending on the size of functions)
generating assembly...
gcc -g -O2 -Wall -m32 test/cls-rec.s libmincaml.S stub.c -lm -o test/cls-rec
test/cls-rec > test/cls-rec.res
sp = 0xffd33d00, hp = 0xf7826010
ocaml test/cls-rec.ml > test/cls-rec.ans
diff test/cls-rec.res test/cls-rec.ans > test/cls-rec.cmp
./min-caml test/cls-bug
free variable print_int assumed as external
iteration 1000
iteration 999
free variable(s) f.6 found in function g.8
function g.8 cannot be directly applied in fact
register allocation: may take some time (up to a few minutes, depending on the size of functions)
generating assembly...
gcc -g -O2 -Wall -m32 test/cls-bug.s libmincaml.S stub.c -lm -o test/cls-bug
test/cls-bug > test/cls-bug.res
sp = 0xffe8aaf0, hp = 0xf780d010
ocaml test/cls-bug.ml > test/cls-bug.ans
diff test/cls-bug.res test/cls-bug.ans > test/cls-bug.cmp
./min-caml test/cls-bug2
free variable print_int assumed as external
iteration 1000
iteration 999
free variable(s) f.9 found in function f.9
function f.9 cannot be directly applied in fact
register allocation: may take some time (up to a few minutes, depending on the size of functions)
generating assembly...
gcc -g -O2 -Wall -m32 test/cls-bug2.s libmincaml.S stub.c -lm -o test/cls-bug2
test/cls-bug2 > test/cls-bug2.res
sp = 0xffe89a20, hp = 0xf78cf010
ocaml test/cls-bug2.ml > test/cls-bug2.ans
diff test/cls-bug2.res test/cls-bug2.ans > test/cls-bug2.cmp
./min-caml test/cls-reg-bug
free variable print_int assumed as external
free variable print_newline assumed as external
iteration 1000
iteration 999
directly applying g.52
free variable(s) v1.42 v10.51 v2.43 v3.44 v4.45 v5.46 v6.47 v7.48 v8.49 v9.50 found in function g.52
function g.52 cannot be directly applied in fact
directly applying h.26
eliminating closure(s) h.26
register allocation: may take some time (up to a few minutes, depending on the size of functions)
register allocation failed for v5.46
spilling z.53 from %eax
register allocation failed for v4.45
spilling v9.50 from %ebx
register allocation failed for v3.44
spilling v8.49 from %ecx
register allocation failed for v2.43
spilling v7.48 from %edx
register allocation failed for v10.51
spilling v6.47 from %esi
register allocation failed for v1.42
spilling g.52 from %edi
register allocation failed for v5.46
spilling v10.51 from %ebx
register allocation failed for v4.45
spilling v5.46 from %ebx
register allocation failed for v3.44
spilling v4.45 from %ebx
register allocation failed for v2.43
spilling v3.44 from %ebx
register allocation failed for g.52
spilling v1.42 from %eax
register allocation failed for l.76
spilling v2.43 from %ebx
register allocation failed for Ti8.38
spilling Ti2.32 from %eax
register allocation failed for Ti9.39
spilling Ti3.33 from %ebx
register allocation failed for Ti10.40
spilling Ti4.34 from %ecx
register allocation failed for Ti11.41
spilling Ti5.35 from %edx
register allocation failed for t.78
spilling Ti6.36 from %esi
generating assembly...
gcc -g -O2 -Wall -m32 test/cls-reg-bug.s libmincaml.S stub.c -lm -o test/cls-reg-bug
test/cls-reg-bug > test/cls-reg-bug.res
sp = 0xffe2d540, hp = 0xf7882010
ocaml test/cls-reg-bug.ml > test/cls-reg-bug.ans
diff test/cls-reg-bug.res test/cls-reg-bug.ans > test/cls-reg-bug.cmp
./min-caml test/shuffle
free variable print_int assumed as external
iteration 1000
directly applying foo.12
directly applying bar.19
eliminating closure(s) bar.19
eliminating closure(s) foo.12
register allocation: may take some time (up to a few minutes, depending on the size of functions)
generating assembly...
gcc -g -O2 -Wall -m32 test/shuffle.s libmincaml.S stub.c -lm -o test/shuffle
test/shuffle > test/shuffle.res
sp = 0xffa1c4c0, hp = 0xf7865010
ocaml test/shuffle.ml > test/shuffle.ans
diff test/shuffle.res test/shuffle.ans > test/shuffle.cmp
./min-caml test/spill
free variable print_int assumed as external
iteration 1000
iteration 999
directly applying f.43
eliminating closure(s) f.43
register allocation: may take some time (up to a few minutes, depending on the size of functions)
register allocation failed for g.55
spilling a.44 from %eax
register allocation failed for h.56
spilling g.55 from %eax
register allocation failed for i.57
spilling b.45 from %ebx
register allocation failed for j.58
spilling d.47 from %edx
register allocation failed for k.59
spilling c.46 from %ecx
register allocation failed for g.55
spilling k.59 from %ecx
register allocation failed for l.60
spilling g.55 from %ecx
register allocation failed for m.61
spilling l.60 from %ecx
register allocation failed for n.62
spilling m.61 from %ecx
register allocation failed for o.63
spilling e.53 from %esi
register allocation failed for g.55
spilling o.63 from %esi
register allocation failed for p.64
spilling n.62 from %ecx
register allocation failed for q.65
spilling p.64 from %ecx
register allocation failed for r.66
spilling q.65 from %ecx
register allocation failed for s.67
spilling f.54 from %edi
register allocation failed for t.68
spilling s.67 from %edi
register allocation failed for u.69
spilling t.68 from %edi
register allocation failed for v.70
spilling g.55 from %esi
register allocation failed for w.71
spilling v.70 from %esi
register allocation failed for x.72
spilling h.56 from %eax
register allocation failed for y.73
spilling j.58 from %edx
register allocation failed for l.60
spilling i.57 from %ebx
register allocation failed for k.59
spilling y.73 from %edx
register allocation failed for aa.74
spilling l.60 from %ebx
register allocation failed for m.61
spilling aa.74 from %ebx
register allocation failed for ab.75
spilling m.61 from %ebx
register allocation failed for n.62
spilling ab.75 from %ebx
register allocation failed for ac.76
spilling n.62 from %ebx
register allocation failed for o.63
spilling ac.76 from %ebx
register allocation failed for ad.77
spilling o.63 from %ebx
register allocation failed for p.64
spilling ad.77 from %ebx
register allocation failed for ae.78
spilling p.64 from %ebx
register allocation failed for q.65
spilling ae.78 from %ebx
register allocation failed for af.79
spilling q.65 from %ebx
register allocation failed for ag.80
spilling af.79 from %ebx
register allocation failed for s.67
spilling ag.80 from %ebx
register allocation failed for ah.81
spilling s.67 from %ebx
register allocation failed for t.68
spilling ah.81 from %ebx
register allocation failed for ai.82
spilling t.68 from %ebx
register allocation failed for aj.83
spilling ai.82 from %ebx
register allocation failed for v.70
spilling aj.83 from %ebx
register allocation failed for ak.84
spilling v.70 from %ebx
register allocation failed for al.85
spilling ak.84 from %ebx
register allocation failed for am.86
spilling al.85 from %ebx
register allocation failed for y.73
spilling am.86 from %ebx
register allocation failed for an.87
spilling y.73 from %ebx
register allocation failed for b.45
spilling an.87 from %ebx
register allocation failed for a.44
spilling x.72 from %eax
generating assembly...
gcc -g -O2 -Wall -m32 test/spill.s libmincaml.S stub.c -lm -o test/spill
test/spill > test/spill.res
sp = 0xff983970, hp = 0xf7816010
ocaml test/spill.ml > test/spill.ans
diff test/spill.res test/spill.ans > test/spill.cmp
./min-caml test/spill2
free variable print_int assumed as external
iteration 1000
iteration 999
directly applying g.28
directly applying f.26
eliminating closure(s) g.28
eliminating closure(s) f.26
register allocation: may take some time (up to a few minutes, depending on the size of functions)
register allocation failed for z3.36
spilling x.31 from %eax
register allocation failed for z4.37
spilling z3.36 from %eax
register allocation failed for z5.38
spilling z4.37 from %eax
register allocation failed for z6.39
spilling z5.38 from %eax
register allocation failed for z7.40
spilling z6.39 from %eax
register allocation failed for z8.41
spilling z7.40 from %eax
register allocation failed for z9.42
spilling z8.41 from %eax
register allocation failed for z10.43
spilling z9.42 from %eax
register allocation failed for z11.44
spilling z10.43 from %eax
register allocation failed for z12.45
spilling z11.44 from %eax
register allocation failed for z13.46
spilling z12.45 from %eax
register allocation failed for z14.47
spilling z13.46 from %eax
register allocation failed for z15.48
spilling z14.47 from %eax
generating assembly...
gcc -g -O2 -Wall -m32 test/spill2.s libmincaml.S stub.c -lm -o test/spill2
test/spill2 > test/spill2.res
sp = 0xff760680, hp = 0xf78db010
ocaml test/spill2.ml > test/spill2.ans
diff test/spill2.res test/spill2.ans > test/spill2.cmp
./min-caml test/spill3
free variable print_int assumed as external
iteration 1000
iteration 999
directly applying f.56
eliminating closure(s) f.56
register allocation: may take some time (up to a few minutes, depending on the size of functions)
register allocation failed for x6.65
spilling x0.57 from %eax
register allocation failed for x7.66
spilling x6.65 from %eax
register allocation failed for x8.67
spilling x7.66 from %eax
register allocation failed for x9.68
spilling x8.67 from %eax
register allocation failed for x10.69
spilling x9.68 from %eax
register allocation failed for x11.70
spilling x10.69 from %eax
register allocation failed for x12.71
spilling x11.70 from %eax
register allocation failed for x13.72
spilling x12.71 from %eax
register allocation failed for x14.73
spilling x13.72 from %eax
register allocation failed for x15.74
spilling x14.73 from %eax
register allocation failed for x16.75
spilling x15.74 from %eax
register allocation failed for x17.76
spilling x16.75 from %eax
register allocation failed for x18.77
spilling x17.76 from %eax
register allocation failed for x19.78
spilling x18.77 from %eax
register allocation failed for x20.79
spilling x19.78 from %eax
register allocation failed for x21.80
spilling x20.79 from %eax
register allocation failed for x22.81
spilling x21.80 from %eax
register allocation failed for x23.82
spilling x22.81 from %eax
register allocation failed for x6.65
spilling x5.64 from %edi
register allocation failed for x24.83
spilling x23.82 from %eax
register allocation failed for x7.66
spilling x6.65 from %edi
register allocation failed for x25.84
spilling x24.83 from %eax
register allocation failed for x8.67
spilling x7.66 from %edi
register allocation failed for x26.85
spilling x25.84 from %eax
register allocation failed for x9.68
spilling x8.67 from %edi
register allocation failed for x27.86
spilling x26.85 from %eax
register allocation failed for x10.69
spilling x9.68 from %edi
register allocation failed for x28.87
spilling x27.86 from %eax
register allocation failed for x11.70
spilling x10.69 from %edi
register allocation failed for x29.88
spilling x28.87 from %eax
register allocation failed for x12.71
spilling x11.70 from %edi
register allocation failed for x30.89
spilling x29.88 from %eax
register allocation failed for x13.72
spilling x12.71 from %edi
register allocation failed for x31.90
spilling x30.89 from %eax
register allocation failed for x14.73
spilling x13.72 from %edi
register allocation failed for x32.91
spilling x31.90 from %eax
register allocation failed for x15.74
spilling x14.73 from %edi
register allocation failed for x33.92
spilling x32.91 from %eax
register allocation failed for x16.75
spilling x15.74 from %edi
register allocation failed for x34.93
spilling x33.92 from %eax
register allocation failed for x17.76
spilling x16.75 from %edi
register allocation failed for x35.94
spilling x34.93 from %eax
register allocation failed for x0.57
spilling x17.76 from %edi
register allocation failed for x36.95
spilling x0.57 from %edi
generating assembly...
gcc -g -O2 -Wall -m32 test/spill3.s libmincaml.S stub.c -lm -o test/spill3
test/spill3 > test/spill3.res
sp = 0xff750140, hp = 0xf7832010
ocaml test/spill3.ml > test/spill3.ans
diff test/spill3.res test/spill3.ans > test/spill3.cmp
./min-caml test/join-stack
free variable print_int assumed as external
iteration 1000
iteration 999
directly applying h.18
directly applying g.16
directly applying f.14
eliminating closure(s) h.18
eliminating closure(s) g.16
eliminating closure(s) f.14
register allocation: may take some time (up to a few minutes, depending on the size of functions)
generating assembly...
gcc -g -O2 -Wall -m32 test/join-stack.s libmincaml.S stub.c -lm -o test/join-stack
test/join-stack > test/join-stack.res
sp = 0xffb2d750, hp = 0xf78bd010
ocaml test/join-stack.ml > test/join-stack.ans
diff test/join-stack.res test/join-stack.ans > test/join-stack.cmp
./min-caml test/join-stack2
free variable print_int assumed as external
iteration 1000
iteration 999
directly applying g.11
directly applying f.9
eliminating closure(s) g.11
eliminating closure(s) f.9
register allocation: may take some time (up to a few minutes, depending on the size of functions)
generating assembly...
gcc -g -O2 -Wall -m32 test/join-stack2.s libmincaml.S stub.c -lm -o test/join-stack2
test/join-stack2 > test/join-stack2.res
sp = 0xffbf2a60, hp = 0xf7848010
ocaml test/join-stack2.ml > test/join-stack2.ans
diff test/join-stack2.res test/join-stack2.ans > test/join-stack2.cmp
./min-caml test/join-stack3
free variable print_int assumed as external
iteration 1000
iteration 999
directly applying h.14
directly applying g.12
directly applying f.10
eliminating closure(s) h.14
eliminating closure(s) g.12
eliminating closure(s) f.10
register allocation: may take some time (up to a few minutes, depending on the size of functions)
generating assembly...
gcc -g -O2 -Wall -m32 test/join-stack3.s libmincaml.S stub.c -lm -o test/join-stack3
test/join-stack3 > test/join-stack3.res
sp = 0xffbe2620, hp = 0xf7824010
ocaml test/join-stack3.ml > test/join-stack3.ans
diff test/join-stack3.res test/join-stack3.ans > test/join-stack3.cmp
./min-caml test/join-reg
free variable print_int assumed as external
iteration 1000
iteration 999
directly applying h.16
directly applying g.14
directly applying f.12
eliminating closure(s) h.16
eliminating closure(s) g.14
eliminating closure(s) f.12
register allocation: may take some time (up to a few minutes, depending on the size of functions)
generating assembly...
gcc -g -O2 -Wall -m32 test/join-reg.s libmincaml.S stub.c -lm -o test/join-reg
test/join-reg > test/join-reg.res
sp = 0xff9d6430, hp = 0xf786a010
ocaml test/join-reg.ml > test/join-reg.ans
diff test/join-reg.res test/join-reg.ans > test/join-reg.cmp
./min-caml test/join-reg2
free variable print_int assumed as external
iteration 1000
iteration 999
directly applying h.16
directly applying g.14
directly applying f.12
eliminating closure(s) h.16
eliminating closure(s) g.14
eliminating closure(s) f.12
register allocation: may take some time (up to a few minutes, depending on the size of functions)
generating assembly...
gcc -g -O2 -Wall -m32 test/join-reg2.s libmincaml.S stub.c -lm -o test/join-reg2
test/join-reg2 > test/join-reg2.res
sp = 0xffecdcc0, hp = 0xf7893010
ocaml test/join-reg2.ml > test/join-reg2.ans
diff test/join-reg2.res test/join-reg2.ans > test/join-reg2.cmp
./min-caml test/non-tail-if
free variable truncate assumed as external
free variable print_int assumed as external
iteration 1000
eliminating variable Td3.25
iteration 999
register allocation: may take some time (up to a few minutes, depending on the size of functions)
generating assembly...
gcc -g -O2 -Wall -m32 test/non-tail-if.s libmincaml.S stub.c -lm -o test/non-tail-if
test/non-tail-if > test/non-tail-if.res
sp = 0xff7d28d0, hp = 0xf78ac010
ocaml test/non-tail-if.ml > test/non-tail-if.ans
diff test/non-tail-if.res test/non-tail-if.ans > test/non-tail-if.cmp
./min-caml test/non-tail-if2
free variable print_int assumed as external
iteration 1000
iteration 999
directly applying f.13
eliminating closure(s) f.13
register allocation: may take some time (up to a few minutes, depending on the size of functions)
generating assembly...
gcc -g -O2 -Wall -m32 test/non-tail-if2.s libmincaml.S stub.c -lm -o test/non-tail-if2
test/non-tail-if2 > test/non-tail-if2.res
sp = 0xffc76930, hp = 0xf7860010
ocaml test/non-tail-if2.ml > test/non-tail-if2.ans
diff test/non-tail-if2.res test/non-tail-if2.ans > test/non-tail-if2.cmp
./min-caml test/inprod
free variable truncate assumed as external
free variable print_int assumed as external
uninstantiated type variable detected; assuming int
iteration 1000
iteration 999
directly applying getz.27
directly applying getz.27
directly applying gety.25
directly applying gety.25
directly applying getx.23
directly applying getx.23
directly applying inprod.29
eliminating closure(s) inprod.29
eliminating closure(s) getz.27
eliminating closure(s) gety.25
eliminating closure(s) getx.23
register allocation: may take some time (up to a few minutes, depending on the size of functions)
generating assembly...
gcc -g -O2 -Wall -m32 test/inprod.s libmincaml.S stub.c -lm -o test/inprod
test/inprod > test/inprod.res
sp = 0xff7fbc00, hp = 0xf78b1010
ocaml test/inprod.ml > test/inprod.ans
diff test/inprod.res test/inprod.ans > test/inprod.cmp
./min-caml test/inprod-rec
free variable truncate assumed as external
free variable print_int assumed as external
uninstantiated type variable detected; assuming int
iteration 1000
iteration 999
directly applying inprod.17
directly applying inprod.17
eliminating closure(s) inprod.17
register allocation: may take some time (up to a few minutes, depending on the size of functions)
generating assembly...
gcc -g -O2 -Wall -m32 test/inprod-rec.s libmincaml.S stub.c -lm -o test/inprod-rec
test/inprod-rec > test/inprod-rec.res
sp = 0xff827c40, hp = 0xf787d010
ocaml test/inprod-rec.ml > test/inprod-rec.ans
diff test/inprod-rec.res test/inprod-rec.ans > test/inprod-rec.cmp
./min-caml test/inprod-loop
free variable truncate assumed as external
free variable print_int assumed as external
uninstantiated type variable detected; assuming int
iteration 1000
iteration 999
directly applying inprod.18
directly applying inprod.18
eliminating closure(s) inprod.18
register allocation: may take some time (up to a few minutes, depending on the size of functions)
generating assembly...
gcc -g -O2 -Wall -m32 test/inprod-loop.s libmincaml.S stub.c -lm -o test/inprod-loop
test/inprod-loop > test/inprod-loop.res
sp = 0xffe49010, hp = 0xf78a0010
ocaml test/inprod-loop.ml > test/inprod-loop.ans
diff test/inprod-loop.res test/inprod-loop.ans > test/inprod-loop.cmp
./min-caml test/matmul
free variable truncate assumed as external
free variable print_int assumed as external
free variable print_newline assumed as external
uninstantiated type variable detected; assuming int
iteration 1000
iteration 999
directly applying loop3.282
free variable(s) a.144 b.145 c.146 i.270 j.275 found in function loop3.282
function loop3.282 cannot be directly applied in fact
directly applying loop2.274
free variable(s) a.144 b.145 c.146 i.270 m.142 found in function loop2.274
function loop2.274 cannot be directly applied in fact
directly applying loop3.282
free variable(s) a.144 b.145 c.146 i.270 j.275 found in function loop3.282
function loop3.282 cannot be directly applied in fact
directly applying loop1.269
free variable(s) a.144 b.145 c.146 m.142 n.143 found in function loop1.269
function loop1.269 cannot be directly applied in fact
directly applying loop3.282
free variable(s) a.144 b.145 c.146 i.270 j.275 found in function loop3.282
function loop3.282 cannot be directly applied in fact
directly applying loop2.274
free variable(s) a.144 b.145 c.146 i.270 m.142 found in function loop2.274
function loop2.274 cannot be directly applied in fact
directly applying loop3.282
free variable(s) a.144 b.145 c.146 i.270 j.275 found in function loop3.282
function loop3.282 cannot be directly applied in fact
directly applying init.256
free variable(s) mat.255 n.150 found in function init.256
function init.256 cannot be directly applied in fact
free variable(s) dummy.147 found in function make.148
function make.148 cannot be directly applied in fact
directly applying init.256
free variable(s) mat.255 n.150 found in function init.256
function init.256 cannot be directly applied in fact
directly applying mul.140
eliminating closure(s) mul.140
register allocation: may take some time (up to a few minutes, depending on the size of functions)
register allocation failed for a.144
spilling loop3.282 from %edi
register allocation failed for Ta129.293
spilling b.145 from %esi
register allocation failed for a.144
spilling loop2.274 from %edi
register allocation failed for loop3.282
spilling m.142 from %ebx
register allocation failed for l.307
spilling a.144 from %edi
register allocation failed for a.144
spilling loop1.269 from %edi
register allocation failed for loop2.274
spilling n.143 from %ebx
register allocation failed for l.314
spilling a.144 from %edi
register allocation failed for loop1.269
spilling l.141 from %eax
register allocation failed for l.321
spilling a.144 from %edx
generating assembly...
gcc -g -O2 -Wall -m32 test/matmul.s libmincaml.S stub.c -lm -o test/matmul
test/matmul > test/matmul.res
sp = 0xffe124b0, hp = 0xf781c010
ocaml test/matmul.ml > test/matmul.ans
diff test/matmul.res test/matmul.ans > test/matmul.cmp
./min-caml test/matmul-flat
free variable truncate assumed as external
free variable print_int assumed as external
free variable print_newline assumed as external
uninstantiated type variable detected; assuming int
iteration 1000
iteration 999
directly applying loop3.140
directly applying loop2.147
directly applying loop3.140
directly applying loop1.154
directly applying loop2.147
directly applying loop1.154
directly applying init.169
directly applying init.169
directly applying mul.161
directly applying make.173
directly applying make.173
directly applying make.173
eliminating closure(s) make.173
eliminating closure(s) init.169
eliminating closure(s) mul.161
eliminating closure(s) loop1.154
eliminating closure(s) loop2.147
eliminating closure(s) loop3.140
register allocation: may take some time (up to a few minutes, depending on the size of functions)
register allocation failed for Ta129.311
spilling b.145 from %esi
register allocation failed for Ta130.319
spilling c.146 from %edi
register allocation failed for Ta134.317
spilling b.145 from %edi
register allocation failed for Ti125.305
spilling m.149 from %ebx
register allocation failed for Ti120.299
spilling n.157 from %ecx
generating assembly...
gcc -g -O2 -Wall -m32 test/matmul-flat.s libmincaml.S stub.c -lm -o test/matmul-flat
test/matmul-flat > test/matmul-flat.res
sp = 0xffbe3c20, hp = 0xf78fe010
ocaml test/matmul-flat.ml > test/matmul-flat.ans
diff test/matmul-flat.res test/matmul-flat.ans > test/matmul-flat.cmp
./min-caml test/manyargs
free variable print_int assumed as external
iteration 1000
iteration 999
free variable(s) x.11 found in function f.12
function f.12 cannot be directly applied in fact
register allocation: may take some time (up to a few minutes, depending on the size of functions)
generating assembly...
gcc -g -O2 -Wall -m32 test/manyargs.s libmincaml.S stub.c -lm -o test/manyargs
test/manyargs > test/manyargs.res
sp = 0xffa3a6d0, hp = 0xf7860010
ocaml test/manyargs.ml > test/manyargs.ans
diff test/manyargs.res test/manyargs.ans > test/manyargs.cmp