diff options
author | David Monniaux <david.monniaux@univ-grenoble-alpes.fr> | 2019-01-29 20:31:38 +0100 |
---|---|---|
committer | David Monniaux <david.monniaux@univ-grenoble-alpes.fr> | 2019-01-29 20:31:38 +0100 |
commit | 295ea9f535cef2b874823680008c712a3f40d69b (patch) | |
tree | 4bd37c5cbb3df2c2af4c50e4aaaf3fc028061304 /mppa_k1c/Asmblockgen.v | |
parent | 6ff3de985a79fcb38ba57a9e8e08f7ef690d85f4 (diff) | |
download | compcert-kvx-295ea9f535cef2b874823680008c712a3f40d69b.tar.gz compcert-kvx-295ea9f535cef2b874823680008c712a3f40d69b.zip |
give meaningful "unhandled instr" messages
Diffstat (limited to 'mppa_k1c/Asmblockgen.v')
-rw-r--r-- | mppa_k1c/Asmblockgen.v | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/mppa_k1c/Asmblockgen.v b/mppa_k1c/Asmblockgen.v index d051697f..214801f5 100644 --- a/mppa_k1c/Asmblockgen.v +++ b/mppa_k1c/Asmblockgen.v @@ -793,25 +793,21 @@ Definition transl_instr_control (f: Machblock.function) (oi: option Machblock.co do r1 <- ireg_of r; OK ((Picall r1) ::g nil) | MBcall sig (inr symb) => OK ((Pcall symb) ::g nil) -(*| Mtailcall sig (inl r) => - do r1 <- ireg_of r; - OK (make_epilogue f (Pcall :: k)) -*) | MBtailcall sig (inr symb) => + | MBtailcall sig (inr symb) => OK (make_epilogue f ((Pgoto symb) ::g nil)) | MBbuiltin ef args res => OK (Pbuiltin ef (List.map (map_builtin_arg preg_of) args) (map_builtin_res preg_of res) ::g nil) -(* | Mlabel lbl => - OK (Plabel lbl ::i k) *) | MBgoto lbl => OK (Pj_l lbl ::g nil) | MBcond cond args lbl => transl_cbranch cond args lbl nil -(*| Mjumptable arg tbl => do r <- ireg_of arg; OK (Pbtbl r tbl :: k) -*) | MBreturn => + | MBreturn => OK (make_epilogue f (Pret ::g nil)) - (*OK (make_epilogue f (Pj_r RA f.(Mach.fn_sig) :: k))*) - | _ => - Error (msg "Asmgenblock.transl_instr") + (*OK (make_epilogue f (Pj_r RA f.(Mach.fn_sig) :: k))*) + | MBtailcall _ (inl _) => + Error (msg "Asmgenblock.transl_instr_control MBtailcall inl") + | MBjumptable _ _ => + Error (msg "Asmgenblock.transl_instr_control MBjumptable") end end. |