aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2020-03-31 17:12:42 +0200
committerDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2020-03-31 17:12:42 +0200
commitcc2d5def041128ae6dcbf46455db3341e74e995c (patch)
treec11c7433a6008623f608f9c6bc051984e770d047
parent7c18e5fbe3dee48b6a7f38d19cbb19427e6722fd (diff)
downloadcompcert-kvx-cc2d5def041128ae6dcbf46455db3341e74e995c.tar.gz
compcert-kvx-cc2d5def041128ae6dcbf46455db3341e74e995c.zip
except for builtins, finished the proof
-rw-r--r--backend/Inject.v2
-rw-r--r--backend/Injectproof.v10
2 files changed, 9 insertions, 3 deletions
diff --git a/backend/Inject.v b/backend/Inject.v
index 57aa343b..1a8ec24a 100644
--- a/backend/Inject.v
+++ b/backend/Inject.v
@@ -46,9 +46,9 @@ Definition alter_successor (i : instruction) (pc' : node) : instruction :=
| Iop op args dst _ => Iop op args dst pc'
| Iload trap chunk addr args dst _ => Iload trap chunk addr args dst pc'
| Istore chunk addr args src _ => Istore chunk addr args src pc'
- | Icall sig ri args dst _ => Icall sig ri args dst pc'
| Ibuiltin ef args res _ => Ibuiltin ef args res pc'
| Icond cond args _ pc2 => Icond cond args pc' pc2
+ | Icall _ _ _ _ _
| Itailcall _ _ _
| Ijumptable _ _
| Ireturn _ => i
diff --git a/backend/Injectproof.v b/backend/Injectproof.v
index c9493baf..2bfd9701 100644
--- a/backend/Injectproof.v
+++ b/backend/Injectproof.v
@@ -934,7 +934,6 @@ Section INJECTOR.
injection VALIDATE.
intro TF.
symmetry in TF.
- Check inject_l_injected_end.
pose proof (inject_l_injected_end (PTree.elements (gen_injections f)) (fn_code f) inj_n src_pc i inj_code (Pos.succ (max_pc_function f))) as INJECTED.
lapply INJECTED.
2: assumption.
@@ -1632,7 +1631,14 @@ Section INJECTOR.
eapply external_call_symbols_preserved; eauto. apply senv_preserved.
+ constructor; auto.
- - admit.
+ - (* return *)
+ inv STACKS. inv H1.
+ econstructor; split.
+ + apply Smallstep.plus_one.
+ apply exec_return.
+ + constructor; trivial.
+ apply match_regs_write.
+ assumption.
Admitted.
Theorem transf_program_correct: