CakeML:036a0d37ccec6822dc2a1d8750c42e00cd48d448
Fix 4 bugs in IRC register allocator
#1338 (reg_alloc_fixes)
Merging into:769c3cc7023954c3fc8a2399b8ebcc02467ab441
Merge pull request #1337 from CakeML/issue1336
HOL:b725f6e8834462a5b4bb2fb67b35e36f368cb8b6
Tweak regular Holmakefile to clean selftest's log
Machine:lammmington
Claimed job
Reusing HOL
Starting developers
Finished developers 4s 179MB
Starting developers/bin
Finished developers/bin 3s 90MB
Starting misc
Finished misc 41s 1GB
Starting compiler/proofs
Finished compiler/proofs 59m11s 10GB
Starting compiler/bootstrap/compilation/x64/64/proofs
FAILED: compiler/bootstrap/compilation/x64/64/proofs
Scanning $(HOLDIR)/src/bag
Scanning $(HOLDIR)/src/sort
Scanning $(HOLDIR)/src/string
Scanning $(HOLDIR)/src/n-bit
Scanning $(HOLDIR)/src/res_quan/src
Scanning $(HOLDIR)/src/finite_maps
Scanning $(HOLDIR)/src/integer
Scanning $(HOLDIR)/src/transfer
Scanning $(HOLDIR)/src/pred_set/src/more_theories
Scanning $(HOLDIR)/src/algebra/base
Scanning $(HOLDIR)/src/algebra/construction
Scanning $(HOLDIR)/src/algebra
Scanning $(HOLDIR)/src/hol88
Scanning $(HOLDIR)/src/rational
Scanning $(HOLDIR)/src/real
Scanning $(HOLDIR)/examples/data-structures/balanced_bst
Scanning $(HOLDIR)/examples/formal-languages
Scanning $(HOLDIR)/examples/formal-languages/context-free
Scanning $(HOLDIR)/src/search
Scanning $(HOLDIR)/examples/formal-languages/regular
Scanning $(HOLDIR)/examples/machine-code/hoare-triple
Scanning $(HOLDIR)/src/coalgebras
Scanning $(HOLDIR)/examples/pl-semantics/lprefix_lub
Scanning $(CAKEMLDIR)/developers
Scanning $(CAKEMLDIR)/misc
Scanning $(CAKEMLDIR)/basis/pure
Scanning $(CAKEMLDIR)/semantics/ffi
Scanning $(CAKEMLDIR)/semantics
Scanning $(CAKEMLDIR)/semantics/proofs
Scanning $(CAKEMLDIR)/compiler/parsing
Scanning $(CAKEMLDIR)/translator
Scanning $(CAKEMLDIR)/characteristic
Scanning $(HOLDIR)/examples/algorithms/unification/triangular
Scanning $(HOLDIR)/src/transfer/examples
Scanning $(HOLDIR)/examples/algorithms/unification/triangular/first-order
Scanning $(HOLDIR)/examples/algorithms/unification/triangular/first-order/compilation
Scanning $(CAKEMLDIR)/compiler/inference
Scanning $(CAKEMLDIR)/compiler/printing
Scanning $(CAKEMLDIR)/translator/monadic/monad_base
Scanning $(CAKEMLDIR)/translator/monadic
Scanning $(CAKEMLDIR)/basis
Scanning $(CAKEMLDIR)/candle/syntax-lib
Scanning $(CAKEMLDIR)/candle/standard/syntax
Scanning $(CAKEMLDIR)/candle/standard/monadic
Scanning $(CAKEMLDIR)/candle/standard/ml_kernel
Scanning $(CAKEMLDIR)/candle/set-theory
Scanning $(CAKEMLDIR)/candle/standard/semantics
Scanning $(CAKEMLDIR)/candle/prover/compute
Scanning $(CAKEMLDIR)/candle/prover
Scanning $(HOLDIR)/examples/algorithms
Scanning $(HOLDIR)/examples/machine-code/multiword
Scanning $(CAKEMLDIR)/compiler/backend/pattern_matching
Scanning $(CAKEMLDIR)/unverified/reg_alloc
Scanning $(CAKEMLDIR)/compiler/backend/reg_alloc
Scanning $(HOLDIR)/src/floating-point
Scanning $(HOLDIR)/src/monad/more_monads
Scanning $(HOLDIR)/src/update
Scanning $(HOLDIR)/examples/l3-machine-code/common
Scanning $(CAKEMLDIR)/compiler/encoders/asm
Scanning $(CAKEMLDIR)/compiler/backend
Scanning $(CAKEMLDIR)/compiler/backend/gc
Scanning $(CAKEMLDIR)/compiler/backend/reg_alloc/proofs
Scanning $(CAKEMLDIR)/semantics/alt_semantics
Scanning $(CAKEMLDIR)/semantics/alt_semantics/proofs
Scanning $(CAKEMLDIR)/compiler/backend/semantics
Scanning $(CAKEMLDIR)/compiler/backend/proofs
Scanning $(HOLDIR)/examples/l3-machine-code/lib
Scanning $(HOLDIR)/examples/l3-machine-code/x64/model
Scanning $(HOLDIR)/examples/machine-code/decompiler
Scanning $(HOLDIR)/examples/l3-machine-code
Scanning $(HOLDIR)/examples/l3-machine-code/x64/step
Scanning $(CAKEMLDIR)/compiler/encoders/x64
Scanning $(CAKEMLDIR)/compiler/backend/x64
Scanning $(HOLDIR)/examples/l3-machine-code/x64/prog
Scanning $(CAKEMLDIR)/compiler/encoders/x64/proofs
Scanning $(CAKEMLDIR)/compiler/backend/x64/proofs
Scanning $(CAKEMLDIR)/compiler/encoders/ag32
Scanning $(CAKEMLDIR)/compiler/backend/ag32
Scanning $(HOLDIR)/examples/l3-machine-code/arm/model
Scanning $(HOLDIR)/examples/l3-machine-code/arm/step
Scanning $(CAKEMLDIR)/compiler/encoders/arm7
Scanning $(CAKEMLDIR)/compiler/backend/arm7
Scanning $(HOLDIR)/examples/l3-machine-code/arm8/model
Scanning $(HOLDIR)/examples/l3-machine-code/arm8/step
Scanning $(CAKEMLDIR)/compiler/encoders/arm8
Scanning $(CAKEMLDIR)/compiler/backend/arm8
Scanning $(HOLDIR)/examples/l3-machine-code/mips/model
Scanning $(HOLDIR)/examples/l3-machine-code/mips/step
Scanning $(CAKEMLDIR)/compiler/encoders/mips
Scanning $(CAKEMLDIR)/compiler/backend/mips
Scanning $(HOLDIR)/examples/l3-machine-code/riscv/model
Scanning $(HOLDIR)/examples/l3-machine-code/riscv/step
Scanning $(CAKEMLDIR)/compiler/encoders/riscv
Scanning $(CAKEMLDIR)/compiler/backend/riscv
Scanning $(CAKEMLDIR)/pancake
Scanning $(CAKEMLDIR)/pancake/parser
Scanning $(CAKEMLDIR)/compiler
Scanning $(CAKEMLDIR)/compiler/backend/serialiser
Scanning $(CAKEMLDIR)/compiler/encoders/monadic_enc
Scanning $(CAKEMLDIR)/compiler/parsing/ocaml
Scanning $(CAKEMLDIR)/compiler/inference/proofs
Scanning $(CAKEMLDIR)/compiler/repl
Scanning $(CAKEMLDIR)/compiler/bootstrap/translation
Scanning $(HOLDIR)/src/num/theories/cv_compute/automation
Scanning $(HOLDIR)/examples/bootstrap
Scanning $(CAKEMLDIR)/compiler/backend/cv_compute
Scanning $(CAKEMLDIR)/cv_translator
Scanning $(CAKEMLDIR)/unverified/sexpr-bootstrap
Scanning $(CAKEMLDIR)/compiler/bootstrap/compilation/x64/64
Scanned 111 directories
Starting work on basis_cvTheory
Starting work on addPrintValsTheory
Starting work on ml_monadStoreTheory
Starting work on holSyntaxLibTheory
basis_cvTheory basis/pure (11s) OK
Finished $(CAKEMLDIR)/basis/pure [#theories: 1] (11.160s)
Starting work on source_cvTheory
addPrintValsTheory compiler/printing (12s) OK
Starting work on unify_cvTheory
holSyntaxLibTheory candle/syntax-lib (12s) OK
Starting work on printTweaksTheory
ml_monadStoreTheory translator/monadic (18s) OK
Finished $(CAKEMLDIR)/translator/monadic [#theories: 1] (18.500s)
Finished $(CAKEMLDIR)/candle/syntax-lib [#theories: 1] (12.770s)
Starting work on holSyntaxTheory
printTweaksTheory compiler/printing (10s) OK
Finished $(CAKEMLDIR)/compiler/printing [#theories: 2] (23.580s)
Starting work on ast_extrasTheory
source_cvTheory semantics/proofs (14s) OK
Finished $(CAKEMLDIR)/semantics/proofs [#theories: 1] (14.000s)
Finished $(CAKEMLDIR)/unverified/reg_alloc (0.000s)
Finished $(CAKEMLDIR)/compiler/backend/reg_alloc (0.000s)
Starting work on x64_targetProofTheory
unify_cvTheory compiler/inference (16s) OK
Starting work on infer_cvTheory
ast_extrasTheory candle/prover (13s) OK
Starting work on permsTheory
holSyntaxTheory candle/standard/syntax (20s) OK
Starting work on holSyntaxExtraTheory
infer_cvTheory compiler/inference (46s) OK
Finished $(CAKEMLDIR)/compiler/inference [#theories: 2] (63.610s)
Starting work on num_list_enc_decTheory
holSyntaxExtraTheory candle/standard/syntax (37s) OK
Starting work on holBoolSyntaxTheory
permsTheory candle/prover (45s) OK
Starting work on holKernelTheory
num_list_enc_decTheory compiler/backend/serialiser (21s) OK
Starting work on num_tree_enc_decTheory
holBoolSyntaxTheory candle/standard/syntax (28s) OK
Starting work on holAxiomsSyntaxTheory
holKernelTheory candle/standard/monadic (30s) OK
Starting work on holKernelPmatchTheory
num_tree_enc_decTheory compiler/backend/serialiser (16s) OK
Starting work on holKernelProofTheory
holAxiomsSyntaxTheory candle/standard/syntax (17s) OK
Finished $(CAKEMLDIR)/candle/standard/syntax [#theories: 4] (103.850s)
Starting work on runtime_checkTheory
holKernelPmatchTheory candle/standard/monadic (19s) OK
Starting work on print_thmTheory
runtime_checkTheory candle/standard/ml_kernel (16s) OK
Starting work on ml_hol_kernel_funsProgTheory
print_thmTheory candle/standard/ml_kernel (13s) OK
Starting work on backend_enc_decTheory
holKernelProofTheory candle/standard/monadic (52s) OK
Finished $(CAKEMLDIR)/candle/standard/monadic [#theories: 3] (102.490s)
Starting work on compute_syntaxTheory
compute_syntaxTheory candle/prover/compute (24s) OK
Starting work on compute_evalTheory
backend_enc_decTheory compiler/backend/serialiser (56s) OK
Starting work on compute_syntaxProofTheory
compute_evalTheory candle/prover/compute (19s) OK
Starting work on compute_execTheory
compute_execTheory candle/prover/compute (19s) OK
Starting work on computeTheory
computeTheory candle/prover/compute (15s) OK
Starting work on compute_pmatchTheory
compute_pmatchTheory candle/prover/compute (17s) OK
Finished $(CAKEMLDIR)/compiler/backend/serialiser [#theories: 3] (95.200s)
Starting work on monadic_encTheory
monadic_encTheory compiler/encoders/monadic_enc (12s) OK
Starting work on monadic_enc64Theory
compute_syntaxProofTheory candle/prover/compute (84s) OK
Starting work on compute_evalProofTheory
monadic_enc64Theory compiler/encoders/monadic_enc (18s) OK
Finished $(CAKEMLDIR)/compiler/encoders/monadic_enc [#theories: 2] (30.940s)
Starting work on caml_lexTheory
ml_hol_kernel_funsProgTheory candle/standard/ml_kernel(197s) OK
Finished $(CAKEMLDIR)/candle/standard/ml_kernel [#theories: 3] (228.020s)
Starting work on candle_kernelProgTheory
compute_evalProofTheory candle/prover/compute (69s) OK
Starting work on compute_execProofTheory
compute_execProofTheory candle/prover/compute (15s) OK
Starting work on computeProofTheory
computeProofTheory candle/prover/compute (41s) OK
Finished $(CAKEMLDIR)/candle/prover/compute [#theories: 9] (307.290s)
Starting work on evaluate_skipTheory
caml_lexTheory compiler/parsing/ocaml(137s) OK
Starting work on camlPEGTheory
candle_kernelProgTheory candle/prover(127s) OK
Starting work on candle_kernel_valsTheory
evaluate_skipTheory compiler/repl (91s) OK
Starting work on evaluate_initTheory
x64_targetProofTheory compiler/encoders/x64/proofs(547s) OK
Finished $(CAKEMLDIR)/compiler/encoders/x64/proofs [#theories: 1] (547.100s)
Starting work on x64_configProofTheory
candle_kernel_valsTheory candle/prover (93s) OK
Starting work on candle_prover_invTheory
camlPEGTheory compiler/parsing/ocaml(106s) OK
Starting work on camlPtreeConversionTheory
evaluate_initTheory compiler/repl (87s) OK
Starting work on repl_moduleProgTheory
x64_configProofTheory compiler/backend/x64/proofs (28s) OK
Finished $(CAKEMLDIR)/compiler/backend/x64/proofs [#theories: 1] (28.950s)
Starting work on backend_asmTheory
candle_prover_invTheory candle/prover (31s) OK
Starting work on candle_kernel_permsTheory
backend_asmTheory compiler/backend/cv_compute (21s) OK
Starting work on repl_decs_allowedTheory
camlPtreeConversionTheory compiler/parsing/ocaml (53s) OK
Starting work on caml_parserTheory
caml_parserTheory compiler/parsing/ocaml (14s) OK
Finished $(CAKEMLDIR)/compiler/parsing/ocaml [#theories: 4] (312.950s)
Starting work on backend_arm8Theory
repl_decs_allowedTheory compiler/repl (29s) OK
Starting work on repl_check_and_tweakTheory
backend_arm8Theory compiler/backend/cv_compute (18s) OK
Starting work on backend_x64Theory
backend_x64Theory compiler/backend/cv_compute (19s) OK
Finished $(CAKEMLDIR)/compiler/backend/cv_compute [#theories: 3] (60.100s)
Starting work on to_data_cvTheory
repl_check_and_tweakTheory compiler/repl (46s) OK
Starting work on repl_typesTheory
repl_moduleProgTheory compiler/repl(102s) OK
Starting work on repl_init_envProgTheory
candle_kernel_permsTheory candle/prover(151s) OK
Starting work on candle_kernel_funsTheory
repl_init_envProgTheory compiler/repl (50s) OK
Starting work on repl_init_typesTheory
repl_typesTheory compiler/repl (70s) OK
Starting work on decProgTheory
candle_kernel_funsTheory candle/prover (67s) OK
Starting work on candle_prover_evaluateTheory
repl_init_typesTheory compiler/repl (65s) OK
Starting work on repl_initTheory
candle_prover_evaluateTheory candle/prover (59s) OK
Starting work on candle_basis_evaluateTheory
decProgTheory compiler/bootstrap/translation(124s) OK
Starting work on to_flatProgTheory
candle_basis_evaluateTheory candle/prover (39s) OK
Starting work on candle_prover_semanticsTheory
repl_initTheory compiler/repl (91s) OK
Finished $(CAKEMLDIR)/compiler/repl [#theories: 9] (635.220s)
Starting work on README.md
README.md compiler/bootstrap/compilation/x64/64/proofs (0s) OK
candle_prover_semanticsTheory candle/prover(101s) OK
Finished $(CAKEMLDIR)/candle/prover [#theories: 10] (730.060s)
to_data_cvTheory cv_translator(377s) OK
Starting work on backend_cvTheory
to_flatProgTheory compiler/bootstrap/translation(235s) OK
Starting work on to_closProgTheory
backend_cvTheory cv_translator(217s) OK
Starting work on backend_64_cvTheory
backend_64_cvTheory cv_translator(187s) OK
Starting work on backend_arm8_cvTheory
Starting work on backend_x64_cvTheory
to_closProgTheory compiler/bootstrap/translation(396s) OK
Starting work on to_bvlProgTheory
backend_x64_cvTheory cv_translator(134s) OK
backend_arm8_cvTheory cv_translator(152s) OK
Starting work on cake_compile_heap
cake_compile_heap cv_translator (73s) OK
Finished $(CAKEMLDIR)/cv_translator [#theories: 5] (1142.910s)
to_bvlProgTheory compiler/bootstrap/translation(296s) OK
Starting work on to_bviProgTheory
to_bviProgTheory compiler/bootstrap/translation(255s) OK
Starting work on to_dataProgTheory
to_dataProgTheory compiler/bootstrap/translation(187s) OK
Starting work on lexerProgTheory
lexerProgTheory compiler/bootstrap/translation(190s) OK
Starting work on parserProgTheory
parserProgTheory compiler/bootstrap/translation(491s) OK
Starting work on caml_lexProgTheory
caml_lexProgTheory compiler/bootstrap/translation(402s) OK
Starting work on caml_parserProgTheory
caml_parserProgTheory compiler/bootstrap/translation (21m) OK
Starting work on pancake_lexProgTheory
pancake_lexProgTheory compiler/bootstrap/translation(179s) OK
Starting work on pancake_parseProgTheory
pancake_parseProgTheory compiler/bootstrap/translation(208s) OK
Starting work on reg_allocProgTheory
reg_allocProgTheory compiler/bootstrap/translation(331s)FAIL<1>
Translating st_ex_list_max_deg
Added a dynamic specification for st_ex_list_MAX_deg
Translating do_spill
Added a dynamic specification for do_spill
Translating do_step
Added a dynamic specification for do_step
Translating rpt_do_step
Added a dynamic specification for rpt_do_step
Translating remove_colours
Added a dynamic specification for remove_colours
Translating assign_atemp_tag
Added a dynamic specification for assign_Atemp_tag
Translating assign_atemps
Added a dynamic specification for assign_Atemps
Translating tag_col
Adding nsLookup representation thms for [reg_allocProg_env_18]
Saved theorem _______ "nsLookup_reg_allocProg_env_19_pfun_eqs"
Saved theorem _______ "tag_col_v_thm"
Translating unbound_colour
Saved theorem _______ "nsLookup_reg_allocProg_env_20_pfun_eqs"
Adding nsLookup representation thms for [reg_allocProg_env_19]
Adding nsLookup representation thms for [reg_allocProg_env_20]
Saved theorem _______ "unbound_colour_v_thm"
Translating assign_stemp_tag
Added a dynamic specification for assign_Stemp_tag
Translating assign_stemps
Added a dynamic specification for assign_Stemps
Translating first_match_col
Added a dynamic specification for first_match_col
Translating biased_pref
ml_translate: unexpected error when translating definition:
mtable n ks.
biased_pref mtable n ks =
do
d <- get_dim;
if n < d then
do
v <- coalesce_root n;
vs <<- case lookup n mtable of NONE => [] | SOME vs => vs;
handle_Subscript (first_match_col ks (v::vs)) (return NONE)
od
else return NONE
od
error in quse /scratch/cakeml/regression3/cakeml-3225/compiler/bootstrap/translation/reg_allocProgScript.sml : HOL_ERR (HOL_ERROR {message = "cannot translate: coalesce_root", origins = [{origin_function = "failwith", origin_structure = "??", source_location = Loc_Unknown}]})
error in load /scratch/cakeml/regression3/cakeml-3225/compiler/bootstrap/translation/reg_allocProgScript : HOL_ERR (HOL_ERROR {message = "cannot translate: coalesce_root", origins = [{origin_function = "failwith", origin_structure = "??", source_location = Loc_Unknown}]})
Uncaught exception at /scratch/cakeml/regression3/cakeml-3225/translator/monadic/ml_monad_translatorLib.sml:3371: HOL_ERR (HOL_ERROR {message = "cannot translate: coalesce_root", origins = [{origin_function = "failwith", origin_structure = "??", source_location = Loc_Unknown}]})
Full log: /scratch/cakeml/regression3/cakeml-3225/compiler/bootstrap/translation/.hol/logs/reg_allocProgTheory