diff options
author | David Monniaux <david.monniaux@univ-grenoble-alpes.fr> | 2019-09-07 12:27:43 +0200 |
---|---|---|
committer | David Monniaux <david.monniaux@univ-grenoble-alpes.fr> | 2019-09-07 12:27:43 +0200 |
commit | 35febfa5b231a71234a1b32c128169352e96eaca (patch) | |
tree | 5401681c76c8e45e9c1e6128d313851582e6fc9f /backend | |
parent | 046c24d29796a3bb130c94fe464e54e8a7aa2eb3 (diff) | |
download | compcert-kvx-35febfa5b231a71234a1b32c128169352e96eaca.tar.gz compcert-kvx-35febfa5b231a71234a1b32c128169352e96eaca.zip |
fixes for ARM
Diffstat (limited to 'backend')
-rw-r--r-- | backend/CSEproof.v | 12 | ||||
-rw-r--r-- | backend/Constpropproof.v | 12 | ||||
-rw-r--r-- | backend/Inliningproof.v | 4 | ||||
-rw-r--r-- | backend/Stackingproof.v | 5 |
4 files changed, 12 insertions, 21 deletions
diff --git a/backend/CSEproof.v b/backend/CSEproof.v index 684729d4..209fa40f 100644 --- a/backend/CSEproof.v +++ b/backend/CSEproof.v @@ -1151,9 +1151,7 @@ Proof. econstructor. split. eapply exec_Iload; eauto. - rewrite eval_addressing_preserved with (ge1 := ge). - exact Ha'1. - exact symbols_preserved. + try (rewrite eval_addressing_preserved with (ge1 := ge) by assumption). econstructor; eauto. eapply analysis_correct_1; eauto. simpl; eauto. @@ -1204,9 +1202,7 @@ Proof. { econstructor. split. eapply exec_Iload; eauto. - rewrite eval_addressing_preserved with (ge1 := ge). - exact Ha'1. - exact symbols_preserved. + try (rewrite eval_addressing_preserved with (ge1 := ge) by assumption). econstructor; eauto. eapply analysis_correct_1; eauto. simpl; eauto. @@ -1220,9 +1216,7 @@ Proof. { econstructor. split. eapply exec_Iload_notrap2; eauto. - rewrite eval_addressing_preserved with (ge1 := ge). - exact Ha'1. - exact symbols_preserved. + try (rewrite eval_addressing_preserved with (ge1 := ge) by assumption). econstructor; eauto. eapply analysis_correct_1; eauto. simpl; eauto. diff --git a/backend/Constpropproof.v b/backend/Constpropproof.v index 2e43a93f..4d104141 100644 --- a/backend/Constpropproof.v +++ b/backend/Constpropproof.v @@ -444,8 +444,8 @@ Proof. destruct (Mem.loadv_extends chunk m m' a v2 v MEM H1 Hlessdef2) as [vX [Hvx1 Hvx2]]. left; econstructor; econstructor; split. eapply exec_Iload with (a := v2); eauto. - erewrite eval_addressing_preserved with (ge1:=ge); auto. - exact symbols_preserved. + try (erewrite eval_addressing_preserved with (ge1:=ge); auto; + exact symbols_preserved). eapply match_states_succ; eauto. apply set_reg_lessdef; auto. } @@ -476,18 +476,14 @@ Proof. left; econstructor; econstructor; split. eapply exec_Iload; eauto. - rewrite eval_addressing_preserved with (ge1 := ge). - exact Heval'. - exact symbols_preserved. + try (rewrite eval_addressing_preserved with (ge1 := ge); eassumption). eapply match_states_succ; eauto. apply set_reg_lessdef; auto. } { left; econstructor; econstructor; split. eapply exec_Iload_notrap2; eauto. - rewrite eval_addressing_preserved with (ge1 := ge). - exact Heval'. - exact symbols_preserved. + try (rewrite eval_addressing_preserved with (ge1 := ge); eassumption). eapply match_states_succ; eauto. apply set_reg_lessdef; auto. } diff --git a/backend/Inliningproof.v b/backend/Inliningproof.v index 588d7165..ebc48160 100644 --- a/backend/Inliningproof.v +++ b/backend/Inliningproof.v @@ -1017,7 +1017,7 @@ Proof. + left; econstructor; split. eapply plus_one. eapply exec_Iload; eauto. - rewrite <- P. apply eval_addressing_preserved. exact symbols_preserved. + try (rewrite <- P; apply eval_addressing_preserved; exact symbols_preserved). econstructor; eauto. apply match_stacks_inside_set_reg; auto. apply agree_set_reg; auto. @@ -1025,7 +1025,7 @@ Proof. + left; econstructor; split. eapply plus_one. eapply exec_Iload_notrap2; eauto. - rewrite <- P. apply eval_addressing_preserved. exact symbols_preserved. + try (rewrite <- P; apply eval_addressing_preserved; assumption). econstructor; eauto. apply match_stacks_inside_set_reg; auto. apply agree_set_reg; auto. diff --git a/backend/Stackingproof.v b/backend/Stackingproof.v index 1d4a93e7..19a40e0f 100644 --- a/backend/Stackingproof.v +++ b/backend/Stackingproof.v @@ -1943,7 +1943,7 @@ Proof. { econstructor; split. apply plus_one. apply exec_Mload with (a:=a') (v:=v'); eauto. - rewrite <- A. apply eval_addressing_preserved. exact symbols_preserved. + try (rewrite <- A; apply eval_addressing_preserved; assumption). econstructor; eauto with coqlib. apply agree_regs_set_reg. rewrite transl_destroyed_by_load. apply agree_regs_undef_regs; auto. auto. apply agree_locs_set_reg. apply agree_locs_undef_locs. auto. apply destroyed_by_load_caller_save. auto. @@ -1951,7 +1951,8 @@ Proof. { econstructor; split. apply plus_one. apply exec_Mload_notrap2 with (a:=a'); eauto. - rewrite <- A. apply eval_addressing_preserved. exact symbols_preserved. + try (rewrite <- A; apply eval_addressing_preserved; assumption). + econstructor; eauto with coqlib. apply agree_regs_set_reg. rewrite transl_destroyed_by_load. apply agree_regs_undef_regs; auto. auto. apply agree_locs_set_reg. apply agree_locs_undef_locs. auto. apply destroyed_by_load_caller_save. auto. |