Equations
- Lean.Compiler.LCNF.Phase.base.toNat = 0
- Lean.Compiler.LCNF.Phase.mono.toNat = 1
- Lean.Compiler.LCNF.Phase.impure.toNat = 2
Instances For
Equations
- Lean.Compiler.LCNF.instDecidableLtPhase = p1.toNat.decLt p2.toNat
A single compiler Pass
, consisting of the actual pass function operating
on the Decl
s as well as meta information.
- occurrence : Nat
Which occurrence of the pass in the pipeline this is. Some passes, like simp, can occur multiple times in the pipeline. For most passes this value does not matter.
- phase : Lean.Compiler.LCNF.Phase
Which phase this
Pass
is supposed to run in - phaseOut : Lean.Compiler.LCNF.Phase
Resulting phase.
- phaseInv : self.phaseOut ≥ self.phase
- name : Lean.Name
The name of the
Pass
The actual pass function, operating on the
Decl
s.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Can be used to install, remove, replace etc. passes by tagging a declaration
of type PassInstaller
with the cpass
attribute.
- install : Array Lean.Compiler.LCNF.Pass → Lean.CoreM (Array Lean.Compiler.LCNF.Pass)
Instances For
The PassManager
used to store all Pass
es that will be run within
pipeline.
- passes : Array Lean.Compiler.LCNF.Pass
Instances For
Equations
- Lean.Compiler.LCNF.instInhabitedPassManager = { default := { passes := default } }
Equations
- One or more equations did not get rendered due to their size.
def
Lean.Compiler.LCNF.Pass.mkPerDeclaration
(name : Lean.Name)
(run : Lean.Compiler.LCNF.Decl → Lean.Compiler.LCNF.CompilerM Lean.Compiler.LCNF.Decl)
(phase : Lean.Compiler.LCNF.Phase)
(occurrence : Nat := 0)
:
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Lean.Compiler.LCNF.PassManager.findHighestOccurrence
(targetName : Lean.Name)
(passes : Array Lean.Compiler.LCNF.Pass)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
Instances For
def
Lean.Compiler.LCNF.PassInstaller.withEachOccurrence
(targetName : Lean.Name)
(f : Nat → Lean.Compiler.LCNF.PassInstaller)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Lean.Compiler.LCNF.PassInstaller.installAfter
(targetName : Lean.Name)
(p : Lean.Compiler.LCNF.Pass → Lean.Compiler.LCNF.Pass)
(occurrence : Nat := 0)
:
Instances For
def
Lean.Compiler.LCNF.PassInstaller.installAfterEach
(targetName : Lean.Name)
(p : Lean.Compiler.LCNF.Pass → Lean.Compiler.LCNF.Pass)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Lean.Compiler.LCNF.PassInstaller.installBefore
(targetName : Lean.Name)
(p : Lean.Compiler.LCNF.Pass → Lean.Compiler.LCNF.Pass)
(occurrence : Nat := 0)
:
Instances For
def
Lean.Compiler.LCNF.PassInstaller.installBeforeEachOccurrence
(targetName : Lean.Name)
(p : Lean.Compiler.LCNF.Pass → Lean.Compiler.LCNF.Pass)
:
Instances For
def
Lean.Compiler.LCNF.PassInstaller.replacePass
(targetName : Lean.Name)
(p : Lean.Compiler.LCNF.Pass → Lean.Compiler.LCNF.Pass)
(occurrence : Nat := 0)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Lean.Compiler.LCNF.PassInstaller.replaceEachOccurrence
(targetName : Lean.Name)
(p : Lean.Compiler.LCNF.Pass → Lean.Compiler.LCNF.Pass)
:
Instances For
def
Lean.Compiler.LCNF.PassInstaller.run
(manager : Lean.Compiler.LCNF.PassManager)
(installer : Lean.Compiler.LCNF.PassInstaller)
:
Instances For
def
Lean.Compiler.LCNF.PassInstaller.runFromDecl
(manager : Lean.Compiler.LCNF.PassManager)
(declName : Lean.Name)
:
Equations
- One or more equations did not get rendered due to their size.