Documentation

Lean.Compiler.LCNF.PassManager

Equations
    Instances For
      Equations

        A single compiler Pass, consisting of the actual pass function operating on the Decls 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 : Phase

          Which phase this Pass is supposed to run in

        • phaseOut : Phase

          Resulting phase.

        • phaseInv : self.phaseOut self.phase
        • name : Name

          The name of the Pass

        • The actual pass function, operating on the Decls.

        Instances For

          Can be used to install, remove, replace etc. passes by tagging a declaration of type PassInstaller with the cpass attribute.

          • install : Array PassCoreM (Array Pass)

            When the installer is run this function will receive a list of all current Passes and return a new one, this can modify the list (and the Passes contained within) in any way it wants.

          Instances For

            The PassManager used to store all Passes that will be run within pipeline.

            Instances For
              def Lean.Compiler.LCNF.Pass.mkPerDeclaration (name : Name) (run : DeclCompilerM Decl) (phase : Phase) (occurrence : Nat := 0) :
              Equations
                Instances For
                  Equations
                    Instances For
                      def Lean.Compiler.LCNF.PassInstaller.installAfter (targetName : Name) (p : PassPass) (occurrence : Nat := 0) :
                      Equations
                        Instances For
                          Equations
                            Instances For
                              def Lean.Compiler.LCNF.PassInstaller.installBefore (targetName : Name) (p : PassPass) (occurrence : Nat := 0) :
                              Equations
                                Instances For
                                  def Lean.Compiler.LCNF.PassInstaller.replacePass (targetName : Name) (p : PassPass) (occurrence : Nat := 0) :
                                  Equations
                                    Instances For
                                      Equations
                                        Instances For
                                          Equations
                                            Instances For