aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSylvain Boulmé <sylvain.boulme@univ-grenoble-alpes.fr>2019-03-05 11:26:51 +0100
committerSylvain Boulmé <sylvain.boulme@univ-grenoble-alpes.fr>2019-03-05 11:26:51 +0100
commit0d709513e08aa36faae2fe3d006e7e4c23aa4aff (patch)
treee7a7ee95fc06d7fbb5492741f552bde74732928f
parent6c51fda9e503953a4f8ca3e2448b8040158ddc94 (diff)
downloadcompcert-kvx-0d709513e08aa36faae2fe3d006e7e4c23aa4aff.tar.gz
compcert-kvx-0d709513e08aa36faae2fe3d006e7e4c23aa4aff.zip
m
-rw-r--r--mppa_k1c/Machblockgen.v13
1 files changed, 9 insertions, 4 deletions
diff --git a/mppa_k1c/Machblockgen.v b/mppa_k1c/Machblockgen.v
index 7206fb51..0a8b2ccd 100644
--- a/mppa_k1c/Machblockgen.v
+++ b/mppa_k1c/Machblockgen.v
@@ -126,7 +126,8 @@ Inductive is_trans_code: Mach.code -> code -> Prop :=
is_trans_code c (bh::bl) ->
trans_inst i = MB_basic bi ->
header bh = nil ->
- is_trans_code (i::c) (add_basic bi bh::bl)
+ is_trans_code (i::c) (add_basic bi bh::bl).
+(* Use Tr_end_block instead of:
| Tr_empty_bblock c bh bl:
is_trans_code c bl ->
bh = empty_bblock ->
@@ -135,6 +136,7 @@ Inductive is_trans_code: Mach.code -> code -> Prop :=
is_trans_code c bl ->
trans_inst i = MB_cfi bi ->
is_trans_code (i::c) (cfi_bblock bi :: bl).
+*)
Local Hint Resolve Tr_nil Tr_end_block.
@@ -149,9 +151,12 @@ Proof.
+ intros; eapply Tr_add_label; eauto. destruct i; simpl in * |- *; congruence.
+ intros. remember (header bh0) as hbh0. destruct hbh0 as [|b].
* eapply Tr_add_basic; eauto.
- * eapply Tr_add_basic; eauto. eapply Tr_empty_bblock. eauto. reflexivity.
- + intros. eapply Tr_cfi. eauto. symmetry in Heqti. eauto.
-Qed. (* A FINIR *)
+ * cutrewrite (add_basic bi empty_bblock = add_to_new_bblock (MB_basic bi)); auto.
+ rewrite Heqti; eapply Tr_end_block; eauto.
+ rewrite <- Heqti.
+ eapply End_basic.
+ (* + intros. eapply Tr_cfi. eauto. symmetry in Heqti. eauto. *)
+Admitted. (* A FINIR *)
Local Hint Resolve add_to_code_is_trans_code.