diff options
author | xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e> | 2012-05-26 07:32:01 +0000 |
---|---|---|
committer | xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e> | 2012-05-26 07:32:01 +0000 |
commit | 132e36fa0be63eb5672eda9168403d3fb74af2fa (patch) | |
tree | 33955e0ccb4210271c82326b941523e6e4b2c289 /arm/SelectOp.vp | |
parent | 9ea00d39bb32c1f188f1af2745c3368da6a349c1 (diff) | |
download | compcert-132e36fa0be63eb5672eda9168403d3fb74af2fa.tar.gz compcert-132e36fa0be63eb5672eda9168403d3fb74af2fa.zip |
CSE: add recognition of some combined operators, conditions, and addressing modes (cf. CombineOp.v)
Memory model: cleaning up Memdata
Inlining and new Constprop: updated for ARM.
git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1902 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
Diffstat (limited to 'arm/SelectOp.vp')
-rw-r--r-- | arm/SelectOp.vp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arm/SelectOp.vp b/arm/SelectOp.vp index 27b5f536..6049017c 100644 --- a/arm/SelectOp.vp +++ b/arm/SelectOp.vp @@ -111,10 +111,10 @@ Nondetfunction addimm (n: int) (e: expr) := Nondetfunction add (e1: expr) (e2: expr) := match e1, e2 with | Eop (Ointconst n1) Enil, t2 => addimm n1 t2 + | t1, Eop (Ointconst n2) Enil => addimm n2 t1 | Eop (Oaddimm n1) (t1:::Enil), Eop (Oaddimm n2) (t2:::Enil) => addimm (Int.add n1 n2) (Eop Oadd (t1:::t2:::Enil)) | Eop(Oaddimm n1) (t1:::Enil), t2 => addimm n1 (Eop Oadd (t1:::t2:::Enil)) - | t1, Eop (Ointconst n2) Enil => addimm n2 t1 | t1, Eop (Oaddimm n2) (t2:::Enil) => addimm n2 (Eop Oadd (t1:::t2:::Enil)) | Eop (Oshift s) (t1:::Enil), t2 => Eop (Oaddshift s) (t2:::t1:::Enil) | t1, Eop (Oshift s) (t2:::Enil) => Eop (Oaddshift s) (t1:::t2:::Enil) |