aboutsummaryrefslogtreecommitdiffstats
path: root/backend/Profilingproof.v
diff options
context:
space:
mode:
authorDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2020-04-08 19:21:30 +0200
committerDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2020-04-08 19:21:30 +0200
commit44e48a67a58a171ca29f22e15429b1baaf64ae81 (patch)
tree2f4b3c571e98fac79ef0e6ae74f088216c0c582f /backend/Profilingproof.v
parent2e7e3340e9739e6317f2fb6049a659d7258aa45b (diff)
downloadcompcert-kvx-44e48a67a58a171ca29f22e15429b1baaf64ae81.tar.gz
compcert-kvx-44e48a67a58a171ca29f22e15429b1baaf64ae81.zip
progress in proofs
Diffstat (limited to 'backend/Profilingproof.v')
-rw-r--r--backend/Profilingproof.v24
1 files changed, 21 insertions, 3 deletions
diff --git a/backend/Profilingproof.v b/backend/Profilingproof.v
index 1372c9d9..ed07443c 100644
--- a/backend/Profilingproof.v
+++ b/backend/Profilingproof.v
@@ -194,7 +194,14 @@ Proof.
destruct fd; simpl; trivial.
Qed.
-Hint Resolve symbols_preserved funsig_preserved external_call_symbols_preserved senv_preserved : profiling.
+Lemma stacksize_preserved:
+ forall f,
+ fn_stacksize (transf_function f) = fn_stacksize f.
+Proof.
+ destruct f; simpl; trivial.
+Qed.
+
+Hint Resolve symbols_preserved funsig_preserved external_call_symbols_preserved senv_preserved stacksize_preserved : profiling.
Lemma step_simulation:
forall s1 t s2 (STEP : step ge s1 t s2)
@@ -262,8 +269,19 @@ Proof.
all: eauto with profiling.
+ constructor; auto.
- admit.
- - admit.
- - admit.
+ - econstructor; split.
+ + apply plus_one.
+ apply exec_Ijumptable with (arg:=arg) (tbl:=tbl) (n:=n).
+ erewrite transf_function_at; eauto. apply I.
+ all: eauto with profiling.
+ + constructor; auto.
+ - econstructor; split.
+ + apply plus_one.
+ apply exec_Ireturn.
+ erewrite transf_function_at; eauto. apply I.
+ rewrite stacksize_preserved.
+ eassumption.
+ + constructor; auto.
- admit.
- admit.
- inv STACKS. inv H1.