aboutsummaryrefslogtreecommitdiffstats
path: root/backend/Lineartyping.v
diff options
context:
space:
mode:
Diffstat (limited to 'backend/Lineartyping.v')
-rw-r--r--backend/Lineartyping.v6
1 files changed, 3 insertions, 3 deletions
diff --git a/backend/Lineartyping.v b/backend/Lineartyping.v
index fc163719..bc9fb3ca 100644
--- a/backend/Lineartyping.v
+++ b/backend/Lineartyping.v
@@ -321,11 +321,11 @@ Local Opaque mreg_type.
+ (* other ops *)
destruct (type_of_operation op) as [ty_args ty_res] eqn:TYOP. InvBooleans.
econstructor; eauto.
- apply wt_setreg; auto. eapply Val.has_subtype; eauto.
+ apply wt_setreg; auto; try (apply wt_undef_regs; auto).
+ eapply Val.has_subtype; eauto.
change ty_res with (snd (ty_args, ty_res)). rewrite <- TYOP. eapply type_of_operation_sound; eauto.
red; intros; subst op. simpl in ISMOVE.
- destruct args; try discriminate. destruct args; discriminate.
- apply wt_undef_regs; auto.
+ destruct args; try discriminate. destruct args; discriminate.
- (* load *)
simpl in *; InvBooleans.
econstructor; eauto.