diff options
author | David Monniaux <david.monniaux@univ-grenoble-alpes.fr> | 2020-04-08 19:12:59 +0200 |
---|---|---|
committer | David Monniaux <david.monniaux@univ-grenoble-alpes.fr> | 2020-04-08 19:12:59 +0200 |
commit | 0e1a55f98dd47bb65201070722442e9f3e9f16a1 (patch) | |
tree | 343d506c832a1f01eebbef5468ec88425346af5b /backend/Profilingproof.v | |
parent | 42f89ff7198a9f088b428944ffdcc3b488571de5 (diff) | |
download | compcert-kvx-0e1a55f98dd47bb65201070722442e9f3e9f16a1.tar.gz compcert-kvx-0e1a55f98dd47bb65201070722442e9f3e9f16a1.zip |
progress in proofs
Diffstat (limited to 'backend/Profilingproof.v')
-rw-r--r-- | backend/Profilingproof.v | 26 |
1 files changed, 23 insertions, 3 deletions
diff --git a/backend/Profilingproof.v b/backend/Profilingproof.v index 630fecbc..202e451c 100644 --- a/backend/Profilingproof.v +++ b/backend/Profilingproof.v @@ -187,7 +187,14 @@ Inductive match_states: RTL.state -> RTL.state -> Prop := match_states (Returnstate stk v m) (Returnstate stk' v m). -Hint Resolve symbols_preserved : profiling. +Lemma funsig_preserved: + forall fd, + funsig (transf_fundef fd) = funsig fd. +Proof. + destruct fd; simpl; trivial. +Qed. + +Hint Resolve symbols_preserved funsig_preserved : profiling. Lemma step_simulation: forall s1 t s2 (STEP : step ge s1 t s2) @@ -226,8 +233,21 @@ Proof. rewrite eval_addressing_preserved with (ge1:=ge). all: eauto with profiling. + constructor; auto. - - admit. - - admit. + - econstructor; split. + + apply plus_one. apply exec_Istore with (chunk:=chunk) (src := src) + (addr:=addr) (args:=args) (a:=a). + erewrite transf_function_at; eauto. apply I. + rewrite eval_addressing_preserved with (ge1:=ge). + all: eauto with profiling. + + constructor; auto. + - econstructor; split. + + apply plus_one. apply exec_Icall with (sig:=(funsig fd)) (ros:=ros). + erewrite transf_function_at; eauto. apply I. + apply find_function_translated with (fd := fd). + all: eauto with profiling. + + constructor; auto. + constructor; auto. + constructor. - admit. - admit. - admit. |