aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--backend/Cminortyping.v35
-rw-r--r--backend/Selectionaux.ml4
-rw-r--r--backend/Selectionproof.v4
3 files changed, 0 insertions, 43 deletions
diff --git a/backend/Cminortyping.v b/backend/Cminortyping.v
index c0b7af78..fccbda27 100644
--- a/backend/Cminortyping.v
+++ b/backend/Cminortyping.v
@@ -139,11 +139,7 @@ Fixpoint type_stmt (tret: option typ) (e: S.typenv) (s: stmt) : res S.typenv :=
| Scall optid sg fn args =>
do e1 <- type_expr e fn Tptr;
do e2 <- type_exprlist e1 args sg.(sig_args);
-<<<<<<< HEAD
- opt_set e2 optid sg.(sig_res)
-=======
opt_set e2 optid (proj_sig_res sg)
->>>>>>> ddb2c968e6c57d2117434f169471d87f643d831a
| Stailcall sg fn args =>
assertion (opt_typ_eq sg.(sig_res) tret);
do e1 <- type_expr e fn Tptr;
@@ -151,11 +147,7 @@ Fixpoint type_stmt (tret: option typ) (e: S.typenv) (s: stmt) : res S.typenv :=
| Sbuiltin optid ef args =>
let sg := ef_sig ef in
do e1 <- type_exprlist e args sg.(sig_args);
-<<<<<<< HEAD
- opt_set e1 optid sg.(sig_res)
-=======
opt_set e1 optid (proj_sig_res sg)
->>>>>>> ddb2c968e6c57d2117434f169471d87f643d831a
| Sseq s1 s2 =>
do e1 <- type_stmt tret e s1; type_stmt tret e1 s2
| Sifthenelse a s1 s2 =>
@@ -171,15 +163,9 @@ Fixpoint type_stmt (tret: option typ) (e: S.typenv) (s: stmt) : res S.typenv :=
| Sswitch sz a tbl dfl =>
type_expr e a (if sz then Tlong else Tint)
| Sreturn opta =>
-<<<<<<< HEAD
- match tret, opta with
- | None, None => OK e
- | Some t, Some a => type_expr e a t
-=======
match opta, tret with
| None, _ => OK e
| Some a, Some t => type_expr e a t
->>>>>>> ddb2c968e6c57d2117434f169471d87f643d831a
| _, _ => Error (msg "inconsistent return")
end
| Slabel lbl s1 =>
@@ -220,14 +206,10 @@ Inductive wt_expr: expr -> typ -> Prop :=
wt_expr (Eload chunk a1) (type_of_chunk chunk).
Definition wt_opt_assign (optid: option ident) (optty: option typ) : Prop :=
-<<<<<<< HEAD
- match optid with Some id => optty = Some (env id) | _ => True end.
-=======
match optid with
| Some id => match optty with Some ty => ty | None => Tint end = env id
| _ => True
end.
->>>>>>> ddb2c968e6c57d2117434f169471d87f643d831a
Inductive wt_stmt: stmt -> Prop :=
| wt_Sskip:
@@ -268,10 +250,6 @@ Inductive wt_stmt: stmt -> Prop :=
wt_expr a (if sz then Tlong else Tint) ->
wt_stmt (Sswitch sz a tbl dfl)
| wt_Sreturn_none:
-<<<<<<< HEAD
- tret = None ->
-=======
->>>>>>> ddb2c968e6c57d2117434f169471d87f643d831a
wt_stmt (Sreturn None)
| wt_Sreturn_some: forall a t,
tret = Some t -> wt_expr a t ->
@@ -382,14 +360,6 @@ Proof.
Qed.
Hint Resolve opt_set_incr: ty.
-<<<<<<< HEAD
-Lemma opt_set_sound: forall te optid optty e e',
- opt_set e optid optty = OK e' -> S.satisf te e' -> wt_opt_assign te optid optty.
-Proof.
- unfold opt_set; intros; red. destruct optid; [destruct optty |]; try (monadInv H).
-- erewrite S.set_sound by eauto. auto.
-- auto.
-=======
Lemma opt_set_sound: forall te optid sg e e',
opt_set e optid (proj_sig_res sg) = OK e' -> S.satisf te e' ->
wt_opt_assign te optid sg.(sig_res).
@@ -397,7 +367,6 @@ Proof.
unfold opt_set; intros; red. destruct optid.
- erewrite S.set_sound by eauto. auto.
- inv H. auto.
->>>>>>> ddb2c968e6c57d2117434f169471d87f643d831a
Qed.
Lemma type_stmt_incr: forall te tret s e e',
@@ -693,11 +662,7 @@ Proof.
- inv WT_CONT. econstructor; eauto using wt_Sskip. inv H.
- inv WT_CONT. econstructor; eauto using wt_Sexit. inv H.
- econstructor; eauto using wt_Sexit.
-<<<<<<< HEAD
-- inv WT_STMT. econstructor; eauto using call_cont_wt. rewrite H0; exact I.
-=======
- inv WT_STMT. econstructor; eauto using call_cont_wt. exact I.
->>>>>>> ddb2c968e6c57d2117434f169471d87f643d831a
- inv WT_STMT. econstructor; eauto using call_cont_wt.
rewrite H2. eapply wt_eval_expr; eauto.
- inv WT_STMT. econstructor; eauto.
diff --git a/backend/Selectionaux.ml b/backend/Selectionaux.ml
index 818660c1..4e366564 100644
--- a/backend/Selectionaux.ml
+++ b/backend/Selectionaux.ml
@@ -114,9 +114,5 @@ let if_conversion_heuristic cond ifso ifnot ty =
if !Clflags.option_ffavor_branchless then true else
if not (fast_cmove ty) then false else
let c1 = cost_expr ifso and c2 = cost_expr ifnot in
-<<<<<<< HEAD
- c1 + c2 <= 30 && abs (c1 - c2) <= 8
-=======
c1 + c2 <= 24 && abs (c1 - c2) <= 8
->>>>>>> ddb2c968e6c57d2117434f169471d87f643d831a
diff --git a/backend/Selectionproof.v b/backend/Selectionproof.v
index 01635ff1..40db5d4b 100644
--- a/backend/Selectionproof.v
+++ b/backend/Selectionproof.v
@@ -1102,11 +1102,7 @@ Proof.
destruct (find_label lbl x (Kseq x0 k')) as [[sy ky] | ];
intuition. apply IHs2; auto.
(* ifthenelse *)
-<<<<<<< HEAD
- destruct (if_conversion ki env e s1 s2) as [s|] eqn:IFC.
-=======
- destruct (if_conversion ki env e s1 s2) as [s|] eqn:IFC.
->>>>>>> ddb2c968e6c57d2117434f169471d87f643d831a
inv SE. exploit if_conversion_nolabel; eauto. intros (A & B & C).
rewrite A, B, C. auto.
monadInv SE; simpl.