aboutsummaryrefslogtreecommitdiffstats
path: root/backend/Allocproof.v
diff options
context:
space:
mode:
Diffstat (limited to 'backend/Allocproof.v')
-rw-r--r--backend/Allocproof.v17
1 files changed, 4 insertions, 13 deletions
diff --git a/backend/Allocproof.v b/backend/Allocproof.v
index ae86ee8b..a9477e02 100644
--- a/backend/Allocproof.v
+++ b/backend/Allocproof.v
@@ -705,22 +705,13 @@ Proof.
eapply agree_assign_live; eauto.
eapply agree_reg_list_live; eauto.
- (* Icond, true *)
- assert (COND: eval_condition cond (map ls (map assign args)) m = Some true).
+ (* Icond *)
+ assert (COND: eval_condition cond (map ls (map assign args)) m = Some b).
replace (map ls (map assign args)) with (rs##args). auto.
eapply agree_eval_regs; eauto.
econstructor; split.
- eapply exec_Lcond_true; eauto. TranslInstr.
- MatchStates.
- eapply agree_undef_temps; eauto.
- eapply agree_reg_list_live. eauto.
- (* Icond, false *)
- assert (COND: eval_condition cond (map ls (map assign args)) m = Some false).
- replace (map ls (map assign args)) with (rs##args). auto.
- eapply agree_eval_regs; eauto.
- econstructor; split.
- eapply exec_Lcond_false; eauto. TranslInstr.
- MatchStates.
+ eapply exec_Lcond; eauto. TranslInstr.
+ MatchStates. destruct b; simpl; auto.
eapply agree_undef_temps; eauto.
eapply agree_reg_list_live. eauto.