diff options
author | David Monniaux <david.monniaux@univ-grenoble-alpes.fr> | 2019-09-03 18:27:40 +0200 |
---|---|---|
committer | David Monniaux <david.monniaux@univ-grenoble-alpes.fr> | 2019-09-03 18:27:40 +0200 |
commit | 5177f34535a70e4335dbab3a66c916c976405df7 (patch) | |
tree | d1f336f496028868ee5d404e7c56d8e893341a50 /mppa_k1c/ValueAOp.v | |
parent | baff6e25c52d128d2e15b2916d3c60468266aba7 (diff) | |
download | compcert-kvx-5177f34535a70e4335dbab3a66c916c976405df7.tar.gz compcert-kvx-5177f34535a70e4335dbab3a66c916c976405df7.zip |
Value analysis for non trapping loads
Diffstat (limited to 'mppa_k1c/ValueAOp.v')
-rw-r--r-- | mppa_k1c/ValueAOp.v | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/mppa_k1c/ValueAOp.v b/mppa_k1c/ValueAOp.v index 2c9bdf3e..5e9eb455 100644 --- a/mppa_k1c/ValueAOp.v +++ b/mppa_k1c/ValueAOp.v @@ -472,6 +472,26 @@ Proof. rewrite Ptrofs.add_zero_l; eauto with va. Qed. +(* not needed +Theorem eval_static_addressing_sound_none: + forall addr vargs aargs, + eval_addressing ge (Vptr sp Ptrofs.zero) addr vargs = None -> + list_forall2 (vmatch bc) vargs aargs -> + (eval_static_addressing addr aargs) = Vbot. +Proof. + unfold eval_addressing, eval_static_addressing. + intros until aargs. intros Heval_none Hlist. + inv Hlist. + destruct addr; trivial; discriminate. + inv H0. + destruct addr; trivial; discriminate. + inv H2. + destruct addr; trivial; discriminate. + inv H3; + destruct addr; trivial; discriminate. +Qed. + *) + Theorem eval_static_operation_sound: forall op vargs m vres aargs, eval_operation ge (Vptr sp Ptrofs.zero) op vargs m = Some vres -> |