lean4-htt/library/init/lean/compiler/ir/default.lean

41 lines
1.1 KiB
Text

/-
Copyright (c) 2019 Microsoft Corporation. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Leonardo de Moura
-/
prelude
import init.lean.compiler.ir.basic
import init.lean.compiler.ir.format
import init.lean.compiler.ir.pushproj
import init.lean.compiler.ir.elimdead
import init.lean.compiler.ir.simpcase
import init.lean.compiler.ir.resetreuse
import init.lean.compiler.ir.normids
namespace Lean
namespace IR
@[export lean.ir.test_core]
def test (d : Decl) : IO Unit :=
do
IO.println d,
IO.println $ ("Max variable " ++ toString d.maxVar),
let d := d.pushProj,
IO.println "=== After push projections ===",
IO.println d,
let d := d.insertResetReuse,
IO.println "=== After insert reset reuse ===",
IO.println d,
let d := d.elimDead,
IO.println "=== After elim dead locals ===",
IO.println d,
let d := d.simpCase,
IO.println "=== After simplify case ===",
IO.println d,
let d := d.normalizeIds,
IO.println "=== After normalize Ids ===",
IO.println d,
pure ()
end IR
end Lean