From 5530915001c3e8b395d731480e5a6618a08af7af Mon Sep 17 00:00:00 2001 From: Léo Gourdin Date: Tue, 2 Nov 2021 10:57:22 +0100 Subject: being more archi-independant --- backend/Tailcallproof.v | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'backend/Tailcallproof.v') diff --git a/backend/Tailcallproof.v b/backend/Tailcallproof.v index c8107ad6..4eb0ba23 100644 --- a/backend/Tailcallproof.v +++ b/backend/Tailcallproof.v @@ -433,16 +433,16 @@ Proof. exploit Mem.loadv_extends; eauto. intros [v' [LOAD' VLD]]. left. exists (State s' (transf_function f) (Vptr sp0 Ptrofs.zero) pc' (rs'#dst <- v') m'); split. - * eapply exec_Iload; eauto. eapply has_loaded_normal; eauto. - rewrite <- EVAL'. apply eval_addressing_preserved. exact symbols_preserved. + * try (eapply exec_Iload; eauto; eapply has_loaded_normal; eauto; + rewrite <- EVAL'; apply eval_addressing_preserved; exact symbols_preserved). * econstructor; eauto. apply set_reg_lessdef; auto. + destruct (eval_addressing) eqn:EVAL in LOAD. * left. exploit eval_addressing_lessdef; eauto. intros [a' [EVAL' ALD]]. specialize (LOAD v). destruct (Mem.loadv chunk m' a') eqn:Echunk2. -- exists (State s' (transf_function f) (Vptr sp0 Ptrofs.zero) pc' (rs'#dst <- v0) m'); split. - ++ eapply exec_Iload; eauto. eapply has_loaded_normal; eauto. - erewrite eval_addressing_preserved; eauto. exact symbols_preserved. + ++ try (eapply exec_Iload; eauto; eapply has_loaded_normal; eauto; + erewrite eval_addressing_preserved; eauto; exact symbols_preserved). ++ econstructor; eauto. apply set_reg_lessdef; auto. -- exists (State s' (transf_function f) (Vptr sp0 Ptrofs.zero) pc' (rs'#dst <- Vundef) m'); split. ++ eapply exec_Iload; eauto. eapply has_loaded_default; intuition. -- cgit