diff options
-rw-r--r-- | arm/Selectionproof.v | 4 | ||||
-rw-r--r-- | backend/Cminor.v | 2 | ||||
-rw-r--r-- | backend/CminorSel.v | 2 | ||||
-rw-r--r-- | powerpc/Selectionproof.v | 4 |
4 files changed, 4 insertions, 8 deletions
diff --git a/arm/Selectionproof.v b/arm/Selectionproof.v index e487d15a..a307597a 100644 --- a/arm/Selectionproof.v +++ b/arm/Selectionproof.v @@ -1427,11 +1427,11 @@ Proof. constructor; auto. destruct b; auto. (* Sreturn None *) econstructor; split. - econstructor. rewrite <- H; reflexivity. + econstructor. constructor; auto. apply call_cont_commut. (* Sreturn Some *) econstructor; split. - econstructor. simpl. auto. eauto with evalexpr. + econstructor. simpl. eauto with evalexpr. constructor; auto. apply call_cont_commut. (* Sgoto *) econstructor; split. diff --git a/backend/Cminor.v b/backend/Cminor.v index b6186f2e..16f7c3df 100644 --- a/backend/Cminor.v +++ b/backend/Cminor.v @@ -478,11 +478,9 @@ Inductive step: state -> trace -> state -> Prop := E0 (State f (Sexit (switch_target n default cases)) k sp e m) | step_return_0: forall f k sp e m, - f.(fn_sig).(sig_res) = None -> step (State f (Sreturn None) k (Vptr sp Int.zero) e m) E0 (Returnstate Vundef (call_cont k) (Mem.free m sp)) | step_return_1: forall f a k sp e m v, - f.(fn_sig).(sig_res) <> None -> eval_expr (Vptr sp Int.zero) e m a v -> step (State f (Sreturn (Some a)) k (Vptr sp Int.zero) e m) E0 (Returnstate v (call_cont k) (Mem.free m sp)) diff --git a/backend/CminorSel.v b/backend/CminorSel.v index 60c1d57a..1d5c8c05 100644 --- a/backend/CminorSel.v +++ b/backend/CminorSel.v @@ -333,11 +333,9 @@ Inductive step: state -> trace -> state -> Prop := E0 (State f (Sexit (switch_target n default cases)) k sp e m) | step_return_0: forall f k sp e m, - f.(fn_sig).(sig_res) = None -> step (State f (Sreturn None) k (Vptr sp Int.zero) e m) E0 (Returnstate Vundef (call_cont k) (Mem.free m sp)) | step_return_1: forall f a k sp e m v, - f.(fn_sig).(sig_res) <> None -> eval_expr (Vptr sp Int.zero) e m nil a v -> step (State f (Sreturn (Some a)) k (Vptr sp Int.zero) e m) E0 (Returnstate v (call_cont k) (Mem.free m sp)) diff --git a/powerpc/Selectionproof.v b/powerpc/Selectionproof.v index 6d629794..5e0b2b27 100644 --- a/powerpc/Selectionproof.v +++ b/powerpc/Selectionproof.v @@ -1350,11 +1350,11 @@ Proof. constructor; auto. destruct b; auto. (* Sreturn None *) econstructor; split. - econstructor. rewrite <- H; reflexivity. + econstructor. constructor; auto. apply call_cont_commut. (* Sreturn Some *) econstructor; split. - econstructor. simpl. auto. eauto with evalexpr. + econstructor. simpl. eauto with evalexpr. constructor; auto. apply call_cont_commut. (* Sgoto *) econstructor; split. |