aboutsummaryrefslogtreecommitdiffstats
path: root/backend/Duplicate.v
diff options
context:
space:
mode:
authorCyril SIX <cyril.six@kalray.eu>2019-10-07 14:57:24 +0200
committerCyril SIX <cyril.six@kalray.eu>2019-10-07 14:57:24 +0200
commit2a5715729f6454a9e664fcce52f269ee8c13e9e1 (patch)
treef1f1c8a200a6a78cfc349e1d8bb9ea3d63b39683 /backend/Duplicate.v
parente7da402f36d030484d11960cf12581fd1c1f159a (diff)
downloadcompcert-kvx-2a5715729f6454a9e664fcce52f269ee8c13e9e1.tar.gz
compcert-kvx-2a5715729f6454a9e664fcce52f269ee8c13e9e1.zip
Itailcall
Diffstat (limited to 'backend/Duplicate.v')
-rw-r--r--backend/Duplicate.v9
1 files changed, 9 insertions, 0 deletions
diff --git a/backend/Duplicate.v b/backend/Duplicate.v
index ec03009d..24fb8e78 100644
--- a/backend/Duplicate.v
+++ b/backend/Duplicate.v
@@ -116,6 +116,15 @@ Definition verify_match_inst revmap inst tinst :=
else Error (msg "Different ri in Icall")
else Error (msg "Different signatures in Icall")
| _ => Error (msg "verify_match_inst Icall") end
+ | Itailcall s ri lr => match tinst with
+ | Itailcall s' ri' lr' =>
+ if (signature_eq s s') then
+ if (product_eq Pos.eq_dec ident_eq ri ri') then
+ if (list_eq_dec Pos.eq_dec lr lr') then OK tt
+ else Error (msg "Different lr in Itailcall")
+ else Error (msg "Different ri in Itailcall")
+ else Error (msg "Different signatures in Itailcall")
+ | _ => Error (msg "verify_match_inst Itailcall") end
| Ibuiltin ef lbar brr n => match tinst with
| Ibuiltin ef' lbar' brr' n' =>
do u <- verify_is_copy revmap n n';