aboutsummaryrefslogtreecommitdiffstats
path: root/aarch64/Asmgenproof.v
diff options
context:
space:
mode:
authorLéo Gourdin <leo.gourdin@univ-grenoble-alpes.fr>2020-12-02 18:02:23 +0100
committerLéo Gourdin <leo.gourdin@univ-grenoble-alpes.fr>2020-12-02 18:02:23 +0100
commitc48b7c63592e5930f022452ee6c3f1cf3d1ada97 (patch)
tree8b77e87f9dbc17e67da3c36b7402fae21f033e33 /aarch64/Asmgenproof.v
parentdd299de4b51c561b3a2d8e9f388396381b0e2b85 (diff)
downloadcompcert-kvx-c48b7c63592e5930f022452ee6c3f1cf3d1ada97.tar.gz
compcert-kvx-c48b7c63592e5930f022452ee6c3f1cf3d1ada97.zip
Adding semantics for Pldp
This commit prepare the backend for a peephole optimization in Asmblock.
Diffstat (limited to 'aarch64/Asmgenproof.v')
-rw-r--r--aarch64/Asmgenproof.v31
1 files changed, 21 insertions, 10 deletions
diff --git a/aarch64/Asmgenproof.v b/aarch64/Asmgenproof.v
index f0b09ef6..9d80f58f 100644
--- a/aarch64/Asmgenproof.v
+++ b/aarch64/Asmgenproof.v
@@ -807,15 +807,17 @@ Proof.
- destruct fsz; rewrite <- BASIC; rewrite Pregmap.gso; try (discriminate || reflexivity).
Qed.
+(* TODO *)
Lemma exec_basic_dont_move_PC bi rs m rs' m': forall
(BASIC: exec_basic lk ge bi rs m = Next rs' m'),
rs PC = rs' PC.
Proof.
destruct bi; simpl; intros.
- inv BASIC. exploit exec_arith_instr_dont_move_PC; eauto.
- - unfold exec_load in BASIC.
- destruct Mem.loadv. 2: { discriminate BASIC. }
- inv BASIC. rewrite Pregmap.gso; try discriminate; auto.
+ - admit.
+ (*unfold exec_load in BASIC.*)
+ (*destruct Mem.loadv. 2: { discriminate BASIC. }*)
+ (*inv BASIC. rewrite Pregmap.gso; try discriminate; auto.*)
- unfold exec_store in BASIC.
destruct Mem.storev. 2: { discriminate BASIC. }
inv BASIC; reflexivity.
@@ -828,7 +830,8 @@ Proof.
- inv BASIC; rewrite Pregmap.gso; try discriminate; auto.
- inv BASIC; rewrite Pregmap.gso; try discriminate; auto.
- inv BASIC; rewrite Pregmap.gso; try discriminate; auto.
-Qed.
+(*Qed.*)
+Admitted.
Lemma exec_body_dont_move_PC_aux:
forall bis rs m rs' m'
@@ -975,7 +978,8 @@ Lemma eval_addressing_preserved a rs1 rs2:
eval_addressing lk a rs1 = Asm.eval_addressing tge a rs2.
Proof.
intros EQ.
- destruct a; simpl; try (rewrite !EQ; congruence). auto.
+ destruct a; simpl; try (rewrite !EQ; congruence).
+ (*auto. TODO *)
Qed.
Ltac next_stuck_cong := try (unfold Next, Stuck in *; congruence).
@@ -1059,6 +1063,7 @@ Proof.
rewrite <- Ptrofs.add_unsigned; rewrite <- Val.offset_ptr_assoc; rewrite AGPC; eauto.
Qed.
+(* TODO
Lemma load_preserved n rs1 m1 rs1' m1' rs2 m2 rd chk f a: forall
(BOUNDED: 0 <= n <= Ptrofs.max_unsigned)
(MATCHI: match_internal n (State rs1 m1) (State rs2 m2))
@@ -1077,6 +1082,7 @@ Proof.
* eapply ptrofs_nextinstr_agree; eauto.
+ next_stuck_cong.
Qed.
+ *)
Lemma store_preserved n rs1 m1 rs1' m1' rs2 m2 rd chk a: forall
(BOUNDED: 0 <= n <= Ptrofs.max_unsigned)
@@ -1264,9 +1270,10 @@ Proof.
try (destruct_reg_size);
try (exploit next_inst_preserved; eauto);
try (find_rwrt_ag). } }
- { (* PLoad *)
- destruct ld; monadInv TRANSBI; try destruct_ireg_inv; exploit load_preserved; eauto;
- intros; simpl in *; destruct sz; eauto. }
+ { (* PLoad TODO *)
+ admit.
+ (*destruct ld; monadInv TRANSBI; try destruct_ireg_inv; exploit load_preserved; eauto;*)
+ (*intros; simpl in *; destruct sz; eauto. }*)}
{ (* PStore *)
destruct st; monadInv TRANSBI; try destruct_ireg_inv; exploit store_preserved; eauto;
simpl in *; inv_matchi; find_rwrt_ag. }
@@ -1300,7 +1307,8 @@ Proof.
try (exploit next_inst_preserved; eauto);
rewrite symbol_addresses_preserved; eauto;
try (find_rwrt_ag).
-Qed.
+(*Qed.*)
+Admitted.
Lemma find_basic_instructions b ofs f bb tc: forall
(FINDF: Genv.find_funct_ptr ge b = Some (Internal f))
@@ -1576,6 +1584,7 @@ Proof.
+ destruct H.
Qed.
+(* TODO *)
Lemma no_label_in_basic_inst: forall a lbl x,
basic_to_instruction a = OK x -> Asm.is_label lbl x = false.
Proof.
@@ -1583,7 +1592,9 @@ Proof.
destruct a; simpl in *;
repeat destruct i; simpl in *;
try (try destruct_reg_inv; monadInv H; simpl in *; reflexivity).
-Qed.
+ admit.
+(*Qed.*)
+Admitted.
Lemma label_pos_body bdy: forall c1 c2 z ex lbl
(HUNF : unfold_body bdy = OK c2),