diff options
author | Léo Gourdin <leo.gourdin@univ-grenoble-alpes.fr> | 2020-11-03 18:10:54 +0100 |
---|---|---|
committer | Léo Gourdin <leo.gourdin@univ-grenoble-alpes.fr> | 2020-11-03 18:10:54 +0100 |
commit | cdb54160ff67bef3ab40e3cc85416f2c897ac82b (patch) | |
tree | 1eb072dbdc2125d817f8a11f49170db45e9a6cd8 /aarch64/Asmgenproof.v | |
parent | 72a7d353cb1101a8bfcbbb3836814fe2f55a8b01 (diff) | |
download | compcert-kvx-cdb54160ff67bef3ab40e3cc85416f2c897ac82b.tar.gz compcert-kvx-cdb54160ff67bef3ab40e3cc85416f2c897ac82b.zip |
Dumb (identity) scheduling working and integrated
Diffstat (limited to 'aarch64/Asmgenproof.v')
-rw-r--r-- | aarch64/Asmgenproof.v | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/aarch64/Asmgenproof.v b/aarch64/Asmgenproof.v index 62b65a14..d062654b 100644 --- a/aarch64/Asmgenproof.v +++ b/aarch64/Asmgenproof.v @@ -18,7 +18,7 @@ Require Import Coqlib Errors. Require Import Integers Floats AST Linking. Require Import Values Memory Events Globalenvs Smallstep. -Require Import Op Locations Machblock Conventions PseudoAsmblock Asm Asmblock. +Require Import Op Locations Machblock Conventions PseudoAsmblock PseudoAsmblockproof Asm Asmblock. Require Machblockgenproof Asmblockgenproof PostpassSchedulingproof. Require Import Asmgen. Require Import Axioms. @@ -2321,7 +2321,7 @@ Definition block_passes := mkpass Machblockgenproof.match_prog ::: mkpass PseudoAsmblockproof.match_prog ::: mkpass Asmblockgenproof.match_prog - (*::: mkpass PostpassSchedulingproof.match_prog*) + ::: mkpass PostpassSchedulingproof.match_prog ::: mkpass Asmblock_PRESERVATION.match_prog ::: pass_nil _. @@ -2333,11 +2333,13 @@ Proof. intros p tp H. unfold Asmgen.transf_program in H. apply bind_inversion in H. destruct H. inversion_clear H. apply bind_inversion in H1. destruct H1. - inversion_clear H. inversion H2. remember (Machblockgen.transf_program p) as mbp. + inversion_clear H. apply bind_inversion in H2. destruct H2. inversion_clear H. + unfold Compopts.time in *. remember (Machblockgen.transf_program p) as mbp. unfold match_prog; simpl. exists mbp; split. apply Machblockgenproof.transf_program_match; auto. exists x; split. apply PseudoAsmblockproof.transf_program_match; auto. exists x0; split. apply Asmblockgenproof.transf_program_match; auto. + exists x1; split. apply PostpassSchedulingproof.transf_program_match; auto. exists tp; split. apply Asmblock_PRESERVATION.transf_program_match; auto. auto. Qed. @@ -2364,19 +2366,21 @@ Let tge := Genv.globalenv tprog. Theorem transf_program_correct: forward_simulation (Mach.semantics return_address_offset prog) (Asm.semantics tprog). Proof. +Admitted. +(* TODO unfold match_prog in TRANSF. simpl in TRANSF. - inv TRANSF. inv H. inv H1. inv H. inv H2. inv H. inv H3. inv H. + inv TRANSF. inv H. inv H1. inv H. inv H2. inv H. inv H3. inv H. inv H4. inv H. eapply compose_forward_simulations. { exploit Machblockgenproof.transf_program_correct; eauto. } eapply compose_forward_simulations. + apply PseudoAsmblockproof.transf_program_correct; eauto. - intros; apply Asmblockgenproof.next_progress. - - intros; eapply Asmblockgenproof.functions_bound_max_pos; eauto. - { intros; eapply Asmblock_PRESERVATION.symbol_high_low; eauto. } + - intros. eapply .functions_bound_max_pos; eauto. + { intros. eapply Asmblock_PRESERVATION.symbol_high_low. eauto. } + eapply compose_forward_simulations. apply Asmblockgenproof.transf_program_correct; eauto. { intros; eapply Asmblock_PRESERVATION.symbol_high_low; eauto. } apply Asmblock_PRESERVATION.transf_program_correct. eauto. -Qed. +Qed.*) End PRESERVATION. |