Skip to content

Commit 95789f6

Browse files
committed
Merge branch 'master' of github.com:IntersectMBO/plutus into zliu41/unsupported
2 parents 12c380c + ee241d6 commit 95789f6

File tree

3 files changed

+329
-38
lines changed

3 files changed

+329
-38
lines changed

plutus-metatheory/src/CertifierReport.lagda.md

Lines changed: 36 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,9 @@ module CertifierReport where
1010
open import VerifiedCompilation
1111
open import VerifiedCompilation.Certificate
1212
open import VerifiedCompilation.UntypedTranslation
13+
open import VerifiedCompilation.UInline
1314
open import Untyped
15+
open import Untyped.RenamingSubstitution using (Sub)
1416
open import Utils as U using (List; _×_)
1517
1618
open import Data.List as L using (List)
@@ -69,13 +71,45 @@ numSites′ = go 0
6971
goᵖʷ n Pointwise.[] = n
7072
goᵖʷ n (x Pointwise.∷ xs) = goᵖʷ (go n x) xs
7173
74+
numSitesInlineᵖʷ :
75+
{X : ℕ}
76+
{σ : Sub X X}
77+
{Ms Ns : L.List (X ⊢)}
78+
(p : Pointwise (Inline σ □) Ms Ns)
79+
→ ℕ
80+
81+
numSitesInline :
82+
{X : ℕ}
83+
{σ : Sub X X}
84+
{z z′ : X ↝}
85+
{zz : z ≽ z′}
86+
{M M′ : X ⊢}
87+
(p : Inline σ zz M M′)
88+
→ ℕ
89+
numSitesInline (` x) = 0
90+
numSitesInline (`↓ r) = numSitesInline r + 1
91+
numSitesInline (ƛ□ r) = numSitesInline r
92+
numSitesInline (ƛ r) = numSitesInline r
93+
numSitesInline (ƛ↓ r) = numSitesInline r
94+
numSitesInline (r · s) = numSitesInline r + numSitesInline s
95+
numSitesInline (r ·↓) = numSitesInline r
96+
numSitesInline (force r) = numSitesInline r
97+
numSitesInline (delay r) = numSitesInline r
98+
numSitesInline con = 0
99+
numSitesInline builtin = 0
100+
numSitesInline error = 0
101+
numSitesInline (constr rs) = numSitesInlineᵖʷ rs
102+
numSitesInline (case r rs) = numSitesInline r + numSitesInlineᵖʷ rs
103+
104+
numSitesInlineᵖʷ Pointwise.[] = 0
105+
numSitesInlineᵖʷ (x Pointwise.∷ xs) = numSitesInline x + numSitesInlineᵖʷ xs
106+
72107
numSites : {X : ℕ} {tag : SimplifierTag} {M N : X ⊢} → Transformation tag M N → Maybe ℕ
73108
numSites (isFD p) = just (numSites′ p)
74109
numSites (isFlD p) = just (numSites′ p)
75110
numSites (isCSE p) = just (numSites′ p)
76111
numSites (isCaseReduce p) = just (numSites′ p)
77-
-- FIXME: count number of optimization sites for inlining
78-
numSites (isInline _) = nothing
112+
numSites (isInline p) = just (numSitesInline p)
79113
numSites forceCaseDelayNotImplemented = nothing
80114
numSites cocNotImplemented = nothing
81115
numSites applyToCaseNotImplemented = nothing

plutus-metatheory/src/MAlonzo/Code/Certifier.hs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ d_runCertifierMain_16 v0
108108
MAlonzo.Code.Utils.C__'44'__410
109109
(coe MAlonzo.Code.Agda.Builtin.Bool.C_true_10)
110110
(coe
111-
MAlonzo.Code.CertifierReport.d_makeReport_210 (coe v3) (coe v2)
111+
MAlonzo.Code.CertifierReport.d_makeReport_272 (coe v3) (coe v2)
112112
(coe v4)))
113113
MAlonzo.Code.VerifiedCompilation.Certificate.C_ce_78 v8 v9 v10
114114
-> coe
@@ -117,7 +117,7 @@ d_runCertifierMain_16 v0
117117
MAlonzo.Code.Utils.C__'44'__410
118118
(coe MAlonzo.Code.Agda.Builtin.Bool.C_false_8)
119119
(coe
120-
MAlonzo.Code.CertifierReport.d_makeReport_210 (coe v3) (coe v2)
120+
MAlonzo.Code.CertifierReport.d_makeReport_272 (coe v3) (coe v2)
121121
(coe
122122
MAlonzo.Code.VerifiedCompilation.Certificate.C_ce_78 v8 v9
123123
v10)))
@@ -128,7 +128,7 @@ d_runCertifierMain_16 v0
128128
MAlonzo.Code.Utils.C__'44'__410
129129
(coe MAlonzo.Code.Agda.Builtin.Bool.C_false_8)
130130
(coe
131-
MAlonzo.Code.CertifierReport.d_makeReport_210 (coe v3) (coe v2)
131+
MAlonzo.Code.CertifierReport.d_makeReport_272 (coe v3) (coe v2)
132132
(coe
133133
MAlonzo.Code.VerifiedCompilation.Certificate.C_abort_84 v7 v8
134134
v9)))

0 commit comments

Comments
 (0)