This PR changes the LCNF pass pipeline so checks are no longer run by default after every pass, only after `init`, `saveBase`, `toMono` and `saveMono`. This is a compile time improvement, and the utility of these checks is decreased a bit after the decision to no longer attempt to preserve types throughout compilation. They have not been a significant way to discover issues during development of the new compiler.
18 lines
458 B
Text
18 lines
458 B
Text
/-
|
|
Copyright (c) 2022 Microsoft Corporation. All rights reserved.
|
|
Released under Apache 2.0 license as described in the file LICENSE.
|
|
Authors: Leonardo de Moura
|
|
-/
|
|
prelude
|
|
import Lean.Util.Trace
|
|
import Lean.Data.Options
|
|
|
|
namespace Lean.Compiler
|
|
|
|
register_builtin_option compiler.check : Bool := {
|
|
defValue := false
|
|
group := "compiler"
|
|
descr := "type check code after each compiler step (this is useful for debugging purses)"
|
|
}
|
|
|
|
end Lean.Compiler
|