diff options
author | xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e> | 2009-03-26 09:50:18 +0000 |
---|---|---|
committer | xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e> | 2009-03-26 09:50:18 +0000 |
commit | 00b605a1d52696b055dd232a05dd54a312680b93 (patch) | |
tree | 7ebbd57e1d7c60e8b52e07526617c1aa30f3740f /common/AST.v | |
parent | c90abe06d110eb9c39b941792d896c741dc851dd (diff) |
Added tail call optimization pass
git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1015 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
Diffstat (limited to 'common/AST.v')
-rw-r--r-- | common/AST.v | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/common/AST.v b/common/AST.v index eab1adf..ec8053d 100644 --- a/common/AST.v +++ b/common/AST.v @@ -46,6 +46,12 @@ Definition typesize (ty: typ) : Z := Lemma typesize_pos: forall ty, typesize ty > 0. Proof. destruct ty; simpl; omega. Qed. +Lemma typ_eq: forall (t1 t2: typ), {t1=t2} + {t1<>t2}. +Proof. decide equality. Qed. + +Lemma opt_typ_eq: forall (t1 t2: option typ), {t1=t2} + {t1<>t2}. +Proof. decide equality. apply typ_eq. Qed. + (** Additionally, function definitions and function calls are annotated by function signatures indicating the number and types of arguments, as well as the type of the returned value if any. These signatures |