diff options
author | David Monniaux <david.monniaux@univ-grenoble-alpes.fr> | 2020-11-23 17:32:00 +0100 |
---|---|---|
committer | David Monniaux <david.monniaux@univ-grenoble-alpes.fr> | 2020-11-23 17:32:00 +0100 |
commit | 36c82ee8b0ac340a663a3790d70fd200d3f35ef9 (patch) | |
tree | e64899a361c8058cb1c5904df6926c514be7d5bc /kvx/CSE2depsproof.v | |
parent | 6d9f40cbe20494f6859722962da84a8021007372 (diff) | |
download | compcert-kvx-36c82ee8b0ac340a663a3790d70fd200d3f35ef9.tar.gz compcert-kvx-36c82ee8b0ac340a663a3790d70fd200d3f35ef9.zip |
correction bug #223 sur KVX
Diffstat (limited to 'kvx/CSE2depsproof.v')
-rw-r--r-- | kvx/CSE2depsproof.v | 29 |
1 files changed, 18 insertions, 11 deletions
diff --git a/kvx/CSE2depsproof.v b/kvx/CSE2depsproof.v index 6c584450..a5f7b317 100644 --- a/kvx/CSE2depsproof.v +++ b/kvx/CSE2depsproof.v @@ -123,17 +123,24 @@ Proof. intros until rs. intros ADDR ADDR' OVERLAP STORE. destruct addr; destruct addr'; try discriminate. - { (* Aindexed / Aindexed *) - destruct args as [ | base [ | ]]. 1,3: discriminate. - destruct args' as [ | base' [ | ]]. 1,3: discriminate. - cbn in OVERLAP. - destruct (peq base base'). 2: discriminate. - subst base'. - destruct (can_swap_accesses_ofs (Ptrofs.unsigned i0) chunk' (Ptrofs.unsigned i) chunk) eqn:SWAP. - 2: discriminate. - cbn in *. - eapply load_store_away with (F:=F) (V:=V) (genv:=genv) (sp:=sp); eassumption. - } + - (* Aindexed / Aindexed *) + destruct args as [ | base [ | ]]. 1,3: discriminate. + destruct args' as [ | base' [ | ]]. 1,3: discriminate. + cbn in OVERLAP. + destruct (peq base base'). 2: discriminate. + subst base'. + destruct (can_swap_accesses_ofs (Ptrofs.unsigned i0) chunk' (Ptrofs.unsigned i) chunk) eqn:SWAP. + 2: discriminate. + cbn in *. + eapply load_store_away with (F:=F) (V:=V) (genv:=genv) (sp:=sp); eassumption. + - (* Ainstack / Ainstack *) + destruct args. 2: discriminate. + destruct args'. 2: discriminate. + cbn in OVERLAP. + destruct (can_swap_accesses_ofs (Ptrofs.unsigned i0) chunk' (Ptrofs.unsigned i) chunk) eqn:SWAP. + 2: discriminate. + cbn in *. + eapply load_store_away with (F:=F) (V:=V) (genv:=genv) (sp:=sp); eassumption. Qed. End SOUNDNESS. |