aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--driver/Compiler.vexpand2
-rw-r--r--kvx/lib/RTLpathSchedulerproof.v14
2 files changed, 7 insertions, 9 deletions
diff --git a/driver/Compiler.vexpand b/driver/Compiler.vexpand
index 3285a012..8aaa40c6 100644
--- a/driver/Compiler.vexpand
+++ b/driver/Compiler.vexpand
@@ -298,6 +298,8 @@ EXPAND_ASM_SEMANTICS
EXPAND_RTL_FORWARD_SIMULATIONS
eapply compose_forward_simulations.
eapply RTLpathLivegenproof.transf_program_correct; eassumption.
+ pose proof RTLpathLivegenproof.all_fundef_liveness_ok as X.
+ refine (modusponens _ _ (X _ _ _) _); eauto. intro.
eapply compose_forward_simulations.
eapply RTLpathSchedulerproof.transf_program_correct; eassumption.
eapply compose_forward_simulations.
diff --git a/kvx/lib/RTLpathSchedulerproof.v b/kvx/lib/RTLpathSchedulerproof.v
index a1a67b2f..4d7dfa2f 100644
--- a/kvx/lib/RTLpathSchedulerproof.v
+++ b/kvx/lib/RTLpathSchedulerproof.v
@@ -22,11 +22,7 @@ Hypothesis TRANSL: match_prog prog tprog.
Let pge := Genv.globalenv prog.
Let tpge := Genv.globalenv tprog.
-(* Was a Hypothesis *)
-Theorem all_fundef_liveness_ok: forall b fd,
- Genv.find_funct_ptr pge b = Some fd -> liveness_ok_fundef fd.
-Proof.
-Admitted.
+Hypothesis all_fundef_liveness_ok: forall b fd, Genv.find_funct_ptr pge b = Some fd -> liveness_ok_fundef fd.
Lemma symbols_preserved s: Genv.find_symbol tpge s = Genv.find_symbol pge s.
Proof.
@@ -97,7 +93,7 @@ Proof.
- constructor; eauto.
+ constructor.
+ apply transf_fundef_correct; auto.
- + eapply all_fundef_liveness_ok; eauto.
+(* + eapply all_fundef_liveness_ok; eauto. *)
Qed.
Theorem transf_final_states s1 s2 r:
@@ -153,11 +149,11 @@ Proof.
intros; exploit functions_preserved; eauto.
intros (fd' & cunit & X). eexists. intuition eauto.
eapply find_funct_liveness_ok; eauto.
- intros. eapply all_fundef_liveness_ok; eauto.
+(* intros. eapply all_fundef_liveness_ok; eauto. *)
+ rewrite symbols_preserved. destruct (Genv.find_symbol _ _); try congruence.
intros; exploit function_ptr_preserved; eauto.
intros (fd' & X). eexists. intuition eauto.
- intros. eapply all_fundef_liveness_ok; eauto.
+(* intros. eapply all_fundef_liveness_ok; eauto. *)
Qed.
Lemma sistate_simu f dupmap sp st st' rs m is:
@@ -271,7 +267,7 @@ Proof.
destruct 1 as [path stack f sp rs m pc t s PATH STEP | | | ]; intros MS; inv MS.
(* exec_path *)
- try_simplify_someHyps. intros.
- exploit path_step_eqlive; eauto. { intros. eapply all_fundef_liveness_ok; eauto. }
+ exploit path_step_eqlive; eauto. (* { intros. eapply all_fundef_liveness_ok; eauto. } *)
clear STEP EQUIV rs; intros (s2 & STEP & EQLIVE).
exploit exec_path_simulation; eauto.
clear STEP; intros (path' & s' & PATH' & STEP' & MATCH').