chore: update stage0
This commit is contained in:
parent
15909f209f
commit
9fdcfebb97
33 changed files with 6323 additions and 5836 deletions
24
stage0/src/Lean/Compiler/LCNF/Basic.lean
generated
24
stage0/src/Lean/Compiler/LCNF/Basic.lean
generated
|
|
@ -365,6 +365,30 @@ structure Decl where
|
|||
We use this information to control inlining.
|
||||
-/
|
||||
recursive : Bool := false
|
||||
/--
|
||||
We set this flag to false during LCNF conversion if the Lean function
|
||||
associated with this function was tagged as partial or unsafe. This
|
||||
information affects how static analyzers treat function applications
|
||||
of this kind. See `DefinitionSafety`.
|
||||
`partial` and `unsafe` functions may not be terminating, but Lean
|
||||
functions terminate, and some static analyzers exploit this
|
||||
fact. So, we use the following semantics. Suppose whe hav a (large) natural
|
||||
number `C`. We consider a nondeterministic model for computation of Lean expressions as
|
||||
follows:
|
||||
Each call to a partial/unsafe function uses up one "recursion token".
|
||||
Prior to consuming `C` recursion tokens all partial functions must be called
|
||||
as normal. Once the model has used up `C` recursion tokens, a subsequent call to
|
||||
a partial function has the following nondeterministic options: it can either call
|
||||
the function again, or return any value of the target type (even a noncomputable one).
|
||||
Larger values of `C` yield less nondeterminism in the model, but even the intersection of
|
||||
all choices of `C` yields nondeterminism where `def loop : A := loop` returns any value of type `A`.
|
||||
The compiler fixes a choice for `C`. This is a fixed constant greater than 2^2^64,
|
||||
which is allowed to be compiler and architecture dependent, and promises that it will
|
||||
produce an execution consistent with every possible nondeterministic outcome of the `C`-model.
|
||||
In the event that different nondeterministic executions disagree, the compiler is required to
|
||||
exhaust resources or output a looping computation.
|
||||
-/
|
||||
safe : Bool := true
|
||||
deriving Inhabited, BEq
|
||||
|
||||
def Decl.size (decl : Decl) : Nat :=
|
||||
|
|
|
|||
3
stage0/src/Lean/Compiler/LCNF/Passes.lean
generated
3
stage0/src/Lean/Compiler/LCNF/Passes.lean
generated
|
|
@ -80,4 +80,7 @@ builtin_initialize
|
|||
applicationTime := .afterCompilation
|
||||
}
|
||||
|
||||
builtin_initialize
|
||||
registerTraceClass `Compiler.saveBase (inherited := true)
|
||||
|
||||
end Lean.Compiler.LCNF
|
||||
|
|
|
|||
|
|
@ -40,12 +40,13 @@ def inlineCandidate? (e : Expr) : SimpM (Option InlineCandidateInfo) := do
|
|||
let numArgs := e.getAppNumArgs
|
||||
let f := e.getAppFn
|
||||
if let .const declName us ← findExpr f then
|
||||
if declName == (← read).declName then return none -- TODO: remove after we start storing phase1 code in .olean files
|
||||
let inlineIfReduce := hasInlineIfReduceAttribute (← getEnv) declName
|
||||
unless mustInline || hasInlineAttribute (← getEnv) declName || inlineIfReduce do return none
|
||||
-- TODO: check whether function is recursive or not.
|
||||
-- We can skip the test and store function inline so far.
|
||||
let some decl ← getDecl? declName | return none
|
||||
let inlineIfReduce := hasInlineIfReduceAttribute (← getEnv) declName
|
||||
if !inlineIfReduce && decl.recursive then return none
|
||||
let small ← isSmall decl.value
|
||||
let env ← getEnv
|
||||
unless mustInline || hasInlineAttribute env declName || inlineIfReduce || (small && !hasNoInlineAttribute env declName) do
|
||||
return none
|
||||
let arity := decl.getArity
|
||||
let inlinePartial := (← read).config.inlinePartial
|
||||
if !mustInline && !inlinePartial && numArgs < arity then return none
|
||||
|
|
@ -81,3 +82,6 @@ def inlineCandidate? (e : Expr) : SimpM (Option InlineCandidateInfo) := do
|
|||
}
|
||||
else
|
||||
return none
|
||||
|
||||
builtin_initialize
|
||||
registerTraceClass `Compiler.simp.inline
|
||||
|
|
|
|||
18
stage0/src/Lean/Compiler/LCNF/Simp/SimpM.lean
generated
18
stage0/src/Lean/Compiler/LCNF/Simp/SimpM.lean
generated
|
|
@ -167,17 +167,13 @@ Execute `x` with an updated `inlineStack`. If `value` is of the form `const ...`
|
|||
Otherwise, do not change the `inlineStack`.
|
||||
-/
|
||||
def withInlining (value : Expr) (recursive : Bool) (x : SimpM α) : SimpM α := do
|
||||
trace[Compiler.simp.inline] "inlining {value}"
|
||||
let f := value.getAppFn
|
||||
if let .const declName _ := f then
|
||||
trace[Compiler.simp.inline] "{declName}"
|
||||
let numOccs := (← read).inlineStackOccs.find? declName |>.getD 0
|
||||
let numOccs := numOccs + 1
|
||||
if recursive then
|
||||
if hasInlineIfReduceAttribute (← getEnv) declName then
|
||||
if numOccs > (← getConfig).maxRecInlineIfReduce then
|
||||
throwError "function `{declName}` has been recursively inlined more than #{(← getConfig).maxRecInlineIfReduce}, consider removing the attribute `[inlineIfReduce]` from this declaration or increasing the limit using `set_option compiler.maxRecInlineIfReduce <num>`"
|
||||
else if numOccs > (← getConfig).maxRecInline then
|
||||
throwError "function `{declName}` has been recursively inlined more than #{(← getConfig).maxRecInline}, consider removing the attribute `[inline]` from this declaration or increasing the limit using `set_option compiler.maxRecInline <num>`"
|
||||
if recursive && hasInlineIfReduceAttribute (← getEnv) declName && numOccs > (← getConfig).maxRecInlineIfReduce then
|
||||
throwError "function `{declName}` has been recursively inlined more than #{(← getConfig).maxRecInlineIfReduce}, consider removing the attribute `[inlineIfReduce]` from this declaration or increasing the limit using `set_option compiler.maxRecInlineIfReduce <num>`"
|
||||
withReader (fun ctx => { ctx with inlineStack := declName :: ctx.inlineStack, inlineStackOccs := ctx.inlineStackOccs.insert declName numOccs }) x
|
||||
else
|
||||
x
|
||||
|
|
@ -233,10 +229,10 @@ def isOnceOrMustInline (fvarId : FVarId) : SimpM Bool := do
|
|||
| _ => return false
|
||||
|
||||
/--
|
||||
Return `true` if the given local function declaration is considered "small".
|
||||
Return `true` if the given code is considered "small".
|
||||
-/
|
||||
def isSmall (decl : FunDecl) : SimpM Bool :=
|
||||
return decl.value.sizeLe (← getConfig).smallThreshold
|
||||
def isSmall (code : Code) : SimpM Bool :=
|
||||
return code.sizeLe (← getConfig).smallThreshold
|
||||
|
||||
/--
|
||||
Return `true` if the given local function declaration should be inlined.
|
||||
|
|
@ -245,7 +241,7 @@ def shouldInlineLocal (decl : FunDecl) : SimpM Bool := do
|
|||
if (← isOnceOrMustInline decl.fvarId) then
|
||||
return true
|
||||
else
|
||||
isSmall decl
|
||||
isSmall decl.value
|
||||
|
||||
/--
|
||||
LCNF "Beta-reduce". The equivalent of `(fun params => code) args`.
|
||||
|
|
|
|||
6
stage0/src/Lean/Compiler/LCNF/Specialize.lean
generated
6
stage0/src/Lean/Compiler/LCNF/Specialize.lean
generated
|
|
@ -326,7 +326,9 @@ where
|
|||
let value := attachCodeDecls decls value
|
||||
let type ← value.inferType
|
||||
let type ← mkForallParams params type
|
||||
let decl := { name := nameNew, levelParams := levelParamsNew, params, type, value : Decl }
|
||||
let safe := decl.safe
|
||||
let recursive := decl.recursive
|
||||
let decl := { name := nameNew, levelParams := levelParamsNew, params, type, value, safe, recursive : Decl }
|
||||
return decl.setLevelParams
|
||||
|
||||
/--
|
||||
|
|
@ -373,7 +375,7 @@ mutual
|
|||
specDecl.saveBase
|
||||
let specDecl ← specDecl.etaExpand
|
||||
specDecl.saveBase
|
||||
let specDecl ← specDecl.simp {} -- TODO: `simp` config
|
||||
let specDecl ← specDecl.simp {}
|
||||
let specDecl ← specDecl.simp { etaPoly := true, inlinePartial := true, implementedBy := true }
|
||||
let value ← withReader (fun _ => { declName := specDecl.name }) do
|
||||
withParams specDecl.params <| visitCode specDecl.value
|
||||
|
|
|
|||
5
stage0/src/Lean/Compiler/LCNF/ToDecl.lean
generated
5
stage0/src/Lean/Compiler/LCNF/ToDecl.lean
generated
|
|
@ -112,11 +112,12 @@ def toDecl (declName : Name) : CompilerM Decl := do
|
|||
-- let value ← applyCasesOnImplementedBy value
|
||||
return (type, value)
|
||||
let value ← toLCNF value
|
||||
let safe := !info.isPartial && !info.isUnsafe
|
||||
let decl ← if let .fun decl (.return _) := value then
|
||||
eraseFunDecl decl (recursive := false)
|
||||
pure { name := declName, params := decl.params, type, value := decl.value, levelParams := info.levelParams : Decl }
|
||||
pure { name := declName, params := decl.params, type, value := decl.value, levelParams := info.levelParams, safe : Decl }
|
||||
else
|
||||
pure { name := declName, params := #[], type, value, levelParams := info.levelParams }
|
||||
pure { name := declName, params := #[], type, value, levelParams := info.levelParams, safe }
|
||||
/- `toLCNF` may eta-reduce simple declarations. -/
|
||||
decl.etaExpand
|
||||
|
||||
|
|
|
|||
6
stage0/src/Lean/Declaration.lean
generated
6
stage0/src/Lean/Declaration.lean
generated
|
|
@ -389,7 +389,7 @@ def toConstantVal : ConstantInfo → ConstantVal
|
|||
| recInfo {toConstantVal := d, ..} => d
|
||||
|
||||
def isUnsafe : ConstantInfo → Bool
|
||||
| defnInfo v => v.safety == DefinitionSafety.unsafe
|
||||
| defnInfo v => v.safety == .unsafe
|
||||
| axiomInfo v => v.isUnsafe
|
||||
| thmInfo _ => false
|
||||
| opaqueInfo v => v.isUnsafe
|
||||
|
|
@ -398,6 +398,10 @@ def isUnsafe : ConstantInfo → Bool
|
|||
| ctorInfo v => v.isUnsafe
|
||||
| recInfo v => v.isUnsafe
|
||||
|
||||
def isPartial : ConstantInfo → Bool
|
||||
| defnInfo v => v.safety == .partial
|
||||
| _ => false
|
||||
|
||||
def name (d : ConstantInfo) : Name :=
|
||||
d.toConstantVal.name
|
||||
|
||||
|
|
|
|||
3
stage0/src/Lean/Elab/App.lean
generated
3
stage0/src/Lean/Elab/App.lean
generated
|
|
@ -1295,8 +1295,9 @@ private partial def elabAppFn (f : Syntax) (lvals : List LVal) (namedArgs : Arra
|
|||
| `(.$id:ident) =>
|
||||
addCompletionInfo <| CompletionInfo.dotId f id.getId (← getLCtx) expectedType?
|
||||
let fConst ← mkConst (← resolveDotName id expectedType?)
|
||||
let fConst ← addTermInfo f fConst
|
||||
let s ← observing do
|
||||
-- Use (force := true) because we want to record the result of .ident resolution even in patterns
|
||||
let fConst ← addTermInfo f fConst expectedType? (force := true)
|
||||
let e ← elabAppLVals fConst lvals namedArgs args expectedType? explicit ellipsis
|
||||
if overloaded then ensureHasType expectedType? e else return e
|
||||
return acc.push s
|
||||
|
|
|
|||
37
stage0/src/Lean/Elab/Term.lean
generated
37
stage0/src/Lean/Elab/Term.lean
generated
|
|
@ -1092,8 +1092,25 @@ def mkTermInfo (elaborator : Name) (stx : Syntax) (e : Expr) (expectedType? : Op
|
|||
let e := removeSaveInfoAnnotation e
|
||||
return Sum.inl <| Info.ofTermInfo { elaborator, lctx := lctx?.getD (← getLCtx), expr := e, stx, expectedType?, isBinder }
|
||||
|
||||
def addTermInfo (stx : Syntax) (e : Expr) (expectedType? : Option Expr := none) (lctx? : Option LocalContext := none) (elaborator := Name.anonymous) (isBinder := false) : TermElabM Expr := do
|
||||
if (← read).inPattern then
|
||||
/--
|
||||
Pushes a new leaf node to the info tree associating the expression `e` to the syntax `stx`.
|
||||
As a result, when the user hovers over `stx` they will see the type of `e`, and if `e`
|
||||
is a constant they will see the constant's doc string.
|
||||
|
||||
* `expectedType?`: the expected type of `e` at the point of elaboration, if available
|
||||
* `lctx?`: the local context in which to interpret `e` (otherwise it will use `← getLCtx`)
|
||||
* `elaborator`: a declaration name used as an alternative target for go-to-definition
|
||||
* `isBinder`: if true, this will be treated as defining `e` (which should be a local constant)
|
||||
for the purpose of go-to-definition on local variables
|
||||
* `force`: In patterns, the effect of `addTermInfo` is usually suppressed and replaced
|
||||
by a `patternWithRef?` annotation which will be turned into a term info on the
|
||||
post-match-elaboration expression. This flag overrides that behavior and adds the term
|
||||
info immediately. (See https://github.com/leanprover/lean4/pull/1664.)
|
||||
-/
|
||||
def addTermInfo (stx : Syntax) (e : Expr) (expectedType? : Option Expr := none)
|
||||
(lctx? : Option LocalContext := none) (elaborator := Name.anonymous)
|
||||
(isBinder := false) (force := false) : TermElabM Expr := do
|
||||
if (← read).inPattern && !force then
|
||||
return mkPatternWithRef e stx
|
||||
else
|
||||
withInfoContext' (pure ()) (fun _ => mkTermInfo elaborator stx e expectedType? lctx? isBinder) |> discard
|
||||
|
|
@ -1552,7 +1569,7 @@ def resolveLocalName (n : Name) : TermElabM (Option (Expr × List String)) := do
|
|||
let currNamespace ← getCurrNamespace
|
||||
let view := extractMacroScopes n
|
||||
/- Simple case. "Match" function for regular local declarations. -/
|
||||
let matchLocaDecl? (localDecl : LocalDecl) (givenName : Name) : Option LocalDecl := do
|
||||
let matchLocalDecl? (localDecl : LocalDecl) (givenName : Name) : Option LocalDecl := do
|
||||
guard (localDecl.userName == givenName)
|
||||
return localDecl
|
||||
/-
|
||||
|
|
@ -1648,9 +1665,9 @@ def resolveLocalName (n : Name) : TermElabM (Option (Expr × List String)) := do
|
|||
if let some fullDeclName := auxDeclToFullName.find? localDecl.fvarId then
|
||||
matchAuxRecDecl? localDecl fullDeclName givenNameView
|
||||
else
|
||||
matchLocaDecl? localDecl givenName
|
||||
matchLocalDecl? localDecl givenName
|
||||
else
|
||||
matchLocaDecl? localDecl givenName
|
||||
matchLocalDecl? localDecl givenName
|
||||
if localDecl?.isSome || skipAuxDecl then
|
||||
localDecl?
|
||||
else
|
||||
|
|
@ -1658,7 +1675,7 @@ def resolveLocalName (n : Name) : TermElabM (Option (Expr × List String)) := do
|
|||
lctx.decls.findSomeRev? fun localDecl? => do
|
||||
let localDecl ← localDecl?
|
||||
guard (localDecl.binderInfo == .auxDecl)
|
||||
matchLocaDecl? localDecl givenName
|
||||
matchLocalDecl? localDecl givenName
|
||||
let rec loop (n : Name) (projs : List String) :=
|
||||
let givenNameView := { view with name := n }
|
||||
/- We do not consider dot notation for local decls corresponding to recursive functions being defined.
|
||||
|
|
@ -1701,10 +1718,10 @@ def mkConst (constName : Name) (explicitLevels : List Level := []) : TermElabM E
|
|||
|
||||
private def mkConsts (candidates : List (Name × List String)) (explicitLevels : List Level) : TermElabM (List (Expr × List String)) := do
|
||||
candidates.foldlM (init := []) fun result (declName, projs) => do
|
||||
-- TODO: better suppor for `mkConst` failure. We may want to cache the failures, and report them if all candidates fail.
|
||||
checkDeprecated declName -- TODO: check is occurring too early if there are multiple alternatives. Fix if it is not ok in practice
|
||||
let const ← mkConst declName explicitLevels
|
||||
return (const, projs) :: result
|
||||
-- TODO: better support for `mkConst` failure. We may want to cache the failures, and report them if all candidates fail.
|
||||
checkDeprecated declName -- TODO: check is occurring too early if there are multiple alternatives. Fix if it is not ok in practice
|
||||
let const ← mkConst declName explicitLevels
|
||||
return (const, projs) :: result
|
||||
|
||||
def resolveName (stx : Syntax) (n : Name) (preresolved : List Syntax.Preresolved) (explicitLevels : List Level) (expectedType? : Option Expr := none) : TermElabM (List (Expr × List String)) := do
|
||||
addCompletionInfo <| CompletionInfo.id stx stx.getId (danglingDot := false) (← getLCtx) expectedType?
|
||||
|
|
|
|||
291
stage0/stdlib/Lean/Compiler/LCNF/Basic.c
generated
291
stage0/stdlib/Lean/Compiler/LCNF/Basic.c
generated
|
|
@ -22,6 +22,7 @@ size_t lean_usize_add(size_t, size_t);
|
|||
static lean_object* l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_collectExpr___closed__1;
|
||||
static lean_object* l_Lean_Compiler_LCNF_instInhabitedParam___closed__2;
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_updateReturnImp(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_List_beq___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_3646____spec__1___boxed(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_Code_forM_go___spec__1___rarg___lambda__1(size_t, lean_object*, lean_object*, lean_object*, size_t, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_attachCodeDecls_go___boxed(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* lean_mk_empty_array_with_capacity(lean_object*);
|
||||
|
|
@ -29,6 +30,7 @@ static lean_object* l_Lean_Compiler_LCNF_attachCodeDecls_go___closed__1;
|
|||
LEAN_EXPORT lean_object* l_Array_isEqvAux___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_eqAlt___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_updateContImp___closed__1;
|
||||
LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_Code_size_go___spec__1(lean_object*, size_t, size_t, lean_object*);
|
||||
LEAN_EXPORT uint8_t l_Lean_Compiler_LCNF_Decl_safe___default;
|
||||
LEAN_EXPORT lean_object* l_Array_isEqvAux___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_eqFunDecl___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Compiler_LCNF_CasesCore_extractAlt_x21___closed__2;
|
||||
lean_object* l_Array_eraseIdx___rarg(lean_object*, lean_object*);
|
||||
|
|
@ -65,7 +67,7 @@ lean_object* lean_array_get_size(lean_object*);
|
|||
LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_Code_collectUsed___spec__1(lean_object*, size_t, size_t, lean_object*);
|
||||
LEAN_EXPORT uint8_t l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqLetDecl____x40_Lean_Compiler_LCNF_Basic___hyg_282_(lean_object*, lean_object*);
|
||||
static lean_object* l_panic___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_collectExpr___spec__3___closed__1;
|
||||
LEAN_EXPORT uint8_t l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_3636_(lean_object*, lean_object*);
|
||||
LEAN_EXPORT uint8_t l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_3646_(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Code_size(lean_object*);
|
||||
LEAN_EXPORT uint8_t l_Array_isEqvAux___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_eqAlt___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Decl_instantiateValueLevelParams(lean_object*, lean_object*);
|
||||
|
|
@ -116,21 +118,22 @@ extern lean_object* l_Lean_instFVarIdSetInhabited;
|
|||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Decl_getArity(lean_object*);
|
||||
static lean_object* l_Lean_Compiler_LCNF_instInhabitedCodeDecl___closed__1;
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_collectUsedAtExpr(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_isEqvAux___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_3646____spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Decl_instantiateValueLevelParams_instAlt(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_AltCore_forCodeM(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_attachCodeDecls___boxed(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_collectParams(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_3646____boxed(lean_object*, lean_object*);
|
||||
lean_object* l_instInhabitedForAll__1___rarg(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Code_isFun___boxed(lean_object*);
|
||||
static lean_object* l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_updateJmpImp___closed__2;
|
||||
static lean_object* l_Lean_Compiler_LCNF_instBEqLetDecl___closed__1;
|
||||
static lean_object* l_Lean_Compiler_LCNF_attachCodeDecls_go___closed__3;
|
||||
LEAN_EXPORT uint8_t l_List_beq___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_3636____spec__1(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_3636____boxed(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_instInhabitedLetDecl;
|
||||
LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_Code_sizeLe_go___spec__1(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_markRecDecls(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Decl_instantiateValueLevelParams_instExpr(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT uint8_t l_List_beq___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_3646____spec__1(lean_object*, lean_object*);
|
||||
uint8_t l_Lean_Name_quickCmp(lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Compiler_LCNF_CasesCore_extractAlt_x21___closed__3;
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_FunDeclCore_collectUsed(lean_object*, lean_object*);
|
||||
|
|
@ -139,7 +142,6 @@ LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_CasesCore_extractAlt_x21___lambda_
|
|||
LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_collectExprs___spec__1(lean_object*, size_t, size_t, lean_object*);
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_eqImp___boxed(lean_object*, lean_object*);
|
||||
LEAN_EXPORT uint8_t l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_eqImp(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_List_beq___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_3636____spec__1___boxed(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_FunDeclCore_getArity(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Decl_instantiateValueLevelParams_instLetDecl___boxed(lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Compiler_LCNF_instBEqCode___closed__1;
|
||||
|
|
@ -165,7 +167,6 @@ lean_object* l_Array_mapMono(lean_object*);
|
|||
size_t lean_usize_of_nat(lean_object*);
|
||||
extern lean_object* l_Lean_NameSet_empty;
|
||||
LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_Compiler_LCNF_markRecDecls_visit___spec__1(lean_object*, lean_object*, size_t, size_t);
|
||||
LEAN_EXPORT lean_object* l_Array_isEqvAux___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_3636____spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_AltCore_getCode___boxed(lean_object*);
|
||||
static lean_object* l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_updateAltImp___closed__4;
|
||||
LEAN_EXPORT lean_object* l_panic___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_updateAltsImp___spec__1(lean_object*);
|
||||
|
|
@ -228,13 +229,13 @@ LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_L
|
|||
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_updateFunDeclCoreImp(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_updateJmpImp(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_FunDeclCore_getArity___rarg___boxed(lean_object*);
|
||||
LEAN_EXPORT uint8_t l_Array_isEqvAux___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_3636____spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Decl_instantiateValueLevelParams_instLetDecl(lean_object*, lean_object*, lean_object*);
|
||||
uint8_t l_Lean_NameSet_contains(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Decl_instantiateValueLevelParams_instParams(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Code_forM(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_panic___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_collectExpr___spec__3(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Expr_getAppFn(lean_object*);
|
||||
LEAN_EXPORT uint8_t l_Array_isEqvAux___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_3646____spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_updateUnreachImp(lean_object*, lean_object*);
|
||||
lean_object* l_Array_findIdx_x3f_loop___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_panic___at_Lean_Compiler_LCNF_CasesCore_extractAlt_x21___spec__1(lean_object*);
|
||||
|
|
@ -4863,6 +4864,14 @@ x_1 = 0;
|
|||
return x_1;
|
||||
}
|
||||
}
|
||||
static uint8_t _init_l_Lean_Compiler_LCNF_Decl_safe___default() {
|
||||
_start:
|
||||
{
|
||||
uint8_t x_1;
|
||||
x_1 = 1;
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Compiler_LCNF_instInhabitedDecl___closed__1() {
|
||||
_start:
|
||||
{
|
||||
|
|
@ -4873,13 +4882,14 @@ x_3 = l_Lean_Compiler_LCNF_instInhabitedParam___closed__1;
|
|||
x_4 = l_Lean_Compiler_LCNF_instInhabitedAltCore___rarg___closed__1;
|
||||
x_5 = l_Lean_Compiler_LCNF_instInhabitedCode___closed__1;
|
||||
x_6 = 0;
|
||||
x_7 = lean_alloc_ctor(0, 5, 1);
|
||||
x_7 = lean_alloc_ctor(0, 5, 2);
|
||||
lean_ctor_set(x_7, 0, x_2);
|
||||
lean_ctor_set(x_7, 1, x_1);
|
||||
lean_ctor_set(x_7, 2, x_3);
|
||||
lean_ctor_set(x_7, 3, x_4);
|
||||
lean_ctor_set(x_7, 4, x_5);
|
||||
lean_ctor_set_uint8(x_7, sizeof(void*)*5, x_6);
|
||||
lean_ctor_set_uint8(x_7, sizeof(void*)*5 + 1, x_6);
|
||||
return x_7;
|
||||
}
|
||||
}
|
||||
|
|
@ -4891,7 +4901,7 @@ x_1 = l_Lean_Compiler_LCNF_instInhabitedDecl___closed__1;
|
|||
return x_1;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT uint8_t l_List_beq___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_3636____spec__1(lean_object* x_1, lean_object* x_2) {
|
||||
LEAN_EXPORT uint8_t l_List_beq___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_3646____spec__1(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
if (lean_obj_tag(x_1) == 0)
|
||||
|
|
@ -4941,7 +4951,7 @@ goto _start;
|
|||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT uint8_t l_Array_isEqvAux___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_3636____spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
|
||||
LEAN_EXPORT uint8_t l_Array_isEqvAux___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_3646____spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_7; uint8_t x_8;
|
||||
|
|
@ -4983,10 +4993,10 @@ goto _start;
|
|||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT uint8_t l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_3636_(lean_object* x_1, lean_object* x_2) {
|
||||
LEAN_EXPORT uint8_t l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_3646_(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; uint8_t x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; uint8_t x_14; uint8_t x_15;
|
||||
lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; uint8_t x_8; uint8_t x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; uint8_t x_15; uint8_t x_16; lean_object* x_17; uint8_t x_21;
|
||||
x_3 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_3);
|
||||
x_4 = lean_ctor_get(x_1, 1);
|
||||
|
|
@ -4998,111 +5008,125 @@ lean_inc(x_6);
|
|||
x_7 = lean_ctor_get(x_1, 4);
|
||||
lean_inc(x_7);
|
||||
x_8 = lean_ctor_get_uint8(x_1, sizeof(void*)*5);
|
||||
x_9 = lean_ctor_get_uint8(x_1, sizeof(void*)*5 + 1);
|
||||
lean_dec(x_1);
|
||||
x_9 = lean_ctor_get(x_2, 0);
|
||||
x_10 = lean_ctor_get(x_2, 1);
|
||||
x_11 = lean_ctor_get(x_2, 2);
|
||||
x_12 = lean_ctor_get(x_2, 3);
|
||||
x_13 = lean_ctor_get(x_2, 4);
|
||||
x_14 = lean_ctor_get_uint8(x_2, sizeof(void*)*5);
|
||||
x_15 = lean_name_eq(x_3, x_9);
|
||||
x_10 = lean_ctor_get(x_2, 0);
|
||||
x_11 = lean_ctor_get(x_2, 1);
|
||||
x_12 = lean_ctor_get(x_2, 2);
|
||||
x_13 = lean_ctor_get(x_2, 3);
|
||||
x_14 = lean_ctor_get(x_2, 4);
|
||||
x_15 = lean_ctor_get_uint8(x_2, sizeof(void*)*5);
|
||||
x_16 = lean_ctor_get_uint8(x_2, sizeof(void*)*5 + 1);
|
||||
x_21 = lean_name_eq(x_3, x_10);
|
||||
lean_dec(x_3);
|
||||
if (x_15 == 0)
|
||||
if (x_21 == 0)
|
||||
{
|
||||
uint8_t x_16;
|
||||
uint8_t x_22;
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_6);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
x_16 = 0;
|
||||
return x_16;
|
||||
x_22 = 0;
|
||||
return x_22;
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_17;
|
||||
x_17 = l_List_beq___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_3636____spec__1(x_4, x_10);
|
||||
uint8_t x_23;
|
||||
x_23 = l_List_beq___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_3646____spec__1(x_4, x_11);
|
||||
lean_dec(x_4);
|
||||
if (x_17 == 0)
|
||||
{
|
||||
uint8_t x_18;
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_6);
|
||||
lean_dec(x_5);
|
||||
x_18 = 0;
|
||||
return x_18;
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_19;
|
||||
x_19 = lean_expr_eqv(x_5, x_11);
|
||||
lean_dec(x_5);
|
||||
if (x_19 == 0)
|
||||
{
|
||||
uint8_t x_20;
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_6);
|
||||
x_20 = 0;
|
||||
return x_20;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_21; lean_object* x_22; uint8_t x_23;
|
||||
x_21 = lean_array_get_size(x_6);
|
||||
x_22 = lean_array_get_size(x_12);
|
||||
x_23 = lean_nat_dec_eq(x_21, x_22);
|
||||
lean_dec(x_22);
|
||||
lean_dec(x_21);
|
||||
if (x_23 == 0)
|
||||
{
|
||||
uint8_t x_24;
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_6);
|
||||
lean_dec(x_5);
|
||||
x_24 = 0;
|
||||
return x_24;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_25; uint8_t x_26;
|
||||
x_25 = lean_unsigned_to_nat(0u);
|
||||
x_26 = l_Array_isEqvAux___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_3636____spec__2(x_6, x_12, lean_box(0), x_6, x_12, x_25);
|
||||
lean_dec(x_6);
|
||||
if (x_26 == 0)
|
||||
uint8_t x_25;
|
||||
x_25 = lean_expr_eqv(x_5, x_12);
|
||||
lean_dec(x_5);
|
||||
if (x_25 == 0)
|
||||
{
|
||||
uint8_t x_27;
|
||||
uint8_t x_26;
|
||||
lean_dec(x_7);
|
||||
x_27 = 0;
|
||||
return x_27;
|
||||
lean_dec(x_6);
|
||||
x_26 = 0;
|
||||
return x_26;
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_28;
|
||||
x_28 = l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_eqImp(x_7, x_13);
|
||||
if (x_28 == 0)
|
||||
lean_object* x_27; lean_object* x_28; uint8_t x_29;
|
||||
x_27 = lean_array_get_size(x_6);
|
||||
x_28 = lean_array_get_size(x_13);
|
||||
x_29 = lean_nat_dec_eq(x_27, x_28);
|
||||
lean_dec(x_28);
|
||||
lean_dec(x_27);
|
||||
if (x_29 == 0)
|
||||
{
|
||||
uint8_t x_29;
|
||||
x_29 = 0;
|
||||
return x_29;
|
||||
uint8_t x_30;
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_6);
|
||||
x_30 = 0;
|
||||
return x_30;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_31; uint8_t x_32;
|
||||
x_31 = lean_unsigned_to_nat(0u);
|
||||
x_32 = l_Array_isEqvAux___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_3646____spec__2(x_6, x_13, lean_box(0), x_6, x_13, x_31);
|
||||
lean_dec(x_6);
|
||||
if (x_32 == 0)
|
||||
{
|
||||
uint8_t x_33;
|
||||
lean_dec(x_7);
|
||||
x_33 = 0;
|
||||
return x_33;
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_34;
|
||||
x_34 = l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_eqImp(x_7, x_14);
|
||||
if (x_34 == 0)
|
||||
{
|
||||
uint8_t x_35;
|
||||
x_35 = 0;
|
||||
return x_35;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (x_8 == 0)
|
||||
{
|
||||
if (x_14 == 0)
|
||||
if (x_15 == 0)
|
||||
{
|
||||
uint8_t x_30;
|
||||
x_30 = 1;
|
||||
return x_30;
|
||||
lean_object* x_36;
|
||||
x_36 = lean_box(0);
|
||||
x_17 = x_36;
|
||||
goto block_20;
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_31;
|
||||
x_31 = 0;
|
||||
return x_31;
|
||||
uint8_t x_37;
|
||||
x_37 = 0;
|
||||
return x_37;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return x_14;
|
||||
if (x_15 == 0)
|
||||
{
|
||||
uint8_t x_38;
|
||||
x_38 = 0;
|
||||
return x_38;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_39;
|
||||
x_39 = lean_box(0);
|
||||
x_17 = x_39;
|
||||
goto block_20;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -5111,23 +5135,47 @@ return x_14;
|
|||
}
|
||||
}
|
||||
}
|
||||
block_20:
|
||||
{
|
||||
lean_dec(x_17);
|
||||
if (x_9 == 0)
|
||||
{
|
||||
if (x_16 == 0)
|
||||
{
|
||||
uint8_t x_18;
|
||||
x_18 = 1;
|
||||
return x_18;
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_List_beq___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_3636____spec__1___boxed(lean_object* x_1, lean_object* x_2) {
|
||||
else
|
||||
{
|
||||
uint8_t x_19;
|
||||
x_19 = 0;
|
||||
return x_19;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return x_16;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_List_beq___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_3646____spec__1___boxed(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
uint8_t x_3; lean_object* x_4;
|
||||
x_3 = l_List_beq___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_3636____spec__1(x_1, x_2);
|
||||
x_3 = l_List_beq___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_3646____spec__1(x_1, x_2);
|
||||
lean_dec(x_2);
|
||||
lean_dec(x_1);
|
||||
x_4 = lean_box(x_3);
|
||||
return x_4;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Array_isEqvAux___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_3636____spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
|
||||
LEAN_EXPORT lean_object* l_Array_isEqvAux___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_3646____spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
|
||||
_start:
|
||||
{
|
||||
uint8_t x_7; lean_object* x_8;
|
||||
x_7 = l_Array_isEqvAux___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_3636____spec__2(x_1, x_2, x_3, x_4, x_5, x_6);
|
||||
x_7 = l_Array_isEqvAux___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_3646____spec__2(x_1, x_2, x_3, x_4, x_5, x_6);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_2);
|
||||
|
|
@ -5136,11 +5184,11 @@ x_8 = lean_box(x_7);
|
|||
return x_8;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_3636____boxed(lean_object* x_1, lean_object* x_2) {
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_3646____boxed(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
uint8_t x_3; lean_object* x_4;
|
||||
x_3 = l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_3636_(x_1, x_2);
|
||||
x_3 = l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_3646_(x_1, x_2);
|
||||
lean_dec(x_2);
|
||||
x_4 = lean_box(x_3);
|
||||
return x_4;
|
||||
|
|
@ -5150,7 +5198,7 @@ static lean_object* _init_l_Lean_Compiler_LCNF_instBEqDecl___closed__1() {
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_alloc_closure((void*)(l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_3636____boxed), 2, 0);
|
||||
x_1 = lean_alloc_closure((void*)(l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_3646____boxed), 2, 0);
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
|
|
@ -8540,7 +8588,7 @@ _start:
|
|||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_1 = l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_updateAltImp___closed__1;
|
||||
x_2 = l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_collectExpr___closed__1;
|
||||
x_3 = lean_unsigned_to_nat(448u);
|
||||
x_3 = lean_unsigned_to_nat(472u);
|
||||
x_4 = lean_unsigned_to_nat(24u);
|
||||
x_5 = l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_updateAltImp___closed__3;
|
||||
x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
|
||||
|
|
@ -9422,7 +9470,7 @@ return x_4;
|
|||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; uint8_t x_14; size_t x_15; size_t x_16;
|
||||
lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; uint8_t x_14; uint8_t x_15; size_t x_16; size_t x_17;
|
||||
x_6 = lean_array_uget(x_4, x_3);
|
||||
x_7 = lean_unsigned_to_nat(0u);
|
||||
x_8 = lean_array_uset(x_4, x_3, x_7);
|
||||
|
|
@ -9436,61 +9484,63 @@ x_12 = lean_ctor_get(x_6, 3);
|
|||
lean_inc(x_12);
|
||||
x_13 = lean_ctor_get(x_6, 4);
|
||||
lean_inc(x_13);
|
||||
x_14 = l_Lean_NameSet_contains(x_1, x_9);
|
||||
x_15 = 1;
|
||||
x_16 = lean_usize_add(x_3, x_15);
|
||||
if (x_14 == 0)
|
||||
x_14 = lean_ctor_get_uint8(x_6, sizeof(void*)*5 + 1);
|
||||
x_15 = l_Lean_NameSet_contains(x_1, x_9);
|
||||
x_16 = 1;
|
||||
x_17 = lean_usize_add(x_3, x_16);
|
||||
if (x_15 == 0)
|
||||
{
|
||||
lean_object* x_17;
|
||||
lean_object* x_18;
|
||||
lean_dec(x_13);
|
||||
lean_dec(x_12);
|
||||
lean_dec(x_11);
|
||||
lean_dec(x_10);
|
||||
lean_dec(x_9);
|
||||
x_17 = lean_array_uset(x_8, x_3, x_6);
|
||||
x_3 = x_16;
|
||||
x_4 = x_17;
|
||||
x_18 = lean_array_uset(x_8, x_3, x_6);
|
||||
x_3 = x_17;
|
||||
x_4 = x_18;
|
||||
goto _start;
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_19;
|
||||
x_19 = !lean_is_exclusive(x_6);
|
||||
if (x_19 == 0)
|
||||
uint8_t x_20;
|
||||
x_20 = !lean_is_exclusive(x_6);
|
||||
if (x_20 == 0)
|
||||
{
|
||||
lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; uint8_t x_25; lean_object* x_26;
|
||||
x_20 = lean_ctor_get(x_6, 4);
|
||||
lean_dec(x_20);
|
||||
x_21 = lean_ctor_get(x_6, 3);
|
||||
lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; uint8_t x_26; lean_object* x_27;
|
||||
x_21 = lean_ctor_get(x_6, 4);
|
||||
lean_dec(x_21);
|
||||
x_22 = lean_ctor_get(x_6, 2);
|
||||
x_22 = lean_ctor_get(x_6, 3);
|
||||
lean_dec(x_22);
|
||||
x_23 = lean_ctor_get(x_6, 1);
|
||||
x_23 = lean_ctor_get(x_6, 2);
|
||||
lean_dec(x_23);
|
||||
x_24 = lean_ctor_get(x_6, 0);
|
||||
x_24 = lean_ctor_get(x_6, 1);
|
||||
lean_dec(x_24);
|
||||
x_25 = 1;
|
||||
lean_ctor_set_uint8(x_6, sizeof(void*)*5, x_25);
|
||||
x_26 = lean_array_uset(x_8, x_3, x_6);
|
||||
x_3 = x_16;
|
||||
x_4 = x_26;
|
||||
x_25 = lean_ctor_get(x_6, 0);
|
||||
lean_dec(x_25);
|
||||
x_26 = 1;
|
||||
lean_ctor_set_uint8(x_6, sizeof(void*)*5, x_26);
|
||||
x_27 = lean_array_uset(x_8, x_3, x_6);
|
||||
x_3 = x_17;
|
||||
x_4 = x_27;
|
||||
goto _start;
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_28; lean_object* x_29; lean_object* x_30;
|
||||
uint8_t x_29; lean_object* x_30; lean_object* x_31;
|
||||
lean_dec(x_6);
|
||||
x_28 = 1;
|
||||
x_29 = lean_alloc_ctor(0, 5, 1);
|
||||
lean_ctor_set(x_29, 0, x_9);
|
||||
lean_ctor_set(x_29, 1, x_10);
|
||||
lean_ctor_set(x_29, 2, x_11);
|
||||
lean_ctor_set(x_29, 3, x_12);
|
||||
lean_ctor_set(x_29, 4, x_13);
|
||||
lean_ctor_set_uint8(x_29, sizeof(void*)*5, x_28);
|
||||
x_30 = lean_array_uset(x_8, x_3, x_29);
|
||||
x_3 = x_16;
|
||||
x_4 = x_30;
|
||||
x_29 = 1;
|
||||
x_30 = lean_alloc_ctor(0, 5, 2);
|
||||
lean_ctor_set(x_30, 0, x_9);
|
||||
lean_ctor_set(x_30, 1, x_10);
|
||||
lean_ctor_set(x_30, 2, x_11);
|
||||
lean_ctor_set(x_30, 3, x_12);
|
||||
lean_ctor_set(x_30, 4, x_13);
|
||||
lean_ctor_set_uint8(x_30, sizeof(void*)*5, x_29);
|
||||
lean_ctor_set_uint8(x_30, sizeof(void*)*5 + 1, x_14);
|
||||
x_31 = lean_array_uset(x_8, x_3, x_30);
|
||||
x_3 = x_17;
|
||||
x_4 = x_31;
|
||||
goto _start;
|
||||
}
|
||||
}
|
||||
|
|
@ -9640,6 +9690,7 @@ lean_mark_persistent(l_Lean_Compiler_LCNF_CasesCore_extractAlt_x21___closed__2);
|
|||
l_Lean_Compiler_LCNF_CasesCore_extractAlt_x21___closed__3 = _init_l_Lean_Compiler_LCNF_CasesCore_extractAlt_x21___closed__3();
|
||||
lean_mark_persistent(l_Lean_Compiler_LCNF_CasesCore_extractAlt_x21___closed__3);
|
||||
l_Lean_Compiler_LCNF_Decl_recursive___default = _init_l_Lean_Compiler_LCNF_Decl_recursive___default();
|
||||
l_Lean_Compiler_LCNF_Decl_safe___default = _init_l_Lean_Compiler_LCNF_Decl_safe___default();
|
||||
l_Lean_Compiler_LCNF_instInhabitedDecl___closed__1 = _init_l_Lean_Compiler_LCNF_instInhabitedDecl___closed__1();
|
||||
lean_mark_persistent(l_Lean_Compiler_LCNF_instInhabitedDecl___closed__1);
|
||||
l_Lean_Compiler_LCNF_instInhabitedDecl = _init_l_Lean_Compiler_LCNF_instInhabitedDecl();
|
||||
|
|
|
|||
222
stage0/stdlib/Lean/Compiler/LCNF/Bind.c
generated
222
stage0/stdlib/Lean/Compiler/LCNF/Bind.c
generated
|
|
@ -2438,7 +2438,7 @@ return x_24;
|
|||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Decl_etaExpand(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; uint8_t x_12; lean_object* x_13;
|
||||
lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; uint8_t x_12; uint8_t x_13; lean_object* x_14;
|
||||
x_7 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_7);
|
||||
x_8 = lean_ctor_get(x_1, 1);
|
||||
|
|
@ -2450,159 +2450,161 @@ lean_inc(x_10);
|
|||
x_11 = lean_ctor_get(x_1, 4);
|
||||
lean_inc(x_11);
|
||||
x_12 = lean_ctor_get_uint8(x_1, sizeof(void*)*5);
|
||||
x_13 = lean_ctor_get_uint8(x_1, sizeof(void*)*5 + 1);
|
||||
lean_inc(x_9);
|
||||
x_13 = l_Lean_Compiler_LCNF_etaExpandCore_x3f(x_9, x_10, x_11, x_2, x_3, x_4, x_5, x_6);
|
||||
if (lean_obj_tag(x_13) == 0)
|
||||
{
|
||||
lean_object* x_14;
|
||||
x_14 = lean_ctor_get(x_13, 0);
|
||||
lean_inc(x_14);
|
||||
x_14 = l_Lean_Compiler_LCNF_etaExpandCore_x3f(x_9, x_10, x_11, x_2, x_3, x_4, x_5, x_6);
|
||||
if (lean_obj_tag(x_14) == 0)
|
||||
{
|
||||
uint8_t x_15;
|
||||
lean_object* x_15;
|
||||
x_15 = lean_ctor_get(x_14, 0);
|
||||
lean_inc(x_15);
|
||||
if (lean_obj_tag(x_15) == 0)
|
||||
{
|
||||
uint8_t x_16;
|
||||
lean_dec(x_9);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_7);
|
||||
x_15 = !lean_is_exclusive(x_13);
|
||||
if (x_15 == 0)
|
||||
x_16 = !lean_is_exclusive(x_14);
|
||||
if (x_16 == 0)
|
||||
{
|
||||
lean_object* x_16;
|
||||
x_16 = lean_ctor_get(x_13, 0);
|
||||
lean_dec(x_16);
|
||||
lean_ctor_set(x_13, 0, x_1);
|
||||
return x_13;
|
||||
lean_object* x_17;
|
||||
x_17 = lean_ctor_get(x_14, 0);
|
||||
lean_dec(x_17);
|
||||
lean_ctor_set(x_14, 0, x_1);
|
||||
return x_14;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_17; lean_object* x_18;
|
||||
x_17 = lean_ctor_get(x_13, 1);
|
||||
lean_inc(x_17);
|
||||
lean_dec(x_13);
|
||||
x_18 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_18, 0, x_1);
|
||||
lean_ctor_set(x_18, 1, x_17);
|
||||
return x_18;
|
||||
lean_object* x_18; lean_object* x_19;
|
||||
x_18 = lean_ctor_get(x_14, 1);
|
||||
lean_inc(x_18);
|
||||
lean_dec(x_14);
|
||||
x_19 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_19, 0, x_1);
|
||||
lean_ctor_set(x_19, 1, x_18);
|
||||
return x_19;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_19;
|
||||
x_19 = !lean_is_exclusive(x_1);
|
||||
if (x_19 == 0)
|
||||
uint8_t x_20;
|
||||
x_20 = !lean_is_exclusive(x_1);
|
||||
if (x_20 == 0)
|
||||
{
|
||||
lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; uint8_t x_26;
|
||||
x_20 = lean_ctor_get(x_1, 4);
|
||||
lean_dec(x_20);
|
||||
x_21 = lean_ctor_get(x_1, 3);
|
||||
lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; uint8_t x_27;
|
||||
x_21 = lean_ctor_get(x_1, 4);
|
||||
lean_dec(x_21);
|
||||
x_22 = lean_ctor_get(x_1, 2);
|
||||
x_22 = lean_ctor_get(x_1, 3);
|
||||
lean_dec(x_22);
|
||||
x_23 = lean_ctor_get(x_1, 1);
|
||||
x_23 = lean_ctor_get(x_1, 2);
|
||||
lean_dec(x_23);
|
||||
x_24 = lean_ctor_get(x_1, 0);
|
||||
x_24 = lean_ctor_get(x_1, 1);
|
||||
lean_dec(x_24);
|
||||
x_25 = lean_ctor_get(x_14, 0);
|
||||
lean_inc(x_25);
|
||||
lean_dec(x_14);
|
||||
x_26 = !lean_is_exclusive(x_13);
|
||||
if (x_26 == 0)
|
||||
x_25 = lean_ctor_get(x_1, 0);
|
||||
lean_dec(x_25);
|
||||
x_26 = lean_ctor_get(x_15, 0);
|
||||
lean_inc(x_26);
|
||||
lean_dec(x_15);
|
||||
x_27 = !lean_is_exclusive(x_14);
|
||||
if (x_27 == 0)
|
||||
{
|
||||
lean_object* x_27; lean_object* x_28; lean_object* x_29;
|
||||
x_27 = lean_ctor_get(x_13, 0);
|
||||
lean_dec(x_27);
|
||||
x_28 = lean_ctor_get(x_25, 0);
|
||||
lean_inc(x_28);
|
||||
x_29 = lean_ctor_get(x_25, 1);
|
||||
lean_object* x_28; lean_object* x_29; lean_object* x_30;
|
||||
x_28 = lean_ctor_get(x_14, 0);
|
||||
lean_dec(x_28);
|
||||
x_29 = lean_ctor_get(x_26, 0);
|
||||
lean_inc(x_29);
|
||||
lean_dec(x_25);
|
||||
lean_ctor_set(x_1, 4, x_29);
|
||||
lean_ctor_set(x_1, 3, x_28);
|
||||
lean_ctor_set(x_13, 0, x_1);
|
||||
return x_13;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33;
|
||||
x_30 = lean_ctor_get(x_13, 1);
|
||||
x_30 = lean_ctor_get(x_26, 1);
|
||||
lean_inc(x_30);
|
||||
lean_dec(x_13);
|
||||
x_31 = lean_ctor_get(x_25, 0);
|
||||
lean_dec(x_26);
|
||||
lean_ctor_set(x_1, 4, x_30);
|
||||
lean_ctor_set(x_1, 3, x_29);
|
||||
lean_ctor_set(x_14, 0, x_1);
|
||||
return x_14;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34;
|
||||
x_31 = lean_ctor_get(x_14, 1);
|
||||
lean_inc(x_31);
|
||||
x_32 = lean_ctor_get(x_25, 1);
|
||||
lean_inc(x_32);
|
||||
lean_dec(x_25);
|
||||
lean_ctor_set(x_1, 4, x_32);
|
||||
lean_ctor_set(x_1, 3, x_31);
|
||||
x_33 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_33, 0, x_1);
|
||||
lean_ctor_set(x_33, 1, x_30);
|
||||
return x_33;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40;
|
||||
lean_dec(x_1);
|
||||
x_34 = lean_ctor_get(x_14, 0);
|
||||
lean_inc(x_34);
|
||||
lean_dec(x_14);
|
||||
x_35 = lean_ctor_get(x_13, 1);
|
||||
x_32 = lean_ctor_get(x_26, 0);
|
||||
lean_inc(x_32);
|
||||
x_33 = lean_ctor_get(x_26, 1);
|
||||
lean_inc(x_33);
|
||||
lean_dec(x_26);
|
||||
lean_ctor_set(x_1, 4, x_33);
|
||||
lean_ctor_set(x_1, 3, x_32);
|
||||
x_34 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_34, 0, x_1);
|
||||
lean_ctor_set(x_34, 1, x_31);
|
||||
return x_34;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41;
|
||||
lean_dec(x_1);
|
||||
x_35 = lean_ctor_get(x_15, 0);
|
||||
lean_inc(x_35);
|
||||
if (lean_is_exclusive(x_13)) {
|
||||
lean_ctor_release(x_13, 0);
|
||||
lean_ctor_release(x_13, 1);
|
||||
x_36 = x_13;
|
||||
lean_dec(x_15);
|
||||
x_36 = lean_ctor_get(x_14, 1);
|
||||
lean_inc(x_36);
|
||||
if (lean_is_exclusive(x_14)) {
|
||||
lean_ctor_release(x_14, 0);
|
||||
lean_ctor_release(x_14, 1);
|
||||
x_37 = x_14;
|
||||
} else {
|
||||
lean_dec_ref(x_13);
|
||||
x_36 = lean_box(0);
|
||||
lean_dec_ref(x_14);
|
||||
x_37 = lean_box(0);
|
||||
}
|
||||
x_37 = lean_ctor_get(x_34, 0);
|
||||
lean_inc(x_37);
|
||||
x_38 = lean_ctor_get(x_34, 1);
|
||||
x_38 = lean_ctor_get(x_35, 0);
|
||||
lean_inc(x_38);
|
||||
lean_dec(x_34);
|
||||
x_39 = lean_alloc_ctor(0, 5, 1);
|
||||
lean_ctor_set(x_39, 0, x_7);
|
||||
lean_ctor_set(x_39, 1, x_8);
|
||||
lean_ctor_set(x_39, 2, x_9);
|
||||
lean_ctor_set(x_39, 3, x_37);
|
||||
lean_ctor_set(x_39, 4, x_38);
|
||||
lean_ctor_set_uint8(x_39, sizeof(void*)*5, x_12);
|
||||
if (lean_is_scalar(x_36)) {
|
||||
x_40 = lean_alloc_ctor(0, 2, 0);
|
||||
x_39 = lean_ctor_get(x_35, 1);
|
||||
lean_inc(x_39);
|
||||
lean_dec(x_35);
|
||||
x_40 = lean_alloc_ctor(0, 5, 2);
|
||||
lean_ctor_set(x_40, 0, x_7);
|
||||
lean_ctor_set(x_40, 1, x_8);
|
||||
lean_ctor_set(x_40, 2, x_9);
|
||||
lean_ctor_set(x_40, 3, x_38);
|
||||
lean_ctor_set(x_40, 4, x_39);
|
||||
lean_ctor_set_uint8(x_40, sizeof(void*)*5, x_12);
|
||||
lean_ctor_set_uint8(x_40, sizeof(void*)*5 + 1, x_13);
|
||||
if (lean_is_scalar(x_37)) {
|
||||
x_41 = lean_alloc_ctor(0, 2, 0);
|
||||
} else {
|
||||
x_40 = x_36;
|
||||
x_41 = x_37;
|
||||
}
|
||||
lean_ctor_set(x_40, 0, x_39);
|
||||
lean_ctor_set(x_40, 1, x_35);
|
||||
return x_40;
|
||||
lean_ctor_set(x_41, 0, x_40);
|
||||
lean_ctor_set(x_41, 1, x_36);
|
||||
return x_41;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_41;
|
||||
uint8_t x_42;
|
||||
lean_dec(x_9);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_1);
|
||||
x_41 = !lean_is_exclusive(x_13);
|
||||
if (x_41 == 0)
|
||||
x_42 = !lean_is_exclusive(x_14);
|
||||
if (x_42 == 0)
|
||||
{
|
||||
return x_13;
|
||||
return x_14;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_42; lean_object* x_43; lean_object* x_44;
|
||||
x_42 = lean_ctor_get(x_13, 0);
|
||||
x_43 = lean_ctor_get(x_13, 1);
|
||||
lean_object* x_43; lean_object* x_44; lean_object* x_45;
|
||||
x_43 = lean_ctor_get(x_14, 0);
|
||||
x_44 = lean_ctor_get(x_14, 1);
|
||||
lean_inc(x_44);
|
||||
lean_inc(x_43);
|
||||
lean_inc(x_42);
|
||||
lean_dec(x_13);
|
||||
x_44 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_44, 0, x_42);
|
||||
lean_ctor_set(x_44, 1, x_43);
|
||||
return x_44;
|
||||
lean_dec(x_14);
|
||||
x_45 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_45, 0, x_43);
|
||||
lean_ctor_set(x_45, 1, x_44);
|
||||
return x_45;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
112
stage0/stdlib/Lean/Compiler/LCNF/CSE.c
generated
112
stage0/stdlib/Lean/Compiler/LCNF/CSE.c
generated
|
|
@ -25,6 +25,7 @@ lean_object* l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_upda
|
|||
LEAN_EXPORT lean_object* l_StateRefT_x27_get___at_Lean_Compiler_LCNF_CSE_instMonadFVarSubstMFalse___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Compiler_LCNF_CSE_State_map___default___closed__3;
|
||||
uint8_t lean_usize_dec_eq(size_t, size_t);
|
||||
static lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_CSE___hyg_994____closed__2;
|
||||
LEAN_EXPORT lean_object* l_ReaderT_bind___at_Lean_Compiler_LCNF_CSE_instMonadFVarSubstMFalse___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_CSE_withNewScope(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_CSE_instMonadFVarSubstStateM___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -41,8 +42,8 @@ lean_object* l_Lean_Name_mkStr2(lean_object*, lean_object*);
|
|||
lean_object* lean_array_push(lean_object*, lean_object*);
|
||||
lean_object* lean_array_get_size(lean_object*);
|
||||
static lean_object* l_Lean_Compiler_LCNF_cse___closed__4;
|
||||
static lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_CSE___hyg_993____closed__1;
|
||||
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_find_x3f___at_Lean_Compiler_LCNF_Code_cse_go___spec__2(lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_CSE___hyg_994____closed__1;
|
||||
static lean_object* l_Lean_Compiler_LCNF_cse___closed__2;
|
||||
size_t lean_usize_shift_right(size_t, size_t);
|
||||
lean_object* l_Lean_Compiler_LCNF_eraseLetDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -108,7 +109,7 @@ LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_CSE_instMonadFVarSubstStateM(lean_
|
|||
uint8_t lean_usize_dec_le(size_t, size_t);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_CSE_instMonadFVarSubstMFalse___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_CSE_replaceFun(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_CSE___hyg_993_(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_CSE___hyg_994_(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_CSE_getSubst___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_CSE_addEntry___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux_traverse___at_Lean_Compiler_LCNF_CSE_addEntry___spec__3(size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -122,7 +123,6 @@ lean_object* l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_norm
|
|||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_CSE_State_subst___default;
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Code_cse_go___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* lean_usize_to_nat(size_t);
|
||||
static lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_CSE___hyg_993____closed__2;
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_CSE_withNewScope___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_findAtAux___at_Lean_Compiler_LCNF_Code_cse_go___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_normExprs___at_Lean_Compiler_LCNF_Code_cse_go___spec__5(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -5136,78 +5136,80 @@ return x_22;
|
|||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; uint8_t x_28; lean_object* x_29;
|
||||
lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; uint8_t x_28; uint8_t x_29; lean_object* x_30;
|
||||
x_23 = lean_ctor_get(x_1, 0);
|
||||
x_24 = lean_ctor_get(x_1, 1);
|
||||
x_25 = lean_ctor_get(x_1, 2);
|
||||
x_26 = lean_ctor_get(x_1, 3);
|
||||
x_27 = lean_ctor_get(x_1, 4);
|
||||
x_28 = lean_ctor_get_uint8(x_1, sizeof(void*)*5);
|
||||
x_29 = lean_ctor_get_uint8(x_1, sizeof(void*)*5 + 1);
|
||||
lean_inc(x_27);
|
||||
lean_inc(x_26);
|
||||
lean_inc(x_25);
|
||||
lean_inc(x_24);
|
||||
lean_inc(x_23);
|
||||
lean_dec(x_1);
|
||||
x_29 = l_Lean_Compiler_LCNF_Code_cse(x_27, x_2, x_3, x_4, x_5, x_6);
|
||||
if (lean_obj_tag(x_29) == 0)
|
||||
x_30 = l_Lean_Compiler_LCNF_Code_cse(x_27, x_2, x_3, x_4, x_5, x_6);
|
||||
if (lean_obj_tag(x_30) == 0)
|
||||
{
|
||||
lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34;
|
||||
x_30 = lean_ctor_get(x_29, 0);
|
||||
lean_inc(x_30);
|
||||
x_31 = lean_ctor_get(x_29, 1);
|
||||
lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35;
|
||||
x_31 = lean_ctor_get(x_30, 0);
|
||||
lean_inc(x_31);
|
||||
if (lean_is_exclusive(x_29)) {
|
||||
lean_ctor_release(x_29, 0);
|
||||
lean_ctor_release(x_29, 1);
|
||||
x_32 = x_29;
|
||||
x_32 = lean_ctor_get(x_30, 1);
|
||||
lean_inc(x_32);
|
||||
if (lean_is_exclusive(x_30)) {
|
||||
lean_ctor_release(x_30, 0);
|
||||
lean_ctor_release(x_30, 1);
|
||||
x_33 = x_30;
|
||||
} else {
|
||||
lean_dec_ref(x_29);
|
||||
x_32 = lean_box(0);
|
||||
lean_dec_ref(x_30);
|
||||
x_33 = lean_box(0);
|
||||
}
|
||||
x_33 = lean_alloc_ctor(0, 5, 1);
|
||||
lean_ctor_set(x_33, 0, x_23);
|
||||
lean_ctor_set(x_33, 1, x_24);
|
||||
lean_ctor_set(x_33, 2, x_25);
|
||||
lean_ctor_set(x_33, 3, x_26);
|
||||
lean_ctor_set(x_33, 4, x_30);
|
||||
lean_ctor_set_uint8(x_33, sizeof(void*)*5, x_28);
|
||||
if (lean_is_scalar(x_32)) {
|
||||
x_34 = lean_alloc_ctor(0, 2, 0);
|
||||
x_34 = lean_alloc_ctor(0, 5, 2);
|
||||
lean_ctor_set(x_34, 0, x_23);
|
||||
lean_ctor_set(x_34, 1, x_24);
|
||||
lean_ctor_set(x_34, 2, x_25);
|
||||
lean_ctor_set(x_34, 3, x_26);
|
||||
lean_ctor_set(x_34, 4, x_31);
|
||||
lean_ctor_set_uint8(x_34, sizeof(void*)*5, x_28);
|
||||
lean_ctor_set_uint8(x_34, sizeof(void*)*5 + 1, x_29);
|
||||
if (lean_is_scalar(x_33)) {
|
||||
x_35 = lean_alloc_ctor(0, 2, 0);
|
||||
} else {
|
||||
x_34 = x_32;
|
||||
x_35 = x_33;
|
||||
}
|
||||
lean_ctor_set(x_34, 0, x_33);
|
||||
lean_ctor_set(x_34, 1, x_31);
|
||||
return x_34;
|
||||
lean_ctor_set(x_35, 0, x_34);
|
||||
lean_ctor_set(x_35, 1, x_32);
|
||||
return x_35;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38;
|
||||
lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39;
|
||||
lean_dec(x_26);
|
||||
lean_dec(x_25);
|
||||
lean_dec(x_24);
|
||||
lean_dec(x_23);
|
||||
x_35 = lean_ctor_get(x_29, 0);
|
||||
lean_inc(x_35);
|
||||
x_36 = lean_ctor_get(x_29, 1);
|
||||
x_36 = lean_ctor_get(x_30, 0);
|
||||
lean_inc(x_36);
|
||||
if (lean_is_exclusive(x_29)) {
|
||||
lean_ctor_release(x_29, 0);
|
||||
lean_ctor_release(x_29, 1);
|
||||
x_37 = x_29;
|
||||
x_37 = lean_ctor_get(x_30, 1);
|
||||
lean_inc(x_37);
|
||||
if (lean_is_exclusive(x_30)) {
|
||||
lean_ctor_release(x_30, 0);
|
||||
lean_ctor_release(x_30, 1);
|
||||
x_38 = x_30;
|
||||
} else {
|
||||
lean_dec_ref(x_29);
|
||||
x_37 = lean_box(0);
|
||||
lean_dec_ref(x_30);
|
||||
x_38 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_37)) {
|
||||
x_38 = lean_alloc_ctor(1, 2, 0);
|
||||
if (lean_is_scalar(x_38)) {
|
||||
x_39 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_38 = x_37;
|
||||
x_39 = x_38;
|
||||
}
|
||||
lean_ctor_set(x_38, 0, x_35);
|
||||
lean_ctor_set(x_38, 1, x_36);
|
||||
return x_38;
|
||||
lean_ctor_set(x_39, 0, x_36);
|
||||
lean_ctor_set(x_39, 1, x_37);
|
||||
return x_39;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -5258,7 +5260,7 @@ x_1 = l_Lean_Compiler_LCNF_cse___closed__4;
|
|||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_CSE___hyg_993____closed__1() {
|
||||
static lean_object* _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_CSE___hyg_994____closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
|
|
@ -5266,21 +5268,21 @@ x_1 = lean_mk_string_from_bytes("Compiler", 8);
|
|||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_CSE___hyg_993____closed__2() {
|
||||
static lean_object* _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_CSE___hyg_994____closed__2() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_CSE___hyg_993____closed__1;
|
||||
x_1 = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_CSE___hyg_994____closed__1;
|
||||
x_2 = l_Lean_Compiler_LCNF_cse___closed__1;
|
||||
x_3 = l_Lean_Name_mkStr2(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_CSE___hyg_993_(lean_object* x_1) {
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_CSE___hyg_994_(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; uint8_t x_3; lean_object* x_4;
|
||||
x_2 = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_CSE___hyg_993____closed__2;
|
||||
x_2 = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_CSE___hyg_994____closed__2;
|
||||
x_3 = 1;
|
||||
x_4 = l_Lean_registerTraceClass(x_2, x_3, x_1);
|
||||
return x_4;
|
||||
|
|
@ -5345,11 +5347,11 @@ l_Lean_Compiler_LCNF_cse___closed__4 = _init_l_Lean_Compiler_LCNF_cse___closed__
|
|||
lean_mark_persistent(l_Lean_Compiler_LCNF_cse___closed__4);
|
||||
l_Lean_Compiler_LCNF_cse = _init_l_Lean_Compiler_LCNF_cse();
|
||||
lean_mark_persistent(l_Lean_Compiler_LCNF_cse);
|
||||
l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_CSE___hyg_993____closed__1 = _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_CSE___hyg_993____closed__1();
|
||||
lean_mark_persistent(l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_CSE___hyg_993____closed__1);
|
||||
l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_CSE___hyg_993____closed__2 = _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_CSE___hyg_993____closed__2();
|
||||
lean_mark_persistent(l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_CSE___hyg_993____closed__2);
|
||||
res = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_CSE___hyg_993_(lean_io_mk_world());
|
||||
l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_CSE___hyg_994____closed__1 = _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_CSE___hyg_994____closed__1();
|
||||
lean_mark_persistent(l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_CSE___hyg_994____closed__1);
|
||||
l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_CSE___hyg_994____closed__2 = _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_CSE___hyg_994____closed__2();
|
||||
lean_mark_persistent(l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_CSE___hyg_994____closed__2);
|
||||
res = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_CSE___hyg_994_(lean_io_mk_world());
|
||||
if (lean_io_result_is_error(res)) return res;
|
||||
lean_dec_ref(res);
|
||||
return lean_io_result_mk_ok(lean_box(0));
|
||||
|
|
|
|||
82
stage0/stdlib/Lean/Compiler/LCNF/CompilerM.c
generated
82
stage0/stdlib/Lean/Compiler/LCNF/CompilerM.c
generated
|
|
@ -6601,65 +6601,67 @@ return x_28;
|
|||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; uint8_t x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; uint8_t x_38; lean_object* x_39; lean_object* x_40; size_t x_41; size_t x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51;
|
||||
lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; uint8_t x_34; uint8_t x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; uint8_t x_39; lean_object* x_40; lean_object* x_41; size_t x_42; size_t x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52;
|
||||
x_29 = lean_ctor_get(x_1, 0);
|
||||
x_30 = lean_ctor_get(x_1, 1);
|
||||
x_31 = lean_ctor_get(x_1, 2);
|
||||
x_32 = lean_ctor_get(x_1, 3);
|
||||
x_33 = lean_ctor_get(x_1, 4);
|
||||
x_34 = lean_ctor_get_uint8(x_1, sizeof(void*)*5);
|
||||
x_35 = lean_ctor_get_uint8(x_1, sizeof(void*)*5 + 1);
|
||||
lean_inc(x_33);
|
||||
lean_inc(x_32);
|
||||
lean_inc(x_31);
|
||||
lean_inc(x_30);
|
||||
lean_inc(x_29);
|
||||
lean_dec(x_1);
|
||||
x_35 = lean_st_ref_get(x_2, x_7);
|
||||
x_36 = lean_ctor_get(x_35, 0);
|
||||
lean_inc(x_36);
|
||||
x_37 = lean_ctor_get(x_35, 1);
|
||||
x_36 = lean_st_ref_get(x_2, x_7);
|
||||
x_37 = lean_ctor_get(x_36, 0);
|
||||
lean_inc(x_37);
|
||||
lean_dec(x_35);
|
||||
x_38 = 1;
|
||||
x_39 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normExprImp_go(x_36, x_38, x_31);
|
||||
x_40 = lean_array_get_size(x_32);
|
||||
x_41 = lean_usize_of_nat(x_40);
|
||||
lean_dec(x_40);
|
||||
x_42 = 0;
|
||||
x_43 = l_Array_mapMUnsafe_map___at_Lean_Compiler_LCNF_Internalize_internalizeFunDecl___spec__1(x_41, x_42, x_32, x_2, x_3, x_4, x_5, x_6, x_37);
|
||||
x_44 = lean_ctor_get(x_43, 0);
|
||||
lean_inc(x_44);
|
||||
x_45 = lean_ctor_get(x_43, 1);
|
||||
x_38 = lean_ctor_get(x_36, 1);
|
||||
lean_inc(x_38);
|
||||
lean_dec(x_36);
|
||||
x_39 = 1;
|
||||
x_40 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normExprImp_go(x_37, x_39, x_31);
|
||||
x_41 = lean_array_get_size(x_32);
|
||||
x_42 = lean_usize_of_nat(x_41);
|
||||
lean_dec(x_41);
|
||||
x_43 = 0;
|
||||
x_44 = l_Array_mapMUnsafe_map___at_Lean_Compiler_LCNF_Internalize_internalizeFunDecl___spec__1(x_42, x_43, x_32, x_2, x_3, x_4, x_5, x_6, x_38);
|
||||
x_45 = lean_ctor_get(x_44, 0);
|
||||
lean_inc(x_45);
|
||||
lean_dec(x_43);
|
||||
x_46 = l_Lean_Compiler_LCNF_Internalize_internalizeCode(x_33, x_2, x_3, x_4, x_5, x_6, x_45);
|
||||
x_47 = lean_ctor_get(x_46, 0);
|
||||
lean_inc(x_47);
|
||||
x_48 = lean_ctor_get(x_46, 1);
|
||||
x_46 = lean_ctor_get(x_44, 1);
|
||||
lean_inc(x_46);
|
||||
lean_dec(x_44);
|
||||
x_47 = l_Lean_Compiler_LCNF_Internalize_internalizeCode(x_33, x_2, x_3, x_4, x_5, x_6, x_46);
|
||||
x_48 = lean_ctor_get(x_47, 0);
|
||||
lean_inc(x_48);
|
||||
if (lean_is_exclusive(x_46)) {
|
||||
lean_ctor_release(x_46, 0);
|
||||
lean_ctor_release(x_46, 1);
|
||||
x_49 = x_46;
|
||||
x_49 = lean_ctor_get(x_47, 1);
|
||||
lean_inc(x_49);
|
||||
if (lean_is_exclusive(x_47)) {
|
||||
lean_ctor_release(x_47, 0);
|
||||
lean_ctor_release(x_47, 1);
|
||||
x_50 = x_47;
|
||||
} else {
|
||||
lean_dec_ref(x_46);
|
||||
x_49 = lean_box(0);
|
||||
lean_dec_ref(x_47);
|
||||
x_50 = lean_box(0);
|
||||
}
|
||||
x_50 = lean_alloc_ctor(0, 5, 1);
|
||||
lean_ctor_set(x_50, 0, x_29);
|
||||
lean_ctor_set(x_50, 1, x_30);
|
||||
lean_ctor_set(x_50, 2, x_39);
|
||||
lean_ctor_set(x_50, 3, x_44);
|
||||
lean_ctor_set(x_50, 4, x_47);
|
||||
lean_ctor_set_uint8(x_50, sizeof(void*)*5, x_34);
|
||||
if (lean_is_scalar(x_49)) {
|
||||
x_51 = lean_alloc_ctor(0, 2, 0);
|
||||
x_51 = lean_alloc_ctor(0, 5, 2);
|
||||
lean_ctor_set(x_51, 0, x_29);
|
||||
lean_ctor_set(x_51, 1, x_30);
|
||||
lean_ctor_set(x_51, 2, x_40);
|
||||
lean_ctor_set(x_51, 3, x_45);
|
||||
lean_ctor_set(x_51, 4, x_48);
|
||||
lean_ctor_set_uint8(x_51, sizeof(void*)*5, x_34);
|
||||
lean_ctor_set_uint8(x_51, sizeof(void*)*5 + 1, x_35);
|
||||
if (lean_is_scalar(x_50)) {
|
||||
x_52 = lean_alloc_ctor(0, 2, 0);
|
||||
} else {
|
||||
x_51 = x_49;
|
||||
x_52 = x_50;
|
||||
}
|
||||
lean_ctor_set(x_51, 0, x_50);
|
||||
lean_ctor_set(x_51, 1, x_48);
|
||||
return x_51;
|
||||
lean_ctor_set(x_52, 0, x_51);
|
||||
lean_ctor_set(x_52, 1, x_49);
|
||||
return x_52;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
86
stage0/stdlib/Lean/Compiler/LCNF/ElimDead.c
generated
86
stage0/stdlib/Lean/Compiler/LCNF/ElimDead.c
generated
|
|
@ -2397,78 +2397,80 @@ return x_22;
|
|||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; uint8_t x_28; lean_object* x_29;
|
||||
lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; uint8_t x_28; uint8_t x_29; lean_object* x_30;
|
||||
x_23 = lean_ctor_get(x_1, 0);
|
||||
x_24 = lean_ctor_get(x_1, 1);
|
||||
x_25 = lean_ctor_get(x_1, 2);
|
||||
x_26 = lean_ctor_get(x_1, 3);
|
||||
x_27 = lean_ctor_get(x_1, 4);
|
||||
x_28 = lean_ctor_get_uint8(x_1, sizeof(void*)*5);
|
||||
x_29 = lean_ctor_get_uint8(x_1, sizeof(void*)*5 + 1);
|
||||
lean_inc(x_27);
|
||||
lean_inc(x_26);
|
||||
lean_inc(x_25);
|
||||
lean_inc(x_24);
|
||||
lean_inc(x_23);
|
||||
lean_dec(x_1);
|
||||
x_29 = l_Lean_Compiler_LCNF_Code_elimDead(x_27, x_2, x_3, x_4, x_5, x_6);
|
||||
if (lean_obj_tag(x_29) == 0)
|
||||
x_30 = l_Lean_Compiler_LCNF_Code_elimDead(x_27, x_2, x_3, x_4, x_5, x_6);
|
||||
if (lean_obj_tag(x_30) == 0)
|
||||
{
|
||||
lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34;
|
||||
x_30 = lean_ctor_get(x_29, 0);
|
||||
lean_inc(x_30);
|
||||
x_31 = lean_ctor_get(x_29, 1);
|
||||
lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35;
|
||||
x_31 = lean_ctor_get(x_30, 0);
|
||||
lean_inc(x_31);
|
||||
if (lean_is_exclusive(x_29)) {
|
||||
lean_ctor_release(x_29, 0);
|
||||
lean_ctor_release(x_29, 1);
|
||||
x_32 = x_29;
|
||||
x_32 = lean_ctor_get(x_30, 1);
|
||||
lean_inc(x_32);
|
||||
if (lean_is_exclusive(x_30)) {
|
||||
lean_ctor_release(x_30, 0);
|
||||
lean_ctor_release(x_30, 1);
|
||||
x_33 = x_30;
|
||||
} else {
|
||||
lean_dec_ref(x_29);
|
||||
x_32 = lean_box(0);
|
||||
lean_dec_ref(x_30);
|
||||
x_33 = lean_box(0);
|
||||
}
|
||||
x_33 = lean_alloc_ctor(0, 5, 1);
|
||||
lean_ctor_set(x_33, 0, x_23);
|
||||
lean_ctor_set(x_33, 1, x_24);
|
||||
lean_ctor_set(x_33, 2, x_25);
|
||||
lean_ctor_set(x_33, 3, x_26);
|
||||
lean_ctor_set(x_33, 4, x_30);
|
||||
lean_ctor_set_uint8(x_33, sizeof(void*)*5, x_28);
|
||||
if (lean_is_scalar(x_32)) {
|
||||
x_34 = lean_alloc_ctor(0, 2, 0);
|
||||
x_34 = lean_alloc_ctor(0, 5, 2);
|
||||
lean_ctor_set(x_34, 0, x_23);
|
||||
lean_ctor_set(x_34, 1, x_24);
|
||||
lean_ctor_set(x_34, 2, x_25);
|
||||
lean_ctor_set(x_34, 3, x_26);
|
||||
lean_ctor_set(x_34, 4, x_31);
|
||||
lean_ctor_set_uint8(x_34, sizeof(void*)*5, x_28);
|
||||
lean_ctor_set_uint8(x_34, sizeof(void*)*5 + 1, x_29);
|
||||
if (lean_is_scalar(x_33)) {
|
||||
x_35 = lean_alloc_ctor(0, 2, 0);
|
||||
} else {
|
||||
x_34 = x_32;
|
||||
x_35 = x_33;
|
||||
}
|
||||
lean_ctor_set(x_34, 0, x_33);
|
||||
lean_ctor_set(x_34, 1, x_31);
|
||||
return x_34;
|
||||
lean_ctor_set(x_35, 0, x_34);
|
||||
lean_ctor_set(x_35, 1, x_32);
|
||||
return x_35;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38;
|
||||
lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39;
|
||||
lean_dec(x_26);
|
||||
lean_dec(x_25);
|
||||
lean_dec(x_24);
|
||||
lean_dec(x_23);
|
||||
x_35 = lean_ctor_get(x_29, 0);
|
||||
lean_inc(x_35);
|
||||
x_36 = lean_ctor_get(x_29, 1);
|
||||
x_36 = lean_ctor_get(x_30, 0);
|
||||
lean_inc(x_36);
|
||||
if (lean_is_exclusive(x_29)) {
|
||||
lean_ctor_release(x_29, 0);
|
||||
lean_ctor_release(x_29, 1);
|
||||
x_37 = x_29;
|
||||
x_37 = lean_ctor_get(x_30, 1);
|
||||
lean_inc(x_37);
|
||||
if (lean_is_exclusive(x_30)) {
|
||||
lean_ctor_release(x_30, 0);
|
||||
lean_ctor_release(x_30, 1);
|
||||
x_38 = x_30;
|
||||
} else {
|
||||
lean_dec_ref(x_29);
|
||||
x_37 = lean_box(0);
|
||||
lean_dec_ref(x_30);
|
||||
x_38 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_37)) {
|
||||
x_38 = lean_alloc_ctor(1, 2, 0);
|
||||
if (lean_is_scalar(x_38)) {
|
||||
x_39 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_38 = x_37;
|
||||
x_39 = x_38;
|
||||
}
|
||||
lean_ctor_set(x_38, 0, x_35);
|
||||
lean_ctor_set(x_38, 1, x_36);
|
||||
return x_38;
|
||||
lean_ctor_set(x_39, 0, x_36);
|
||||
lean_ctor_set(x_39, 1, x_37);
|
||||
return x_39;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
152
stage0/stdlib/Lean/Compiler/LCNF/JoinPoints.c
generated
152
stage0/stdlib/Lean/Compiler/LCNF/JoinPoints.c
generated
|
|
@ -135,7 +135,7 @@ LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compi
|
|||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointFinder_FindState_scope___default;
|
||||
uint8_t lean_nat_dec_le(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Compiler_LCNF_AltCore_getCode(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_JoinPoints___hyg_2048_(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_JoinPoints___hyg_2049_(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_mkHashSet___at_Lean_Compiler_LCNF_JoinPointFinder_instInhabitedCandidateInfo___spec__1(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_HashMapImp_moveEntries___at_Lean_Compiler_LCNF_JoinPointFinder_replace___spec__3(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_instInhabitedReaderT___rarg___boxed(lean_object*, lean_object*);
|
||||
|
|
@ -7680,49 +7680,49 @@ return x_18;
|
|||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointFinder_replace(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_46; lean_object* x_47; uint8_t x_48;
|
||||
lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_47; lean_object* x_48; uint8_t x_49;
|
||||
x_8 = lean_unsigned_to_nat(0u);
|
||||
x_9 = l_Lean_mkHashMapImp___rarg(x_8);
|
||||
x_10 = lean_ctor_get(x_2, 0);
|
||||
x_46 = lean_ctor_get(x_10, 1);
|
||||
x_47 = lean_array_get_size(x_46);
|
||||
x_48 = lean_nat_dec_lt(x_8, x_47);
|
||||
if (x_48 == 0)
|
||||
{
|
||||
lean_dec(x_47);
|
||||
x_11 = x_9;
|
||||
x_12 = x_7;
|
||||
goto block_45;
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_49;
|
||||
x_49 = lean_nat_dec_le(x_47, x_47);
|
||||
x_47 = lean_ctor_get(x_10, 1);
|
||||
x_48 = lean_array_get_size(x_47);
|
||||
x_49 = lean_nat_dec_lt(x_8, x_48);
|
||||
if (x_49 == 0)
|
||||
{
|
||||
lean_dec(x_47);
|
||||
lean_dec(x_48);
|
||||
x_11 = x_9;
|
||||
x_12 = x_7;
|
||||
goto block_45;
|
||||
goto block_46;
|
||||
}
|
||||
else
|
||||
{
|
||||
size_t x_50; size_t x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54;
|
||||
x_50 = 0;
|
||||
x_51 = lean_usize_of_nat(x_47);
|
||||
lean_dec(x_47);
|
||||
x_52 = l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_JoinPointFinder_replace___spec__8(x_46, x_50, x_51, x_9, x_3, x_4, x_5, x_6, x_7);
|
||||
x_53 = lean_ctor_get(x_52, 0);
|
||||
lean_inc(x_53);
|
||||
x_54 = lean_ctor_get(x_52, 1);
|
||||
uint8_t x_50;
|
||||
x_50 = lean_nat_dec_le(x_48, x_48);
|
||||
if (x_50 == 0)
|
||||
{
|
||||
lean_dec(x_48);
|
||||
x_11 = x_9;
|
||||
x_12 = x_7;
|
||||
goto block_46;
|
||||
}
|
||||
else
|
||||
{
|
||||
size_t x_51; size_t x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55;
|
||||
x_51 = 0;
|
||||
x_52 = lean_usize_of_nat(x_48);
|
||||
lean_dec(x_48);
|
||||
x_53 = l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_JoinPointFinder_replace___spec__8(x_47, x_51, x_52, x_9, x_3, x_4, x_5, x_6, x_7);
|
||||
x_54 = lean_ctor_get(x_53, 0);
|
||||
lean_inc(x_54);
|
||||
lean_dec(x_52);
|
||||
x_11 = x_53;
|
||||
x_12 = x_54;
|
||||
goto block_45;
|
||||
x_55 = lean_ctor_get(x_53, 1);
|
||||
lean_inc(x_55);
|
||||
lean_dec(x_53);
|
||||
x_11 = x_54;
|
||||
x_12 = x_55;
|
||||
goto block_46;
|
||||
}
|
||||
}
|
||||
block_45:
|
||||
block_46:
|
||||
{
|
||||
uint8_t x_13;
|
||||
x_13 = !lean_is_exclusive(x_1);
|
||||
|
|
@ -7792,78 +7792,80 @@ return x_28;
|
|||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; uint8_t x_34; lean_object* x_35;
|
||||
lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; uint8_t x_34; uint8_t x_35; lean_object* x_36;
|
||||
x_29 = lean_ctor_get(x_1, 0);
|
||||
x_30 = lean_ctor_get(x_1, 1);
|
||||
x_31 = lean_ctor_get(x_1, 2);
|
||||
x_32 = lean_ctor_get(x_1, 3);
|
||||
x_33 = lean_ctor_get(x_1, 4);
|
||||
x_34 = lean_ctor_get_uint8(x_1, sizeof(void*)*5);
|
||||
x_35 = lean_ctor_get_uint8(x_1, sizeof(void*)*5 + 1);
|
||||
lean_inc(x_33);
|
||||
lean_inc(x_32);
|
||||
lean_inc(x_31);
|
||||
lean_inc(x_30);
|
||||
lean_inc(x_29);
|
||||
lean_dec(x_1);
|
||||
x_35 = l_Lean_Compiler_LCNF_JoinPointFinder_replace_go(x_33, x_11, x_3, x_4, x_5, x_6, x_12);
|
||||
if (lean_obj_tag(x_35) == 0)
|
||||
x_36 = l_Lean_Compiler_LCNF_JoinPointFinder_replace_go(x_33, x_11, x_3, x_4, x_5, x_6, x_12);
|
||||
if (lean_obj_tag(x_36) == 0)
|
||||
{
|
||||
lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40;
|
||||
x_36 = lean_ctor_get(x_35, 0);
|
||||
lean_inc(x_36);
|
||||
x_37 = lean_ctor_get(x_35, 1);
|
||||
lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41;
|
||||
x_37 = lean_ctor_get(x_36, 0);
|
||||
lean_inc(x_37);
|
||||
if (lean_is_exclusive(x_35)) {
|
||||
lean_ctor_release(x_35, 0);
|
||||
lean_ctor_release(x_35, 1);
|
||||
x_38 = x_35;
|
||||
x_38 = lean_ctor_get(x_36, 1);
|
||||
lean_inc(x_38);
|
||||
if (lean_is_exclusive(x_36)) {
|
||||
lean_ctor_release(x_36, 0);
|
||||
lean_ctor_release(x_36, 1);
|
||||
x_39 = x_36;
|
||||
} else {
|
||||
lean_dec_ref(x_35);
|
||||
x_38 = lean_box(0);
|
||||
lean_dec_ref(x_36);
|
||||
x_39 = lean_box(0);
|
||||
}
|
||||
x_39 = lean_alloc_ctor(0, 5, 1);
|
||||
lean_ctor_set(x_39, 0, x_29);
|
||||
lean_ctor_set(x_39, 1, x_30);
|
||||
lean_ctor_set(x_39, 2, x_31);
|
||||
lean_ctor_set(x_39, 3, x_32);
|
||||
lean_ctor_set(x_39, 4, x_36);
|
||||
lean_ctor_set_uint8(x_39, sizeof(void*)*5, x_34);
|
||||
if (lean_is_scalar(x_38)) {
|
||||
x_40 = lean_alloc_ctor(0, 2, 0);
|
||||
x_40 = lean_alloc_ctor(0, 5, 2);
|
||||
lean_ctor_set(x_40, 0, x_29);
|
||||
lean_ctor_set(x_40, 1, x_30);
|
||||
lean_ctor_set(x_40, 2, x_31);
|
||||
lean_ctor_set(x_40, 3, x_32);
|
||||
lean_ctor_set(x_40, 4, x_37);
|
||||
lean_ctor_set_uint8(x_40, sizeof(void*)*5, x_34);
|
||||
lean_ctor_set_uint8(x_40, sizeof(void*)*5 + 1, x_35);
|
||||
if (lean_is_scalar(x_39)) {
|
||||
x_41 = lean_alloc_ctor(0, 2, 0);
|
||||
} else {
|
||||
x_40 = x_38;
|
||||
x_41 = x_39;
|
||||
}
|
||||
lean_ctor_set(x_40, 0, x_39);
|
||||
lean_ctor_set(x_40, 1, x_37);
|
||||
return x_40;
|
||||
lean_ctor_set(x_41, 0, x_40);
|
||||
lean_ctor_set(x_41, 1, x_38);
|
||||
return x_41;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44;
|
||||
lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45;
|
||||
lean_dec(x_32);
|
||||
lean_dec(x_31);
|
||||
lean_dec(x_30);
|
||||
lean_dec(x_29);
|
||||
x_41 = lean_ctor_get(x_35, 0);
|
||||
lean_inc(x_41);
|
||||
x_42 = lean_ctor_get(x_35, 1);
|
||||
x_42 = lean_ctor_get(x_36, 0);
|
||||
lean_inc(x_42);
|
||||
if (lean_is_exclusive(x_35)) {
|
||||
lean_ctor_release(x_35, 0);
|
||||
lean_ctor_release(x_35, 1);
|
||||
x_43 = x_35;
|
||||
x_43 = lean_ctor_get(x_36, 1);
|
||||
lean_inc(x_43);
|
||||
if (lean_is_exclusive(x_36)) {
|
||||
lean_ctor_release(x_36, 0);
|
||||
lean_ctor_release(x_36, 1);
|
||||
x_44 = x_36;
|
||||
} else {
|
||||
lean_dec_ref(x_35);
|
||||
x_43 = lean_box(0);
|
||||
lean_dec_ref(x_36);
|
||||
x_44 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_43)) {
|
||||
x_44 = lean_alloc_ctor(1, 2, 0);
|
||||
if (lean_is_scalar(x_44)) {
|
||||
x_45 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_44 = x_43;
|
||||
x_45 = x_44;
|
||||
}
|
||||
lean_ctor_set(x_44, 0, x_41);
|
||||
lean_ctor_set(x_44, 1, x_42);
|
||||
return x_44;
|
||||
lean_ctor_set(x_45, 0, x_42);
|
||||
lean_ctor_set(x_45, 1, x_43);
|
||||
return x_45;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -8407,7 +8409,7 @@ x_1 = l_Lean_Compiler_LCNF_findJoinPoints___closed__3;
|
|||
return x_1;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_JoinPoints___hyg_2048_(lean_object* x_1) {
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_JoinPoints___hyg_2049_(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; uint8_t x_3; lean_object* x_4;
|
||||
|
|
@ -8504,7 +8506,7 @@ l_Lean_Compiler_LCNF_findJoinPoints___closed__3 = _init_l_Lean_Compiler_LCNF_fin
|
|||
lean_mark_persistent(l_Lean_Compiler_LCNF_findJoinPoints___closed__3);
|
||||
l_Lean_Compiler_LCNF_findJoinPoints = _init_l_Lean_Compiler_LCNF_findJoinPoints();
|
||||
lean_mark_persistent(l_Lean_Compiler_LCNF_findJoinPoints);
|
||||
res = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_JoinPoints___hyg_2048_(lean_io_mk_world());
|
||||
res = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_JoinPoints___hyg_2049_(lean_io_mk_world());
|
||||
if (lean_io_result_is_error(res)) return res;
|
||||
lean_dec_ref(res);
|
||||
return lean_io_result_mk_ok(lean_box(0));
|
||||
|
|
|
|||
36
stage0/stdlib/Lean/Compiler/LCNF/Level.c
generated
36
stage0/stdlib/Lean/Compiler/LCNF/Level.c
generated
|
|
@ -2498,35 +2498,37 @@ return x_1;
|
|||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; uint8_t x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24;
|
||||
lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; uint8_t x_17; uint8_t x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25;
|
||||
x_13 = lean_ctor_get(x_1, 0);
|
||||
x_14 = lean_ctor_get(x_1, 2);
|
||||
x_15 = lean_ctor_get(x_1, 3);
|
||||
x_16 = lean_ctor_get(x_1, 4);
|
||||
x_17 = lean_ctor_get_uint8(x_1, sizeof(void*)*5);
|
||||
x_18 = lean_ctor_get_uint8(x_1, sizeof(void*)*5 + 1);
|
||||
lean_inc(x_16);
|
||||
lean_inc(x_15);
|
||||
lean_inc(x_14);
|
||||
lean_inc(x_13);
|
||||
lean_dec(x_1);
|
||||
x_18 = l_Lean_Compiler_LCNF_Decl_setLevelParams___closed__2;
|
||||
x_19 = l_Lean_Compiler_LCNF_Decl_setLevelParams___closed__2;
|
||||
lean_inc(x_14);
|
||||
x_19 = l_Lean_CollectLevelParams_visitExpr(x_14, x_18);
|
||||
x_20 = l_Lean_Compiler_LCNF_CollectLevelParams_visitParams(x_15, x_19);
|
||||
x_20 = l_Lean_CollectLevelParams_visitExpr(x_14, x_19);
|
||||
x_21 = l_Lean_Compiler_LCNF_CollectLevelParams_visitParams(x_15, x_20);
|
||||
lean_inc(x_16);
|
||||
x_21 = l_Lean_Compiler_LCNF_CollectLevelParams_visitCode(x_16, x_20);
|
||||
x_22 = lean_ctor_get(x_21, 2);
|
||||
lean_inc(x_22);
|
||||
lean_dec(x_21);
|
||||
x_23 = lean_array_to_list(lean_box(0), x_22);
|
||||
x_24 = lean_alloc_ctor(0, 5, 1);
|
||||
lean_ctor_set(x_24, 0, x_13);
|
||||
lean_ctor_set(x_24, 1, x_23);
|
||||
lean_ctor_set(x_24, 2, x_14);
|
||||
lean_ctor_set(x_24, 3, x_15);
|
||||
lean_ctor_set(x_24, 4, x_16);
|
||||
lean_ctor_set_uint8(x_24, sizeof(void*)*5, x_17);
|
||||
return x_24;
|
||||
x_22 = l_Lean_Compiler_LCNF_CollectLevelParams_visitCode(x_16, x_21);
|
||||
x_23 = lean_ctor_get(x_22, 2);
|
||||
lean_inc(x_23);
|
||||
lean_dec(x_22);
|
||||
x_24 = lean_array_to_list(lean_box(0), x_23);
|
||||
x_25 = lean_alloc_ctor(0, 5, 2);
|
||||
lean_ctor_set(x_25, 0, x_13);
|
||||
lean_ctor_set(x_25, 1, x_24);
|
||||
lean_ctor_set(x_25, 2, x_14);
|
||||
lean_ctor_set(x_25, 3, x_15);
|
||||
lean_ctor_set(x_25, 4, x_16);
|
||||
lean_ctor_set_uint8(x_25, sizeof(void*)*5, x_17);
|
||||
lean_ctor_set_uint8(x_25, sizeof(void*)*5 + 1, x_18);
|
||||
return x_25;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
40
stage0/stdlib/Lean/Compiler/LCNF/Passes.c
generated
40
stage0/stdlib/Lean/Compiler/LCNF/Passes.c
generated
|
|
@ -17,6 +17,7 @@ lean_object* l_List_reverse___rarg(lean_object*);
|
|||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Passes___hyg_236____lambda__4(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Passes___hyg_236____lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
size_t lean_usize_add(size_t, size_t);
|
||||
lean_object* l_Lean_registerTraceClass(lean_object*, uint8_t, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_builtinPassManager;
|
||||
static lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Passes___hyg_588____closed__19;
|
||||
lean_object* l_Lean_stringToMessageData(lean_object*);
|
||||
|
|
@ -34,6 +35,7 @@ lean_object* lean_st_ref_get(lean_object*, lean_object*);
|
|||
static lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Passes___hyg_588____closed__7;
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_runImportedDecls___spec__1(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Passes___hyg_236____closed__7;
|
||||
lean_object* l_Lean_Name_mkStr2(lean_object*, lean_object*);
|
||||
lean_object* lean_array_push(lean_object*, lean_object*);
|
||||
lean_object* lean_array_get_size(lean_object*);
|
||||
lean_object* l_Lean_getConstInfo___at___private_Lean_Compiler_InlineAttrs_0__Lean_Compiler_isValidMacroInline___spec__1(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -77,6 +79,7 @@ static lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Passes
|
|||
static lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Passes___hyg_588____closed__2;
|
||||
static lean_object* l_Lean_Compiler_LCNF_builtinPassManager___closed__16;
|
||||
static lean_object* l_Lean_Compiler_LCNF_addPass___closed__9;
|
||||
static lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Passes___hyg_737____closed__1;
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_init;
|
||||
static lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Passes___hyg_588____closed__1;
|
||||
static lean_object* l_Lean_Compiler_LCNF_builtinPassManager___closed__7;
|
||||
|
|
@ -132,6 +135,7 @@ static lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Passes
|
|||
lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Compiler_LCNF_addPass___closed__8;
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Passes___hyg_588____lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Passes___hyg_737_(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Passes___hyg_588_(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Passes___hyg_236_(lean_object*);
|
||||
lean_object* l_List_toArrayAux___rarg(lean_object*, lean_object*);
|
||||
|
|
@ -148,6 +152,7 @@ lean_object* l_EStateM_pure___rarg(lean_object*, lean_object*);
|
|||
static lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Passes___hyg_588____closed__16;
|
||||
static lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Passes___hyg_588____closed__12;
|
||||
static lean_object* l_Lean_Compiler_LCNF_init___closed__4;
|
||||
static lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Passes___hyg_737____closed__2;
|
||||
static lean_object* l_Lean_Compiler_LCNF_builtinPassManager___closed__8;
|
||||
static lean_object* l_Lean_Compiler_LCNF_init___closed__1;
|
||||
static lean_object* l_Lean_Compiler_LCNF_builtinPassManager___closed__4;
|
||||
|
|
@ -2023,6 +2028,34 @@ lean_dec(x_1);
|
|||
return x_5;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Passes___hyg_737____closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string_from_bytes("saveBase", 8);
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Passes___hyg_737____closed__2() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Compiler_LCNF_addPass___closed__6;
|
||||
x_2 = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Passes___hyg_737____closed__1;
|
||||
x_3 = l_Lean_Name_mkStr2(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Passes___hyg_737_(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; uint8_t x_3; lean_object* x_4;
|
||||
x_2 = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Passes___hyg_737____closed__2;
|
||||
x_3 = 1;
|
||||
x_4 = l_Lean_registerTraceClass(x_2, x_3, x_1);
|
||||
return x_4;
|
||||
}
|
||||
}
|
||||
lean_object* initialize_Init(uint8_t builtin, lean_object*);
|
||||
lean_object* initialize_Lean_Compiler_LCNF_PassManager(uint8_t builtin, lean_object*);
|
||||
lean_object* initialize_Lean_Compiler_LCNF_PullLetDecls(uint8_t builtin, lean_object*);
|
||||
|
|
@ -2214,6 +2247,13 @@ lean_mark_persistent(l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Passe
|
|||
res = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Passes___hyg_588_(lean_io_mk_world());
|
||||
if (lean_io_result_is_error(res)) return res;
|
||||
lean_dec_ref(res);
|
||||
l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Passes___hyg_737____closed__1 = _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Passes___hyg_737____closed__1();
|
||||
lean_mark_persistent(l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Passes___hyg_737____closed__1);
|
||||
l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Passes___hyg_737____closed__2 = _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Passes___hyg_737____closed__2();
|
||||
lean_mark_persistent(l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Passes___hyg_737____closed__2);
|
||||
res = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Passes___hyg_737_(lean_io_mk_world());
|
||||
if (lean_io_result_is_error(res)) return res;
|
||||
lean_dec_ref(res);
|
||||
return lean_io_result_mk_ok(lean_box(0));
|
||||
}
|
||||
#ifdef __cplusplus
|
||||
|
|
|
|||
252
stage0/stdlib/Lean/Compiler/LCNF/PhaseExt.c
generated
252
stage0/stdlib/Lean/Compiler/LCNF/PhaseExt.c
generated
|
|
@ -13,9 +13,8 @@
|
|||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____lambda__3___boxed(lean_object*, lean_object*, lean_object*);
|
||||
size_t lean_usize_add(size_t, size_t);
|
||||
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux_traverse___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____spec__3(size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux_traverse___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____spec__3(size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_baseExt;
|
||||
lean_object* l_Lean_stringToMessageData(lean_object*);
|
||||
lean_object* lean_mk_empty_array_with_capacity(lean_object*);
|
||||
|
|
@ -25,7 +24,7 @@ lean_object* l_Lean_PersistentEnvExtension_getModuleEntries___rarg(lean_object*,
|
|||
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_forM___at_Lean_Compiler_LCNF_forEachDecl___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
uint8_t lean_usize_dec_eq(size_t, size_t);
|
||||
lean_object* lean_array_uget(lean_object*, size_t);
|
||||
static lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____closed__5;
|
||||
static lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____closed__5;
|
||||
uint8_t l_Lean_Name_quickLt(lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Compiler_LCNF_normalizeFVarIds___closed__1;
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_getBaseDeclCore_x3f(lean_object*, lean_object*);
|
||||
|
|
@ -34,9 +33,8 @@ static lean_object* l_Lean_Compiler_LCNF_normalizeFVarIds___closed__2;
|
|||
LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Compiler_LCNF_forEachDecl___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
size_t lean_usize_sub(size_t, size_t);
|
||||
LEAN_EXPORT lean_object* l_Array_qsort_sort___at___private_Lean_Compiler_LCNF_PhaseExt_0__Lean_Compiler_LCNF_sortDecls___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____closed__7;
|
||||
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____spec__2(lean_object*, size_t, size_t, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldlM___at_Lean_Compiler_LCNF_forEachDecl___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____spec__2(lean_object*, size_t, size_t, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldlMAux_traverse___at_Lean_Compiler_LCNF_forEachDecl___spec__7___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* lean_st_ref_get(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_binSearchAux___at___private_Lean_Compiler_LCNF_PhaseExt_0__Lean_Compiler_LCNF_findAtSorted_x3f___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -45,9 +43,10 @@ extern lean_object* l_Lean_instHashableName;
|
|||
uint8_t lean_name_eq(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_forM___at_Lean_Compiler_LCNF_forEachDecl___spec__3___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Compiler_LCNF_normalizeFVarIds___closed__4;
|
||||
static lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____closed__7;
|
||||
static lean_object* l_Lean_Compiler_LCNF_forEachModuleDecl___closed__2;
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_getDeclAt_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____closed__3;
|
||||
static lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____closed__3;
|
||||
static lean_object* l_Array_qsort_sort___at___private_Lean_Compiler_LCNF_PhaseExt_0__Lean_Compiler_LCNF_sortDecls___spec__1___closed__1;
|
||||
static lean_object* l_Lean_Compiler_LCNF_forEachModuleDecl___closed__1;
|
||||
lean_object* lean_array_push(lean_object*, lean_object*);
|
||||
|
|
@ -55,6 +54,7 @@ lean_object* lean_array_get_size(lean_object*);
|
|||
lean_object* l_Array_qpartition_loop___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
size_t lean_usize_shift_right(size_t, size_t);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_forEachDecl___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static size_t l_Lean_PersistentHashMap_insertAux___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____spec__2___closed__1;
|
||||
static lean_object* l_Lean_Compiler_LCNF_saveBase___closed__2;
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_forEachDecl___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldlMAux_traverse___at_Lean_Compiler_LCNF_forEachDecl___spec__7(lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -63,43 +63,42 @@ LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_forM___at_Lean_Compiler_LCNF_f
|
|||
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_PhaseExt_0__Lean_Compiler_LCNF_sortDecls(lean_object*);
|
||||
lean_object* lean_nat_add(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Compiler_LCNF_forEachDecl___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldlM___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____spec__5(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldlM___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____spec__5(lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____closed__8;
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_PhaseExt_0__Lean_Compiler_LCNF_declLt___boxed(lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____closed__8;
|
||||
size_t lean_uint64_to_usize(uint64_t);
|
||||
static lean_object* l_Lean_Compiler_LCNF_Decl_saveBase___closed__1;
|
||||
LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_forEachDecl___spec__6(lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Compiler_LCNF_normalizeFVarIds___closed__3;
|
||||
lean_object* l_Lean_PersistentHashMap_getCollisionNodeSize___rarg(lean_object*);
|
||||
uint64_t l_Lean_Name_hash___override(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____lambda__3(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_forEachModuleDecl___spec__1(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* lean_array_fget(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_mkHashMapImp___rarg(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insert___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____spec__1(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insert___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____spec__1(lean_object*, lean_object*, lean_object*);
|
||||
uint8_t lean_nat_dec_eq(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_forEachMainModuleDecl(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_forEachDecl___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* lean_st_ref_take(lean_object*, lean_object*);
|
||||
lean_object* lean_nat_sub(lean_object*, lean_object*);
|
||||
LEAN_EXPORT uint8_t l___private_Lean_Compiler_LCNF_PhaseExt_0__Lean_Compiler_LCNF_declLt(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____lambda__3(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* lean_array_swap(lean_object*, lean_object*, lean_object*);
|
||||
static size_t l_Lean_PersistentHashMap_insertAux___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____spec__2___closed__2;
|
||||
lean_object* lean_array_get(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49_(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50_(lean_object*);
|
||||
lean_object* lean_array_fset(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAtCollisionNodeAux___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____spec__4(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAtCollisionNodeAux___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____spec__4(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____lambda__5___boxed(lean_object*);
|
||||
lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___rarg(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_findAux___at_Lean_Compiler_LCNF_getBaseDeclCore_x3f___spec__2___boxed(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_findAux___at_Lean_Compiler_LCNF_getBaseDeclCore_x3f___spec__2(lean_object*, size_t, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_qsort_sort___at___private_Lean_Compiler_LCNF_PhaseExt_0__Lean_Compiler_LCNF_sortDecls___spec__1(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____closed__1;
|
||||
static lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____closed__4;
|
||||
static lean_object* l_Lean_Compiler_LCNF_forEachModuleDecl___closed__4;
|
||||
static lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____closed__4;
|
||||
size_t lean_usize_shift_left(size_t, size_t);
|
||||
lean_object* l_Lean_Compiler_LCNF_Pass_mkPerDeclaration(lean_object*, lean_object*, uint8_t, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____lambda__5(lean_object*);
|
||||
static lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____closed__1;
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____lambda__5(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_getDecl_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Decl_saveBase(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PersistentHashMap_foldlMAux___at_Lean_mkModuleData___spec__3___rarg(lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -108,24 +107,24 @@ LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldlMAux___at_Lean_Compiler_L
|
|||
size_t lean_usize_mul(size_t, size_t);
|
||||
static lean_object* l_Lean_Compiler_LCNF_getBaseDeclCore_x3f___closed__2;
|
||||
lean_object* l_Lean_Expr_bvar___override(lean_object*);
|
||||
static lean_object* l_Lean_PersistentHashMap_insertAux___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____spec__2___closed__3;
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_saveBase___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_throwError___at_Lean_addDecl___spec__2(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
size_t lean_usize_of_nat(lean_object*);
|
||||
static lean_object* l_Lean_PersistentHashMap_insertAux___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____spec__2___closed__3;
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_forEachDecl(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____lambda__5___boxed(lean_object*);
|
||||
lean_object* l_Lean_PersistentEnvExtension_addEntry___rarg(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_getDecl_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
size_t lean_usize_land(size_t, size_t);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_normalizeFVarIds(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____lambda__1(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____lambda__1(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PersistentHashMap_mkEmptyEntriesArray(lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____closed__2;
|
||||
static lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____closed__2;
|
||||
LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_forEachDecl___spec__6___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l___private_Lean_Compiler_LCNF_PhaseExt_0__Lean_Compiler_LCNF_findAtSorted_x3f___closed__1;
|
||||
LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_forEachDecl___spec__6___rarg(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static size_t l_Lean_PersistentHashMap_insertAux___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____spec__2___closed__2;
|
||||
static lean_object* l_Lean_Compiler_LCNF_getBaseDeclCore_x3f___closed__1;
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____lambda__2(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____lambda__2(lean_object*, lean_object*);
|
||||
static lean_object* l___private_Lean_Compiler_LCNF_PhaseExt_0__Lean_Compiler_LCNF_findAtSorted_x3f___closed__2;
|
||||
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_find_x3f___at_Lean_Compiler_LCNF_getBaseDeclCore_x3f___spec__1(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_forEachModuleDecl___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -133,15 +132,16 @@ LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Decl_saveBase___boxed(lean_object*
|
|||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_forEachDecl___spec__1(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
uint8_t lean_nat_dec_le(lean_object*, lean_object*);
|
||||
uint8_t lean_usize_dec_le(size_t, size_t);
|
||||
static lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____closed__9;
|
||||
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldlMAux_traverse___at_Lean_Compiler_LCNF_forEachDecl___spec__7___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Environment_addExtraName(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_binSearchAux___at___private_Lean_Compiler_LCNF_PhaseExt_0__Lean_Compiler_LCNF_findAtSorted_x3f___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____closed__9;
|
||||
lean_object* l_Lean_Compiler_LCNF_CompilerM_run___rarg(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____lambda__3___boxed(lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____lambda__4___closed__1;
|
||||
static lean_object* l_Lean_Compiler_LCNF_saveBase___closed__1;
|
||||
lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*);
|
||||
uint8_t lean_nat_dec_eq(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____lambda__4(lean_object*);
|
||||
lean_object* l_Lean_Environment_getModuleIdxFor_x3f(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PersistentHashMap_mkEmptyEntries(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_saveBase;
|
||||
|
|
@ -152,13 +152,14 @@ lean_object* l_Lean_Environment_allImportedModuleNames(lean_object*);
|
|||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_saveBaseDeclCore(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_getDeclAt_x3f(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PersistentEnvExtension_getState___rarg(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux_traverse___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_PhaseExt_0__Lean_Compiler_LCNF_findAtSorted_x3f(lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Compiler_LCNF_forEachModuleDecl___closed__3;
|
||||
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_findAtAux___at_Lean_Compiler_LCNF_getBaseDeclCore_x3f___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux_traverse___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Compiler_LCNF_normalizeFVarIds___closed__5;
|
||||
static lean_object* l_Lean_Compiler_LCNF_normalizeFVarIds___closed__6;
|
||||
static lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____closed__6;
|
||||
static lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____closed__6;
|
||||
static lean_object* l___private_Lean_Compiler_LCNF_PhaseExt_0__Lean_Compiler_LCNF_findAtSorted_x3f___closed__3;
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_getBaseDecl_x3f(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Environment_getModuleIdx_x3f(lean_object*, lean_object*);
|
||||
|
|
@ -168,11 +169,10 @@ LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_forEachModuleDecl(lean_object*, le
|
|||
lean_object* l_EStateM_pure___rarg(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Compiler_LCNF_Decl_internalize___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PersistentHashMap_mkCollisionNode___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Compiler_LCNF_saveBase___closed__4;
|
||||
lean_object* l_Lean_PersistentHashMap_instInhabitedPersistentHashMap___rarg(lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____lambda__4___closed__1;
|
||||
static size_t l_Lean_PersistentHashMap_insertAux___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____spec__2___closed__1;
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____lambda__4(lean_object*);
|
||||
uint8_t lean_nat_dec_lt(lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_Name_instBEqName;
|
||||
LEAN_EXPORT uint8_t l___private_Lean_Compiler_LCNF_PhaseExt_0__Lean_Compiler_LCNF_declLt(lean_object* x_1, lean_object* x_2) {
|
||||
|
|
@ -524,13 +524,14 @@ x_4 = l___private_Lean_Compiler_LCNF_PhaseExt_0__Lean_Compiler_LCNF_findAtSorted
|
|||
x_5 = l___private_Lean_Compiler_LCNF_PhaseExt_0__Lean_Compiler_LCNF_findAtSorted_x3f___closed__2;
|
||||
x_6 = l___private_Lean_Compiler_LCNF_PhaseExt_0__Lean_Compiler_LCNF_findAtSorted_x3f___closed__3;
|
||||
x_7 = 0;
|
||||
x_8 = lean_alloc_ctor(0, 5, 1);
|
||||
x_8 = lean_alloc_ctor(0, 5, 2);
|
||||
lean_ctor_set(x_8, 0, x_2);
|
||||
lean_ctor_set(x_8, 1, x_3);
|
||||
lean_ctor_set(x_8, 2, x_4);
|
||||
lean_ctor_set(x_8, 3, x_5);
|
||||
lean_ctor_set(x_8, 4, x_6);
|
||||
lean_ctor_set_uint8(x_8, sizeof(void*)*5, x_7);
|
||||
lean_ctor_set_uint8(x_8, sizeof(void*)*5 + 1, x_7);
|
||||
x_9 = lean_array_get_size(x_1);
|
||||
x_10 = lean_unsigned_to_nat(1u);
|
||||
x_11 = lean_nat_sub(x_9, x_10);
|
||||
|
|
@ -569,7 +570,7 @@ lean_dec(x_2);
|
|||
return x_7;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux_traverse___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____spec__3(size_t x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
|
||||
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux_traverse___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____spec__3(size_t x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_7; uint8_t x_8;
|
||||
|
|
@ -596,7 +597,7 @@ x_17 = lean_usize_shift_right(x_12, x_16);
|
|||
x_18 = lean_unsigned_to_nat(1u);
|
||||
x_19 = lean_nat_add(x_5, x_18);
|
||||
lean_dec(x_5);
|
||||
x_20 = l_Lean_PersistentHashMap_insertAux___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____spec__2(x_6, x_17, x_1, x_9, x_10);
|
||||
x_20 = l_Lean_PersistentHashMap_insertAux___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____spec__2(x_6, x_17, x_1, x_9, x_10);
|
||||
x_4 = lean_box(0);
|
||||
x_5 = x_19;
|
||||
x_6 = x_20;
|
||||
|
|
@ -604,7 +605,7 @@ goto _start;
|
|||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAtCollisionNodeAux___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____spec__4(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
|
||||
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAtCollisionNodeAux___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____spec__4(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_5; lean_object* x_6; lean_object* x_7; uint8_t x_8;
|
||||
|
|
@ -696,7 +697,7 @@ return x_29;
|
|||
}
|
||||
}
|
||||
}
|
||||
static size_t _init_l_Lean_PersistentHashMap_insertAux___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____spec__2___closed__1() {
|
||||
static size_t _init_l_Lean_PersistentHashMap_insertAux___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____spec__2___closed__1() {
|
||||
_start:
|
||||
{
|
||||
size_t x_1; size_t x_2; size_t x_3;
|
||||
|
|
@ -706,17 +707,17 @@ x_3 = lean_usize_shift_left(x_1, x_2);
|
|||
return x_3;
|
||||
}
|
||||
}
|
||||
static size_t _init_l_Lean_PersistentHashMap_insertAux___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____spec__2___closed__2() {
|
||||
static size_t _init_l_Lean_PersistentHashMap_insertAux___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____spec__2___closed__2() {
|
||||
_start:
|
||||
{
|
||||
size_t x_1; size_t x_2; size_t x_3;
|
||||
x_1 = 1;
|
||||
x_2 = l_Lean_PersistentHashMap_insertAux___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____spec__2___closed__1;
|
||||
x_2 = l_Lean_PersistentHashMap_insertAux___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____spec__2___closed__1;
|
||||
x_3 = lean_usize_sub(x_2, x_1);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_PersistentHashMap_insertAux___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____spec__2___closed__3() {
|
||||
static lean_object* _init_l_Lean_PersistentHashMap_insertAux___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____spec__2___closed__3() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
|
|
@ -724,7 +725,7 @@ x_1 = l_Lean_PersistentHashMap_mkEmptyEntries(lean_box(0), lean_box(0));
|
|||
return x_1;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____spec__2(lean_object* x_1, size_t x_2, size_t x_3, lean_object* x_4, lean_object* x_5) {
|
||||
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____spec__2(lean_object* x_1, size_t x_2, size_t x_3, lean_object* x_4, lean_object* x_5) {
|
||||
_start:
|
||||
{
|
||||
if (lean_obj_tag(x_1) == 0)
|
||||
|
|
@ -737,7 +738,7 @@ lean_object* x_7; size_t x_8; size_t x_9; size_t x_10; size_t x_11; lean_object*
|
|||
x_7 = lean_ctor_get(x_1, 0);
|
||||
x_8 = 1;
|
||||
x_9 = 5;
|
||||
x_10 = l_Lean_PersistentHashMap_insertAux___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____spec__2___closed__2;
|
||||
x_10 = l_Lean_PersistentHashMap_insertAux___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____spec__2___closed__2;
|
||||
x_11 = lean_usize_land(x_2, x_10);
|
||||
x_12 = lean_usize_to_nat(x_11);
|
||||
x_13 = lean_array_get_size(x_7);
|
||||
|
|
@ -837,7 +838,7 @@ lean_object* x_35; size_t x_36; size_t x_37; lean_object* x_38; lean_object* x_3
|
|||
x_35 = lean_ctor_get(x_15, 0);
|
||||
x_36 = lean_usize_shift_right(x_2, x_9);
|
||||
x_37 = lean_usize_add(x_3, x_8);
|
||||
x_38 = l_Lean_PersistentHashMap_insertAux___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____spec__2(x_35, x_36, x_37, x_4, x_5);
|
||||
x_38 = l_Lean_PersistentHashMap_insertAux___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____spec__2(x_35, x_36, x_37, x_4, x_5);
|
||||
lean_ctor_set(x_15, 0, x_38);
|
||||
x_39 = lean_array_fset(x_17, x_12, x_15);
|
||||
lean_dec(x_12);
|
||||
|
|
@ -852,7 +853,7 @@ lean_inc(x_40);
|
|||
lean_dec(x_15);
|
||||
x_41 = lean_usize_shift_right(x_2, x_9);
|
||||
x_42 = lean_usize_add(x_3, x_8);
|
||||
x_43 = l_Lean_PersistentHashMap_insertAux___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____spec__2(x_40, x_41, x_42, x_4, x_5);
|
||||
x_43 = l_Lean_PersistentHashMap_insertAux___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____spec__2(x_40, x_41, x_42, x_4, x_5);
|
||||
x_44 = lean_alloc_ctor(1, 1, 0);
|
||||
lean_ctor_set(x_44, 0, x_43);
|
||||
x_45 = lean_array_fset(x_17, x_12, x_44);
|
||||
|
|
@ -883,7 +884,7 @@ lean_inc(x_48);
|
|||
lean_dec(x_1);
|
||||
x_49 = 1;
|
||||
x_50 = 5;
|
||||
x_51 = l_Lean_PersistentHashMap_insertAux___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____spec__2___closed__2;
|
||||
x_51 = l_Lean_PersistentHashMap_insertAux___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____spec__2___closed__2;
|
||||
x_52 = lean_usize_land(x_2, x_51);
|
||||
x_53 = lean_usize_to_nat(x_52);
|
||||
x_54 = lean_array_get_size(x_48);
|
||||
|
|
@ -968,7 +969,7 @@ if (lean_is_exclusive(x_57)) {
|
|||
}
|
||||
x_73 = lean_usize_shift_right(x_2, x_50);
|
||||
x_74 = lean_usize_add(x_3, x_49);
|
||||
x_75 = l_Lean_PersistentHashMap_insertAux___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____spec__2(x_71, x_73, x_74, x_4, x_5);
|
||||
x_75 = l_Lean_PersistentHashMap_insertAux___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____spec__2(x_71, x_73, x_74, x_4, x_5);
|
||||
if (lean_is_scalar(x_72)) {
|
||||
x_76 = lean_alloc_ctor(1, 1, 0);
|
||||
} else {
|
||||
|
|
@ -1005,7 +1006,7 @@ if (x_82 == 0)
|
|||
{
|
||||
lean_object* x_83; lean_object* x_84; size_t x_85; uint8_t x_86;
|
||||
x_83 = lean_unsigned_to_nat(0u);
|
||||
x_84 = l_Lean_PersistentHashMap_insertAtCollisionNodeAux___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____spec__4(x_1, x_83, x_4, x_5);
|
||||
x_84 = l_Lean_PersistentHashMap_insertAtCollisionNodeAux___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____spec__4(x_1, x_83, x_4, x_5);
|
||||
x_85 = 7;
|
||||
x_86 = lean_usize_dec_le(x_85, x_3);
|
||||
if (x_86 == 0)
|
||||
|
|
@ -1023,8 +1024,8 @@ lean_inc(x_90);
|
|||
x_91 = lean_ctor_get(x_84, 1);
|
||||
lean_inc(x_91);
|
||||
lean_dec(x_84);
|
||||
x_92 = l_Lean_PersistentHashMap_insertAux___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____spec__2___closed__3;
|
||||
x_93 = l_Lean_PersistentHashMap_insertAux_traverse___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____spec__3(x_3, x_90, x_91, lean_box(0), x_83, x_92);
|
||||
x_92 = l_Lean_PersistentHashMap_insertAux___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____spec__2___closed__3;
|
||||
x_93 = l_Lean_PersistentHashMap_insertAux_traverse___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____spec__3(x_3, x_90, x_91, lean_box(0), x_83, x_92);
|
||||
lean_dec(x_91);
|
||||
lean_dec(x_90);
|
||||
return x_93;
|
||||
|
|
@ -1051,7 +1052,7 @@ x_96 = lean_alloc_ctor(1, 2, 0);
|
|||
lean_ctor_set(x_96, 0, x_94);
|
||||
lean_ctor_set(x_96, 1, x_95);
|
||||
x_97 = lean_unsigned_to_nat(0u);
|
||||
x_98 = l_Lean_PersistentHashMap_insertAtCollisionNodeAux___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____spec__4(x_96, x_97, x_4, x_5);
|
||||
x_98 = l_Lean_PersistentHashMap_insertAtCollisionNodeAux___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____spec__4(x_96, x_97, x_4, x_5);
|
||||
x_99 = 7;
|
||||
x_100 = lean_usize_dec_le(x_99, x_3);
|
||||
if (x_100 == 0)
|
||||
|
|
@ -1069,8 +1070,8 @@ lean_inc(x_104);
|
|||
x_105 = lean_ctor_get(x_98, 1);
|
||||
lean_inc(x_105);
|
||||
lean_dec(x_98);
|
||||
x_106 = l_Lean_PersistentHashMap_insertAux___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____spec__2___closed__3;
|
||||
x_107 = l_Lean_PersistentHashMap_insertAux_traverse___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____spec__3(x_3, x_104, x_105, lean_box(0), x_97, x_106);
|
||||
x_106 = l_Lean_PersistentHashMap_insertAux___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____spec__2___closed__3;
|
||||
x_107 = l_Lean_PersistentHashMap_insertAux_traverse___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____spec__3(x_3, x_104, x_105, lean_box(0), x_97, x_106);
|
||||
lean_dec(x_105);
|
||||
lean_dec(x_104);
|
||||
return x_107;
|
||||
|
|
@ -1088,7 +1089,7 @@ return x_98;
|
|||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insert___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
|
||||
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insert___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
|
||||
_start:
|
||||
{
|
||||
uint8_t x_4;
|
||||
|
|
@ -1101,7 +1102,7 @@ x_6 = lean_ctor_get(x_1, 1);
|
|||
x_7 = l_Lean_Name_hash___override(x_2);
|
||||
x_8 = lean_uint64_to_usize(x_7);
|
||||
x_9 = 1;
|
||||
x_10 = l_Lean_PersistentHashMap_insertAux___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____spec__2(x_5, x_8, x_9, x_2, x_3);
|
||||
x_10 = l_Lean_PersistentHashMap_insertAux___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____spec__2(x_5, x_8, x_9, x_2, x_3);
|
||||
x_11 = lean_unsigned_to_nat(1u);
|
||||
x_12 = lean_nat_add(x_6, x_11);
|
||||
lean_dec(x_6);
|
||||
|
|
@ -1120,7 +1121,7 @@ lean_dec(x_1);
|
|||
x_15 = l_Lean_Name_hash___override(x_2);
|
||||
x_16 = lean_uint64_to_usize(x_15);
|
||||
x_17 = 1;
|
||||
x_18 = l_Lean_PersistentHashMap_insertAux___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____spec__2(x_13, x_16, x_17, x_2, x_3);
|
||||
x_18 = l_Lean_PersistentHashMap_insertAux___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____spec__2(x_13, x_16, x_17, x_2, x_3);
|
||||
x_19 = lean_unsigned_to_nat(1u);
|
||||
x_20 = lean_nat_add(x_14, x_19);
|
||||
lean_dec(x_14);
|
||||
|
|
@ -1131,7 +1132,7 @@ return x_21;
|
|||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldlM___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____spec__5(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
|
||||
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldlM___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____spec__5(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_4; lean_object* x_5;
|
||||
|
|
@ -1142,7 +1143,7 @@ x_5 = l_Lean_PersistentHashMap_foldlMAux___at_Lean_mkModuleData___spec__3___rarg
|
|||
return x_5;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_5;
|
||||
|
|
@ -1152,17 +1153,17 @@ lean_ctor_set(x_5, 1, x_4);
|
|||
return x_5;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____lambda__2(lean_object* x_1, lean_object* x_2) {
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____lambda__2(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_3; lean_object* x_4;
|
||||
x_3 = lean_ctor_get(x_2, 0);
|
||||
lean_inc(x_3);
|
||||
x_4 = l_Lean_PersistentHashMap_insert___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____spec__1(x_1, x_3, x_2);
|
||||
x_4 = l_Lean_PersistentHashMap_insert___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____spec__1(x_1, x_3, x_2);
|
||||
return x_4;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____lambda__3(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____lambda__3(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_4;
|
||||
|
|
@ -1170,21 +1171,21 @@ x_4 = lean_array_push(x_1, x_3);
|
|||
return x_4;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____lambda__4___closed__1() {
|
||||
static lean_object* _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____lambda__4___closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_alloc_closure((void*)(l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____lambda__3___boxed), 3, 0);
|
||||
x_1 = lean_alloc_closure((void*)(l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____lambda__3___boxed), 3, 0);
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____lambda__4(lean_object* x_1) {
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____lambda__4(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10;
|
||||
x_2 = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____lambda__4___closed__1;
|
||||
x_2 = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____lambda__4___closed__1;
|
||||
x_3 = l___private_Lean_Compiler_LCNF_PhaseExt_0__Lean_Compiler_LCNF_findAtSorted_x3f___closed__2;
|
||||
x_4 = l_Lean_PersistentHashMap_foldlM___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____spec__5(x_1, x_2, x_3);
|
||||
x_4 = l_Lean_PersistentHashMap_foldlM___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____spec__5(x_1, x_2, x_3);
|
||||
x_5 = lean_array_get_size(x_4);
|
||||
x_6 = lean_unsigned_to_nat(1u);
|
||||
x_7 = lean_nat_sub(x_5, x_6);
|
||||
|
|
@ -1196,7 +1197,7 @@ lean_dec(x_7);
|
|||
return x_10;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____lambda__5(lean_object* x_1) {
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____lambda__5(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2;
|
||||
|
|
@ -1204,7 +1205,7 @@ x_2 = lean_box(0);
|
|||
return x_2;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____closed__1() {
|
||||
static lean_object* _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
|
|
@ -1212,17 +1213,17 @@ x_1 = lean_mk_string_from_bytes("compBaseDecls", 13);
|
|||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____closed__2() {
|
||||
static lean_object* _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____closed__2() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_box(0);
|
||||
x_2 = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____closed__1;
|
||||
x_2 = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____closed__1;
|
||||
x_3 = l_Lean_Name_str___override(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____closed__3() {
|
||||
static lean_object* _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____closed__3() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
|
|
@ -1230,21 +1231,21 @@ x_1 = l_Lean_PersistentHashMap_mkEmptyEntriesArray(lean_box(0), lean_box(0));
|
|||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____closed__4() {
|
||||
static lean_object* _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____closed__4() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2;
|
||||
x_1 = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____closed__3;
|
||||
x_1 = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____closed__3;
|
||||
x_2 = lean_alloc_ctor(0, 1, 0);
|
||||
lean_ctor_set(x_2, 0, x_1);
|
||||
return x_2;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____closed__5() {
|
||||
static lean_object* _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____closed__5() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____closed__4;
|
||||
x_1 = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____closed__4;
|
||||
x_2 = lean_unsigned_to_nat(0u);
|
||||
x_3 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
|
|
@ -1252,52 +1253,52 @@ lean_ctor_set(x_3, 1, x_2);
|
|||
return x_3;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____closed__6() {
|
||||
static lean_object* _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____closed__6() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2;
|
||||
x_1 = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____closed__5;
|
||||
x_1 = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____closed__5;
|
||||
x_2 = lean_alloc_closure((void*)(l_EStateM_pure___rarg), 2, 1);
|
||||
lean_closure_set(x_2, 0, x_1);
|
||||
return x_2;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____closed__7() {
|
||||
static lean_object* _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____closed__7() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_alloc_closure((void*)(l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____lambda__2), 2, 0);
|
||||
x_1 = lean_alloc_closure((void*)(l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____lambda__2), 2, 0);
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____closed__8() {
|
||||
static lean_object* _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____closed__8() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_alloc_closure((void*)(l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____lambda__4), 1, 0);
|
||||
x_1 = lean_alloc_closure((void*)(l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____lambda__4), 1, 0);
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____closed__9() {
|
||||
static lean_object* _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____closed__9() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_alloc_closure((void*)(l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____lambda__5___boxed), 1, 0);
|
||||
x_1 = lean_alloc_closure((void*)(l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____lambda__5___boxed), 1, 0);
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49_(lean_object* x_1) {
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50_(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10;
|
||||
x_2 = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____closed__5;
|
||||
x_3 = lean_alloc_closure((void*)(l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____lambda__1___boxed), 4, 1);
|
||||
x_2 = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____closed__5;
|
||||
x_3 = lean_alloc_closure((void*)(l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____lambda__1___boxed), 4, 1);
|
||||
lean_closure_set(x_3, 0, x_2);
|
||||
x_4 = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____closed__2;
|
||||
x_5 = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____closed__6;
|
||||
x_6 = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____closed__7;
|
||||
x_7 = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____closed__8;
|
||||
x_8 = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____closed__9;
|
||||
x_4 = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____closed__2;
|
||||
x_5 = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____closed__6;
|
||||
x_6 = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____closed__7;
|
||||
x_7 = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____closed__8;
|
||||
x_8 = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____closed__9;
|
||||
x_9 = lean_alloc_ctor(0, 6, 0);
|
||||
lean_ctor_set(x_9, 0, x_4);
|
||||
lean_ctor_set(x_9, 1, x_5);
|
||||
|
|
@ -1309,19 +1310,19 @@ x_10 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg(x_9, x_1);
|
|||
return x_10;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux_traverse___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____spec__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
|
||||
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux_traverse___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____spec__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
|
||||
_start:
|
||||
{
|
||||
size_t x_7; lean_object* x_8;
|
||||
x_7 = lean_unbox_usize(x_1);
|
||||
lean_dec(x_1);
|
||||
x_8 = l_Lean_PersistentHashMap_insertAux_traverse___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____spec__3(x_7, x_2, x_3, x_4, x_5, x_6);
|
||||
x_8 = l_Lean_PersistentHashMap_insertAux_traverse___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____spec__3(x_7, x_2, x_3, x_4, x_5, x_6);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
return x_8;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
|
||||
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
|
||||
_start:
|
||||
{
|
||||
size_t x_6; size_t x_7; lean_object* x_8;
|
||||
|
|
@ -1329,34 +1330,34 @@ x_6 = lean_unbox_usize(x_2);
|
|||
lean_dec(x_2);
|
||||
x_7 = lean_unbox_usize(x_3);
|
||||
lean_dec(x_3);
|
||||
x_8 = l_Lean_PersistentHashMap_insertAux___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____spec__2(x_1, x_6, x_7, x_4, x_5);
|
||||
x_8 = l_Lean_PersistentHashMap_insertAux___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____spec__2(x_1, x_6, x_7, x_4, x_5);
|
||||
return x_8;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_5;
|
||||
x_5 = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____lambda__1(x_1, x_2, x_3, x_4);
|
||||
x_5 = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____lambda__1(x_1, x_2, x_3, x_4);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
return x_5;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____lambda__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____lambda__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_4;
|
||||
x_4 = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____lambda__3(x_1, x_2, x_3);
|
||||
x_4 = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____lambda__3(x_1, x_2, x_3);
|
||||
lean_dec(x_2);
|
||||
return x_4;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____lambda__5___boxed(lean_object* x_1) {
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____lambda__5___boxed(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2;
|
||||
x_2 = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____lambda__5(x_1);
|
||||
x_2 = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____lambda__5(x_1);
|
||||
lean_dec(x_1);
|
||||
return x_2;
|
||||
}
|
||||
|
|
@ -1413,7 +1414,7 @@ x_4 = lean_ctor_get(x_1, 0);
|
|||
lean_inc(x_4);
|
||||
lean_dec(x_1);
|
||||
x_5 = 5;
|
||||
x_6 = l_Lean_PersistentHashMap_insertAux___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____spec__2___closed__2;
|
||||
x_6 = l_Lean_PersistentHashMap_insertAux___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____spec__2___closed__2;
|
||||
x_7 = lean_usize_land(x_2, x_6);
|
||||
x_8 = lean_usize_to_nat(x_7);
|
||||
x_9 = lean_box(2);
|
||||
|
|
@ -1546,13 +1547,14 @@ x_13 = l___private_Lean_Compiler_LCNF_PhaseExt_0__Lean_Compiler_LCNF_findAtSorte
|
|||
x_14 = l___private_Lean_Compiler_LCNF_PhaseExt_0__Lean_Compiler_LCNF_findAtSorted_x3f___closed__2;
|
||||
x_15 = l___private_Lean_Compiler_LCNF_PhaseExt_0__Lean_Compiler_LCNF_findAtSorted_x3f___closed__3;
|
||||
x_16 = 0;
|
||||
x_17 = lean_alloc_ctor(0, 5, 1);
|
||||
x_17 = lean_alloc_ctor(0, 5, 2);
|
||||
lean_ctor_set(x_17, 0, x_2);
|
||||
lean_ctor_set(x_17, 1, x_12);
|
||||
lean_ctor_set(x_17, 2, x_13);
|
||||
lean_ctor_set(x_17, 3, x_14);
|
||||
lean_ctor_set(x_17, 4, x_15);
|
||||
lean_ctor_set_uint8(x_17, sizeof(void*)*5, x_16);
|
||||
lean_ctor_set_uint8(x_17, sizeof(void*)*5 + 1, x_16);
|
||||
x_18 = lean_array_get_size(x_11);
|
||||
x_19 = lean_unsigned_to_nat(1u);
|
||||
x_20 = lean_nat_sub(x_18, x_19);
|
||||
|
|
@ -1665,7 +1667,7 @@ static lean_object* _init_l_Lean_Compiler_LCNF_Decl_saveBase___closed__1() {
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2;
|
||||
x_1 = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____closed__5;
|
||||
x_1 = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____closed__5;
|
||||
x_2 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_2, 0, x_1);
|
||||
lean_ctor_set(x_2, 1, x_1);
|
||||
|
|
@ -3338,31 +3340,31 @@ l___private_Lean_Compiler_LCNF_PhaseExt_0__Lean_Compiler_LCNF_findAtSorted_x3f__
|
|||
lean_mark_persistent(l___private_Lean_Compiler_LCNF_PhaseExt_0__Lean_Compiler_LCNF_findAtSorted_x3f___closed__2);
|
||||
l___private_Lean_Compiler_LCNF_PhaseExt_0__Lean_Compiler_LCNF_findAtSorted_x3f___closed__3 = _init_l___private_Lean_Compiler_LCNF_PhaseExt_0__Lean_Compiler_LCNF_findAtSorted_x3f___closed__3();
|
||||
lean_mark_persistent(l___private_Lean_Compiler_LCNF_PhaseExt_0__Lean_Compiler_LCNF_findAtSorted_x3f___closed__3);
|
||||
l_Lean_PersistentHashMap_insertAux___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____spec__2___closed__1 = _init_l_Lean_PersistentHashMap_insertAux___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____spec__2___closed__1();
|
||||
l_Lean_PersistentHashMap_insertAux___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____spec__2___closed__2 = _init_l_Lean_PersistentHashMap_insertAux___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____spec__2___closed__2();
|
||||
l_Lean_PersistentHashMap_insertAux___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____spec__2___closed__3 = _init_l_Lean_PersistentHashMap_insertAux___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____spec__2___closed__3();
|
||||
lean_mark_persistent(l_Lean_PersistentHashMap_insertAux___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____spec__2___closed__3);
|
||||
l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____lambda__4___closed__1 = _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____lambda__4___closed__1();
|
||||
lean_mark_persistent(l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____lambda__4___closed__1);
|
||||
l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____closed__1 = _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____closed__1();
|
||||
lean_mark_persistent(l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____closed__1);
|
||||
l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____closed__2 = _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____closed__2();
|
||||
lean_mark_persistent(l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____closed__2);
|
||||
l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____closed__3 = _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____closed__3();
|
||||
lean_mark_persistent(l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____closed__3);
|
||||
l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____closed__4 = _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____closed__4();
|
||||
lean_mark_persistent(l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____closed__4);
|
||||
l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____closed__5 = _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____closed__5();
|
||||
lean_mark_persistent(l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____closed__5);
|
||||
l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____closed__6 = _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____closed__6();
|
||||
lean_mark_persistent(l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____closed__6);
|
||||
l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____closed__7 = _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____closed__7();
|
||||
lean_mark_persistent(l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____closed__7);
|
||||
l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____closed__8 = _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____closed__8();
|
||||
lean_mark_persistent(l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____closed__8);
|
||||
l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____closed__9 = _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____closed__9();
|
||||
lean_mark_persistent(l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49____closed__9);
|
||||
if (builtin) {res = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_49_(lean_io_mk_world());
|
||||
l_Lean_PersistentHashMap_insertAux___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____spec__2___closed__1 = _init_l_Lean_PersistentHashMap_insertAux___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____spec__2___closed__1();
|
||||
l_Lean_PersistentHashMap_insertAux___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____spec__2___closed__2 = _init_l_Lean_PersistentHashMap_insertAux___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____spec__2___closed__2();
|
||||
l_Lean_PersistentHashMap_insertAux___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____spec__2___closed__3 = _init_l_Lean_PersistentHashMap_insertAux___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____spec__2___closed__3();
|
||||
lean_mark_persistent(l_Lean_PersistentHashMap_insertAux___at_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____spec__2___closed__3);
|
||||
l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____lambda__4___closed__1 = _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____lambda__4___closed__1();
|
||||
lean_mark_persistent(l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____lambda__4___closed__1);
|
||||
l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____closed__1 = _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____closed__1();
|
||||
lean_mark_persistent(l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____closed__1);
|
||||
l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____closed__2 = _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____closed__2();
|
||||
lean_mark_persistent(l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____closed__2);
|
||||
l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____closed__3 = _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____closed__3();
|
||||
lean_mark_persistent(l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____closed__3);
|
||||
l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____closed__4 = _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____closed__4();
|
||||
lean_mark_persistent(l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____closed__4);
|
||||
l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____closed__5 = _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____closed__5();
|
||||
lean_mark_persistent(l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____closed__5);
|
||||
l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____closed__6 = _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____closed__6();
|
||||
lean_mark_persistent(l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____closed__6);
|
||||
l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____closed__7 = _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____closed__7();
|
||||
lean_mark_persistent(l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____closed__7);
|
||||
l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____closed__8 = _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____closed__8();
|
||||
lean_mark_persistent(l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____closed__8);
|
||||
l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____closed__9 = _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____closed__9();
|
||||
lean_mark_persistent(l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50____closed__9);
|
||||
if (builtin) {res = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PhaseExt___hyg_50_(lean_io_mk_world());
|
||||
if (lean_io_result_is_error(res)) return res;
|
||||
l_Lean_Compiler_LCNF_baseExt = lean_io_result_get_value(res);
|
||||
lean_mark_persistent(l_Lean_Compiler_LCNF_baseExt);
|
||||
|
|
|
|||
172
stage0/stdlib/Lean/Compiler/LCNF/PullFunDecls.c
generated
172
stage0/stdlib/Lean/Compiler/LCNF/PullFunDecls.c
generated
|
|
@ -14,6 +14,7 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
lean_object* l_List_reverse___rarg(lean_object*);
|
||||
static lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PullFunDecls___hyg_1743____closed__2;
|
||||
lean_object* lean_array_set(lean_object*, lean_object*, lean_object*);
|
||||
size_t lean_usize_add(size_t, size_t);
|
||||
lean_object* l_Lean_registerTraceClass(lean_object*, uint8_t, lean_object*);
|
||||
|
|
@ -57,15 +58,15 @@ LEAN_EXPORT lean_object* l_List_foldr___at_Lean_Compiler_LCNF_PullFunDecls_findF
|
|||
lean_object* lean_nat_sub(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_PullFunDecls_findParamsDeps___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_PullFunDecls_attach_visit(lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PullFunDecls___hyg_1742____closed__1;
|
||||
LEAN_EXPORT lean_object* l_panic___at_Lean_Compiler_LCNF_PullFunDecls_attach_visited___spec__1(lean_object*);
|
||||
lean_object* lean_array_fset(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_PullFunDecls_pull(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Compiler_LCNF_FunDeclCore_collectUsed(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l___private_Init_Data_Array_BasicAux_0__mapMonoMImp_go___at_Lean_Compiler_LCNF_PullFunDecls_pull___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PullFunDecls___hyg_1742_(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PullFunDecls___hyg_1743_(lean_object*);
|
||||
lean_object* lean_st_mk_ref(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_PullFunDecls_addToPull(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PullFunDecls___hyg_1743____closed__1;
|
||||
lean_object* l_Lean_Compiler_LCNF_Pass_mkPerDeclaration(lean_object*, lean_object*, uint8_t, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_pullFunDecls;
|
||||
lean_object* l___private_Init_Util_0__mkPanicMessageWithDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -78,7 +79,6 @@ LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_PullFunDecls_findFVarDirectDeps___
|
|||
size_t lean_usize_of_nat(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_PullFunDecls_findFVarDepsFixpoint(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_PullFunDecls_attach_go___boxed(lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PullFunDecls___hyg_1742____closed__2;
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_PullFunDecls_attach_visited(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_PullFunDecls_addToPull___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_PullFunDecls_pull___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -2759,110 +2759,112 @@ return x_41;
|
|||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; uint8_t x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54;
|
||||
lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; uint8_t x_47; uint8_t x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55;
|
||||
x_42 = lean_ctor_get(x_1, 0);
|
||||
x_43 = lean_ctor_get(x_1, 1);
|
||||
x_44 = lean_ctor_get(x_1, 2);
|
||||
x_45 = lean_ctor_get(x_1, 3);
|
||||
x_46 = lean_ctor_get(x_1, 4);
|
||||
x_47 = lean_ctor_get_uint8(x_1, sizeof(void*)*5);
|
||||
x_48 = lean_ctor_get_uint8(x_1, sizeof(void*)*5 + 1);
|
||||
lean_inc(x_46);
|
||||
lean_inc(x_45);
|
||||
lean_inc(x_44);
|
||||
lean_inc(x_43);
|
||||
lean_inc(x_42);
|
||||
lean_dec(x_1);
|
||||
x_48 = lean_box(0);
|
||||
x_49 = lean_st_ref_get(x_5, x_6);
|
||||
x_50 = lean_ctor_get(x_49, 1);
|
||||
lean_inc(x_50);
|
||||
lean_dec(x_49);
|
||||
x_51 = lean_st_mk_ref(x_48, x_50);
|
||||
x_52 = lean_ctor_get(x_51, 0);
|
||||
lean_inc(x_52);
|
||||
x_53 = lean_ctor_get(x_51, 1);
|
||||
x_49 = lean_box(0);
|
||||
x_50 = lean_st_ref_get(x_5, x_6);
|
||||
x_51 = lean_ctor_get(x_50, 1);
|
||||
lean_inc(x_51);
|
||||
lean_dec(x_50);
|
||||
x_52 = lean_st_mk_ref(x_49, x_51);
|
||||
x_53 = lean_ctor_get(x_52, 0);
|
||||
lean_inc(x_53);
|
||||
lean_dec(x_51);
|
||||
lean_inc(x_5);
|
||||
lean_inc(x_52);
|
||||
x_54 = l_Lean_Compiler_LCNF_PullFunDecls_pull(x_46, x_52, x_2, x_3, x_4, x_5, x_53);
|
||||
if (lean_obj_tag(x_54) == 0)
|
||||
{
|
||||
lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68;
|
||||
x_55 = lean_ctor_get(x_54, 0);
|
||||
lean_inc(x_55);
|
||||
x_56 = lean_ctor_get(x_54, 1);
|
||||
lean_inc(x_56);
|
||||
lean_dec(x_54);
|
||||
x_57 = lean_st_ref_get(x_5, x_56);
|
||||
lean_dec(x_5);
|
||||
x_58 = lean_ctor_get(x_57, 1);
|
||||
lean_inc(x_58);
|
||||
lean_dec(x_57);
|
||||
x_59 = lean_st_ref_get(x_52, x_58);
|
||||
x_54 = lean_ctor_get(x_52, 1);
|
||||
lean_inc(x_54);
|
||||
lean_dec(x_52);
|
||||
x_60 = lean_ctor_get(x_59, 0);
|
||||
lean_inc(x_60);
|
||||
x_61 = lean_ctor_get(x_59, 1);
|
||||
lean_inc(x_5);
|
||||
lean_inc(x_53);
|
||||
x_55 = l_Lean_Compiler_LCNF_PullFunDecls_pull(x_46, x_53, x_2, x_3, x_4, x_5, x_54);
|
||||
if (lean_obj_tag(x_55) == 0)
|
||||
{
|
||||
lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69;
|
||||
x_56 = lean_ctor_get(x_55, 0);
|
||||
lean_inc(x_56);
|
||||
x_57 = lean_ctor_get(x_55, 1);
|
||||
lean_inc(x_57);
|
||||
lean_dec(x_55);
|
||||
x_58 = lean_st_ref_get(x_5, x_57);
|
||||
lean_dec(x_5);
|
||||
x_59 = lean_ctor_get(x_58, 1);
|
||||
lean_inc(x_59);
|
||||
lean_dec(x_58);
|
||||
x_60 = lean_st_ref_get(x_53, x_59);
|
||||
lean_dec(x_53);
|
||||
x_61 = lean_ctor_get(x_60, 0);
|
||||
lean_inc(x_61);
|
||||
if (lean_is_exclusive(x_59)) {
|
||||
lean_ctor_release(x_59, 0);
|
||||
lean_ctor_release(x_59, 1);
|
||||
x_62 = x_59;
|
||||
x_62 = lean_ctor_get(x_60, 1);
|
||||
lean_inc(x_62);
|
||||
if (lean_is_exclusive(x_60)) {
|
||||
lean_ctor_release(x_60, 0);
|
||||
lean_ctor_release(x_60, 1);
|
||||
x_63 = x_60;
|
||||
} else {
|
||||
lean_dec_ref(x_59);
|
||||
x_62 = lean_box(0);
|
||||
lean_dec_ref(x_60);
|
||||
x_63 = lean_box(0);
|
||||
}
|
||||
x_63 = l_List_redLength___rarg(x_60);
|
||||
x_64 = lean_mk_empty_array_with_capacity(x_63);
|
||||
lean_dec(x_63);
|
||||
x_65 = l_List_toArrayAux___rarg(x_60, x_64);
|
||||
x_66 = l_Lean_Compiler_LCNF_PullFunDecls_attach(x_65, x_55);
|
||||
x_67 = lean_alloc_ctor(0, 5, 1);
|
||||
lean_ctor_set(x_67, 0, x_42);
|
||||
lean_ctor_set(x_67, 1, x_43);
|
||||
lean_ctor_set(x_67, 2, x_44);
|
||||
lean_ctor_set(x_67, 3, x_45);
|
||||
lean_ctor_set(x_67, 4, x_66);
|
||||
lean_ctor_set_uint8(x_67, sizeof(void*)*5, x_47);
|
||||
if (lean_is_scalar(x_62)) {
|
||||
x_68 = lean_alloc_ctor(0, 2, 0);
|
||||
x_64 = l_List_redLength___rarg(x_61);
|
||||
x_65 = lean_mk_empty_array_with_capacity(x_64);
|
||||
lean_dec(x_64);
|
||||
x_66 = l_List_toArrayAux___rarg(x_61, x_65);
|
||||
x_67 = l_Lean_Compiler_LCNF_PullFunDecls_attach(x_66, x_56);
|
||||
x_68 = lean_alloc_ctor(0, 5, 2);
|
||||
lean_ctor_set(x_68, 0, x_42);
|
||||
lean_ctor_set(x_68, 1, x_43);
|
||||
lean_ctor_set(x_68, 2, x_44);
|
||||
lean_ctor_set(x_68, 3, x_45);
|
||||
lean_ctor_set(x_68, 4, x_67);
|
||||
lean_ctor_set_uint8(x_68, sizeof(void*)*5, x_47);
|
||||
lean_ctor_set_uint8(x_68, sizeof(void*)*5 + 1, x_48);
|
||||
if (lean_is_scalar(x_63)) {
|
||||
x_69 = lean_alloc_ctor(0, 2, 0);
|
||||
} else {
|
||||
x_68 = x_62;
|
||||
x_69 = x_63;
|
||||
}
|
||||
lean_ctor_set(x_68, 0, x_67);
|
||||
lean_ctor_set(x_68, 1, x_61);
|
||||
return x_68;
|
||||
lean_ctor_set(x_69, 0, x_68);
|
||||
lean_ctor_set(x_69, 1, x_62);
|
||||
return x_69;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72;
|
||||
lean_dec(x_52);
|
||||
lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73;
|
||||
lean_dec(x_53);
|
||||
lean_dec(x_45);
|
||||
lean_dec(x_44);
|
||||
lean_dec(x_43);
|
||||
lean_dec(x_42);
|
||||
lean_dec(x_5);
|
||||
x_69 = lean_ctor_get(x_54, 0);
|
||||
lean_inc(x_69);
|
||||
x_70 = lean_ctor_get(x_54, 1);
|
||||
x_70 = lean_ctor_get(x_55, 0);
|
||||
lean_inc(x_70);
|
||||
if (lean_is_exclusive(x_54)) {
|
||||
lean_ctor_release(x_54, 0);
|
||||
lean_ctor_release(x_54, 1);
|
||||
x_71 = x_54;
|
||||
x_71 = lean_ctor_get(x_55, 1);
|
||||
lean_inc(x_71);
|
||||
if (lean_is_exclusive(x_55)) {
|
||||
lean_ctor_release(x_55, 0);
|
||||
lean_ctor_release(x_55, 1);
|
||||
x_72 = x_55;
|
||||
} else {
|
||||
lean_dec_ref(x_54);
|
||||
x_71 = lean_box(0);
|
||||
lean_dec_ref(x_55);
|
||||
x_72 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_71)) {
|
||||
x_72 = lean_alloc_ctor(1, 2, 0);
|
||||
if (lean_is_scalar(x_72)) {
|
||||
x_73 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_72 = x_71;
|
||||
x_73 = x_72;
|
||||
}
|
||||
lean_ctor_set(x_72, 0, x_69);
|
||||
lean_ctor_set(x_72, 1, x_70);
|
||||
return x_72;
|
||||
lean_ctor_set(x_73, 0, x_70);
|
||||
lean_ctor_set(x_73, 1, x_71);
|
||||
return x_73;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -2913,7 +2915,7 @@ x_1 = l_Lean_Compiler_LCNF_pullFunDecls___closed__4;
|
|||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PullFunDecls___hyg_1742____closed__1() {
|
||||
static lean_object* _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PullFunDecls___hyg_1743____closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
|
|
@ -2921,21 +2923,21 @@ x_1 = lean_mk_string_from_bytes("Compiler", 8);
|
|||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PullFunDecls___hyg_1742____closed__2() {
|
||||
static lean_object* _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PullFunDecls___hyg_1743____closed__2() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PullFunDecls___hyg_1742____closed__1;
|
||||
x_1 = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PullFunDecls___hyg_1743____closed__1;
|
||||
x_2 = l_Lean_Compiler_LCNF_pullFunDecls___closed__1;
|
||||
x_3 = l_Lean_Name_mkStr2(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PullFunDecls___hyg_1742_(lean_object* x_1) {
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PullFunDecls___hyg_1743_(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; uint8_t x_3; lean_object* x_4;
|
||||
x_2 = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PullFunDecls___hyg_1742____closed__2;
|
||||
x_2 = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PullFunDecls___hyg_1743____closed__2;
|
||||
x_3 = 1;
|
||||
x_4 = l_Lean_registerTraceClass(x_2, x_3, x_1);
|
||||
return x_4;
|
||||
|
|
@ -2994,11 +2996,11 @@ l_Lean_Compiler_LCNF_pullFunDecls___closed__4 = _init_l_Lean_Compiler_LCNF_pullF
|
|||
lean_mark_persistent(l_Lean_Compiler_LCNF_pullFunDecls___closed__4);
|
||||
l_Lean_Compiler_LCNF_pullFunDecls = _init_l_Lean_Compiler_LCNF_pullFunDecls();
|
||||
lean_mark_persistent(l_Lean_Compiler_LCNF_pullFunDecls);
|
||||
l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PullFunDecls___hyg_1742____closed__1 = _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PullFunDecls___hyg_1742____closed__1();
|
||||
lean_mark_persistent(l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PullFunDecls___hyg_1742____closed__1);
|
||||
l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PullFunDecls___hyg_1742____closed__2 = _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PullFunDecls___hyg_1742____closed__2();
|
||||
lean_mark_persistent(l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PullFunDecls___hyg_1742____closed__2);
|
||||
res = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PullFunDecls___hyg_1742_(lean_io_mk_world());
|
||||
l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PullFunDecls___hyg_1743____closed__1 = _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PullFunDecls___hyg_1743____closed__1();
|
||||
lean_mark_persistent(l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PullFunDecls___hyg_1743____closed__1);
|
||||
l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PullFunDecls___hyg_1743____closed__2 = _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PullFunDecls___hyg_1743____closed__2();
|
||||
lean_mark_persistent(l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PullFunDecls___hyg_1743____closed__2);
|
||||
res = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PullFunDecls___hyg_1743_(lean_io_mk_world());
|
||||
if (lean_io_result_is_error(res)) return res;
|
||||
lean_dec_ref(res);
|
||||
return lean_io_result_mk_ok(lean_box(0));
|
||||
|
|
|
|||
88
stage0/stdlib/Lean/Compiler/LCNF/PullLetDecls.c
generated
88
stage0/stdlib/Lean/Compiler/LCNF/PullLetDecls.c
generated
|
|
@ -29,16 +29,16 @@ static lean_object* l_Lean_Compiler_LCNF_PullLetDecls_pullDecls___lambda__1___cl
|
|||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Decl_pullLetDecls(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Compiler_LCNF_PullLetDecls_State_toPull___default___closed__1;
|
||||
static lean_object* l_Lean_Compiler_LCNF_PullLetDecls_pullDecls___lambda__1___closed__4;
|
||||
static lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PullLetDecls___hyg_1358____closed__2;
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_PullLetDecls_pullAlt(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PullLetDecls___hyg_1357____closed__2;
|
||||
size_t lean_usize_sub(size_t, size_t);
|
||||
static lean_object* l_Lean_Compiler_LCNF_PullLetDecls_pullDecls___lambda__2___closed__1;
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_PullLetDecls_pullDecls___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Decl_pullLetDecls___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* lean_st_ref_get(lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PullLetDecls___hyg_1357____closed__1;
|
||||
LEAN_EXPORT lean_object* l_ReaderT_bind___at_Lean_Compiler_LCNF_PullLetDecls_pullDecls___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Compiler_LCNF_PullLetDecls_pullDecls___lambda__2___closed__2;
|
||||
static lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PullLetDecls___hyg_1358____closed__1;
|
||||
lean_object* l_Lean_Name_mkStr2(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_PullLetDecls_shouldPull(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* lean_array_push(lean_object*, lean_object*);
|
||||
|
|
@ -74,7 +74,7 @@ size_t lean_usize_of_nat(lean_object*);
|
|||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_PullLetDecls_withCheckpoint_go(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_PullLetDecls_pullAlt___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_panic___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_updateAltsImp___spec__1(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PullLetDecls___hyg_1357_(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PullLetDecls___hyg_1358_(lean_object*);
|
||||
size_t lean_ptr_addr(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Decl_pullInstances___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_PullLetDecls_withNewScope___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -3162,51 +3162,55 @@ x_11 = l_Lean_Compiler_LCNF_PullLetDecls_attachToPull(x_3, x_4, x_5, x_6, x_7, x
|
|||
x_12 = !lean_is_exclusive(x_11);
|
||||
if (x_12 == 0)
|
||||
{
|
||||
lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; uint8_t x_17; lean_object* x_18;
|
||||
lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; uint8_t x_17; uint8_t x_18; lean_object* x_19;
|
||||
x_13 = lean_ctor_get(x_11, 0);
|
||||
x_14 = lean_ctor_get(x_1, 0);
|
||||
x_15 = lean_ctor_get(x_1, 1);
|
||||
x_16 = lean_ctor_get(x_1, 2);
|
||||
x_17 = lean_ctor_get_uint8(x_1, sizeof(void*)*5);
|
||||
x_18 = lean_ctor_get_uint8(x_1, sizeof(void*)*5 + 1);
|
||||
lean_inc(x_16);
|
||||
lean_inc(x_15);
|
||||
lean_inc(x_14);
|
||||
x_18 = lean_alloc_ctor(0, 5, 1);
|
||||
lean_ctor_set(x_18, 0, x_14);
|
||||
lean_ctor_set(x_18, 1, x_15);
|
||||
lean_ctor_set(x_18, 2, x_16);
|
||||
lean_ctor_set(x_18, 3, x_2);
|
||||
lean_ctor_set(x_18, 4, x_13);
|
||||
lean_ctor_set_uint8(x_18, sizeof(void*)*5, x_17);
|
||||
lean_ctor_set(x_11, 0, x_18);
|
||||
x_19 = lean_alloc_ctor(0, 5, 2);
|
||||
lean_ctor_set(x_19, 0, x_14);
|
||||
lean_ctor_set(x_19, 1, x_15);
|
||||
lean_ctor_set(x_19, 2, x_16);
|
||||
lean_ctor_set(x_19, 3, x_2);
|
||||
lean_ctor_set(x_19, 4, x_13);
|
||||
lean_ctor_set_uint8(x_19, sizeof(void*)*5, x_17);
|
||||
lean_ctor_set_uint8(x_19, sizeof(void*)*5 + 1, x_18);
|
||||
lean_ctor_set(x_11, 0, x_19);
|
||||
return x_11;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; lean_object* x_25; lean_object* x_26;
|
||||
x_19 = lean_ctor_get(x_11, 0);
|
||||
x_20 = lean_ctor_get(x_11, 1);
|
||||
lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; uint8_t x_25; uint8_t x_26; lean_object* x_27; lean_object* x_28;
|
||||
x_20 = lean_ctor_get(x_11, 0);
|
||||
x_21 = lean_ctor_get(x_11, 1);
|
||||
lean_inc(x_21);
|
||||
lean_inc(x_20);
|
||||
lean_inc(x_19);
|
||||
lean_dec(x_11);
|
||||
x_21 = lean_ctor_get(x_1, 0);
|
||||
x_22 = lean_ctor_get(x_1, 1);
|
||||
x_23 = lean_ctor_get(x_1, 2);
|
||||
x_24 = lean_ctor_get_uint8(x_1, sizeof(void*)*5);
|
||||
x_22 = lean_ctor_get(x_1, 0);
|
||||
x_23 = lean_ctor_get(x_1, 1);
|
||||
x_24 = lean_ctor_get(x_1, 2);
|
||||
x_25 = lean_ctor_get_uint8(x_1, sizeof(void*)*5);
|
||||
x_26 = lean_ctor_get_uint8(x_1, sizeof(void*)*5 + 1);
|
||||
lean_inc(x_24);
|
||||
lean_inc(x_23);
|
||||
lean_inc(x_22);
|
||||
lean_inc(x_21);
|
||||
x_25 = lean_alloc_ctor(0, 5, 1);
|
||||
lean_ctor_set(x_25, 0, x_21);
|
||||
lean_ctor_set(x_25, 1, x_22);
|
||||
lean_ctor_set(x_25, 2, x_23);
|
||||
lean_ctor_set(x_25, 3, x_2);
|
||||
lean_ctor_set(x_25, 4, x_19);
|
||||
lean_ctor_set_uint8(x_25, sizeof(void*)*5, x_24);
|
||||
x_26 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_26, 0, x_25);
|
||||
lean_ctor_set(x_26, 1, x_20);
|
||||
return x_26;
|
||||
x_27 = lean_alloc_ctor(0, 5, 2);
|
||||
lean_ctor_set(x_27, 0, x_22);
|
||||
lean_ctor_set(x_27, 1, x_23);
|
||||
lean_ctor_set(x_27, 2, x_24);
|
||||
lean_ctor_set(x_27, 3, x_2);
|
||||
lean_ctor_set(x_27, 4, x_20);
|
||||
lean_ctor_set_uint8(x_27, sizeof(void*)*5, x_25);
|
||||
lean_ctor_set_uint8(x_27, sizeof(void*)*5 + 1, x_26);
|
||||
x_28 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_28, 0, x_27);
|
||||
lean_ctor_set(x_28, 1, x_21);
|
||||
return x_28;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -3491,7 +3495,7 @@ x_1 = l_Lean_Compiler_LCNF_pullInstances___closed__4;
|
|||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PullLetDecls___hyg_1357____closed__1() {
|
||||
static lean_object* _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PullLetDecls___hyg_1358____closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
|
|
@ -3499,21 +3503,21 @@ x_1 = lean_mk_string_from_bytes("Compiler", 8);
|
|||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PullLetDecls___hyg_1357____closed__2() {
|
||||
static lean_object* _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PullLetDecls___hyg_1358____closed__2() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PullLetDecls___hyg_1357____closed__1;
|
||||
x_1 = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PullLetDecls___hyg_1358____closed__1;
|
||||
x_2 = l_Lean_Compiler_LCNF_pullInstances___closed__1;
|
||||
x_3 = l_Lean_Name_mkStr2(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PullLetDecls___hyg_1357_(lean_object* x_1) {
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PullLetDecls___hyg_1358_(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; uint8_t x_3; lean_object* x_4;
|
||||
x_2 = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PullLetDecls___hyg_1357____closed__2;
|
||||
x_2 = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PullLetDecls___hyg_1358____closed__2;
|
||||
x_3 = 1;
|
||||
x_4 = l_Lean_registerTraceClass(x_2, x_3, x_1);
|
||||
return x_4;
|
||||
|
|
@ -3578,11 +3582,11 @@ l_Lean_Compiler_LCNF_pullInstances___closed__4 = _init_l_Lean_Compiler_LCNF_pull
|
|||
lean_mark_persistent(l_Lean_Compiler_LCNF_pullInstances___closed__4);
|
||||
l_Lean_Compiler_LCNF_pullInstances = _init_l_Lean_Compiler_LCNF_pullInstances();
|
||||
lean_mark_persistent(l_Lean_Compiler_LCNF_pullInstances);
|
||||
l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PullLetDecls___hyg_1357____closed__1 = _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PullLetDecls___hyg_1357____closed__1();
|
||||
lean_mark_persistent(l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PullLetDecls___hyg_1357____closed__1);
|
||||
l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PullLetDecls___hyg_1357____closed__2 = _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PullLetDecls___hyg_1357____closed__2();
|
||||
lean_mark_persistent(l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PullLetDecls___hyg_1357____closed__2);
|
||||
res = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PullLetDecls___hyg_1357_(lean_io_mk_world());
|
||||
l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PullLetDecls___hyg_1358____closed__1 = _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PullLetDecls___hyg_1358____closed__1();
|
||||
lean_mark_persistent(l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PullLetDecls___hyg_1358____closed__1);
|
||||
l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PullLetDecls___hyg_1358____closed__2 = _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PullLetDecls___hyg_1358____closed__2();
|
||||
lean_mark_persistent(l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PullLetDecls___hyg_1358____closed__2);
|
||||
res = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_PullLetDecls___hyg_1358_(lean_io_mk_world());
|
||||
if (lean_io_result_is_error(res)) return res;
|
||||
lean_dec_ref(res);
|
||||
return lean_io_result_mk_ok(lean_box(0));
|
||||
|
|
|
|||
114
stage0/stdlib/Lean/Compiler/LCNF/ReduceJpArity.c
generated
114
stage0/stdlib/Lean/Compiler/LCNF/ReduceJpArity.c
generated
|
|
@ -23,14 +23,16 @@ lean_object* lean_array_uget(lean_object*, size_t);
|
|||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_ReduceJpArity_reduce___spec__2(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Compiler_LCNF_eraseParam(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Name_mkStr2(lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_ReduceJpArity___hyg_883____closed__1;
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_ReduceJpArity_reduce___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Array_toSubarray___rarg(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* lean_array_push(lean_object*, lean_object*);
|
||||
lean_object* lean_array_get_size(lean_object*);
|
||||
static lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_ReduceJpArity___hyg_883____closed__2;
|
||||
LEAN_EXPORT lean_object* l___private_Init_Data_Array_BasicAux_0__mapMonoMImp___at_Lean_Compiler_LCNF_ReduceJpArity_reduce___spec__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_ReduceJpArity_reduce___spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_updateAltCodeImp(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_ReduceJpArity___hyg_882_(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_ReduceJpArity___hyg_883_(lean_object*);
|
||||
static lean_object* l_Lean_Compiler_LCNF_ReduceJpArity_reduce___closed__1;
|
||||
uint8_t lean_usize_dec_lt(size_t, size_t);
|
||||
lean_object* l_Lean_Compiler_LCNF_Code_inferType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -42,7 +44,6 @@ lean_object* lean_array_fget(lean_object*, lean_object*);
|
|||
lean_object* l_Lean_RBNode_setBlack___rarg(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_RBNode_find___at_Lean_Compiler_LCNF_ReduceJpArity_reduce___spec__6___boxed(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_reduceJpArity;
|
||||
static lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_ReduceJpArity___hyg_882____closed__2;
|
||||
lean_object* lean_array_fset(lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Compiler_LCNF_reduceJpArity___closed__4;
|
||||
LEAN_EXPORT lean_object* l___private_Init_Data_Array_BasicAux_0__mapMonoMImp_go___at_Lean_Compiler_LCNF_ReduceJpArity_reduce___spec__9(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -56,7 +57,6 @@ size_t lean_usize_of_nat(lean_object*);
|
|||
LEAN_EXPORT lean_object* l_Lean_RBNode_insert___at_Lean_Compiler_LCNF_ReduceJpArity_reduce___spec__4(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Compiler_LCNF_mkForallParams(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
size_t lean_ptr_addr(lean_object*);
|
||||
static lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_ReduceJpArity___hyg_882____closed__1;
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_ReduceJpArity_reduce___spec__2___at_Lean_Compiler_LCNF_ReduceJpArity_reduce___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_collectExpr(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Compiler_LCNF_AltCore_getCode(lean_object*);
|
||||
|
|
@ -4862,79 +4862,81 @@ return x_23;
|
|||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; uint8_t x_29; lean_object* x_30; lean_object* x_31;
|
||||
lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; uint8_t x_29; uint8_t x_30; lean_object* x_31; lean_object* x_32;
|
||||
x_24 = lean_ctor_get(x_1, 0);
|
||||
x_25 = lean_ctor_get(x_1, 1);
|
||||
x_26 = lean_ctor_get(x_1, 2);
|
||||
x_27 = lean_ctor_get(x_1, 3);
|
||||
x_28 = lean_ctor_get(x_1, 4);
|
||||
x_29 = lean_ctor_get_uint8(x_1, sizeof(void*)*5);
|
||||
x_30 = lean_ctor_get_uint8(x_1, sizeof(void*)*5 + 1);
|
||||
lean_inc(x_28);
|
||||
lean_inc(x_27);
|
||||
lean_inc(x_26);
|
||||
lean_inc(x_25);
|
||||
lean_inc(x_24);
|
||||
lean_dec(x_1);
|
||||
x_30 = lean_box(0);
|
||||
x_31 = l_Lean_Compiler_LCNF_ReduceJpArity_reduce(x_28, x_30, x_2, x_3, x_4, x_5, x_6);
|
||||
if (lean_obj_tag(x_31) == 0)
|
||||
x_31 = lean_box(0);
|
||||
x_32 = l_Lean_Compiler_LCNF_ReduceJpArity_reduce(x_28, x_31, x_2, x_3, x_4, x_5, x_6);
|
||||
if (lean_obj_tag(x_32) == 0)
|
||||
{
|
||||
lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36;
|
||||
x_32 = lean_ctor_get(x_31, 0);
|
||||
lean_inc(x_32);
|
||||
x_33 = lean_ctor_get(x_31, 1);
|
||||
lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
|
||||
x_33 = lean_ctor_get(x_32, 0);
|
||||
lean_inc(x_33);
|
||||
if (lean_is_exclusive(x_31)) {
|
||||
lean_ctor_release(x_31, 0);
|
||||
lean_ctor_release(x_31, 1);
|
||||
x_34 = x_31;
|
||||
x_34 = lean_ctor_get(x_32, 1);
|
||||
lean_inc(x_34);
|
||||
if (lean_is_exclusive(x_32)) {
|
||||
lean_ctor_release(x_32, 0);
|
||||
lean_ctor_release(x_32, 1);
|
||||
x_35 = x_32;
|
||||
} else {
|
||||
lean_dec_ref(x_31);
|
||||
x_34 = lean_box(0);
|
||||
lean_dec_ref(x_32);
|
||||
x_35 = lean_box(0);
|
||||
}
|
||||
x_35 = lean_alloc_ctor(0, 5, 1);
|
||||
lean_ctor_set(x_35, 0, x_24);
|
||||
lean_ctor_set(x_35, 1, x_25);
|
||||
lean_ctor_set(x_35, 2, x_26);
|
||||
lean_ctor_set(x_35, 3, x_27);
|
||||
lean_ctor_set(x_35, 4, x_32);
|
||||
lean_ctor_set_uint8(x_35, sizeof(void*)*5, x_29);
|
||||
if (lean_is_scalar(x_34)) {
|
||||
x_36 = lean_alloc_ctor(0, 2, 0);
|
||||
x_36 = lean_alloc_ctor(0, 5, 2);
|
||||
lean_ctor_set(x_36, 0, x_24);
|
||||
lean_ctor_set(x_36, 1, x_25);
|
||||
lean_ctor_set(x_36, 2, x_26);
|
||||
lean_ctor_set(x_36, 3, x_27);
|
||||
lean_ctor_set(x_36, 4, x_33);
|
||||
lean_ctor_set_uint8(x_36, sizeof(void*)*5, x_29);
|
||||
lean_ctor_set_uint8(x_36, sizeof(void*)*5 + 1, x_30);
|
||||
if (lean_is_scalar(x_35)) {
|
||||
x_37 = lean_alloc_ctor(0, 2, 0);
|
||||
} else {
|
||||
x_36 = x_34;
|
||||
x_37 = x_35;
|
||||
}
|
||||
lean_ctor_set(x_36, 0, x_35);
|
||||
lean_ctor_set(x_36, 1, x_33);
|
||||
return x_36;
|
||||
lean_ctor_set(x_37, 0, x_36);
|
||||
lean_ctor_set(x_37, 1, x_34);
|
||||
return x_37;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40;
|
||||
lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41;
|
||||
lean_dec(x_27);
|
||||
lean_dec(x_26);
|
||||
lean_dec(x_25);
|
||||
lean_dec(x_24);
|
||||
x_37 = lean_ctor_get(x_31, 0);
|
||||
lean_inc(x_37);
|
||||
x_38 = lean_ctor_get(x_31, 1);
|
||||
x_38 = lean_ctor_get(x_32, 0);
|
||||
lean_inc(x_38);
|
||||
if (lean_is_exclusive(x_31)) {
|
||||
lean_ctor_release(x_31, 0);
|
||||
lean_ctor_release(x_31, 1);
|
||||
x_39 = x_31;
|
||||
x_39 = lean_ctor_get(x_32, 1);
|
||||
lean_inc(x_39);
|
||||
if (lean_is_exclusive(x_32)) {
|
||||
lean_ctor_release(x_32, 0);
|
||||
lean_ctor_release(x_32, 1);
|
||||
x_40 = x_32;
|
||||
} else {
|
||||
lean_dec_ref(x_31);
|
||||
x_39 = lean_box(0);
|
||||
lean_dec_ref(x_32);
|
||||
x_40 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_39)) {
|
||||
x_40 = lean_alloc_ctor(1, 2, 0);
|
||||
if (lean_is_scalar(x_40)) {
|
||||
x_41 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_40 = x_39;
|
||||
x_41 = x_40;
|
||||
}
|
||||
lean_ctor_set(x_40, 0, x_37);
|
||||
lean_ctor_set(x_40, 1, x_38);
|
||||
return x_40;
|
||||
lean_ctor_set(x_41, 0, x_38);
|
||||
lean_ctor_set(x_41, 1, x_39);
|
||||
return x_41;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -4985,7 +4987,7 @@ x_1 = l_Lean_Compiler_LCNF_reduceJpArity___closed__4;
|
|||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_ReduceJpArity___hyg_882____closed__1() {
|
||||
static lean_object* _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_ReduceJpArity___hyg_883____closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
|
|
@ -4993,21 +4995,21 @@ x_1 = lean_mk_string_from_bytes("Compiler", 8);
|
|||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_ReduceJpArity___hyg_882____closed__2() {
|
||||
static lean_object* _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_ReduceJpArity___hyg_883____closed__2() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_ReduceJpArity___hyg_882____closed__1;
|
||||
x_1 = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_ReduceJpArity___hyg_883____closed__1;
|
||||
x_2 = l_Lean_Compiler_LCNF_reduceJpArity___closed__1;
|
||||
x_3 = l_Lean_Name_mkStr2(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_ReduceJpArity___hyg_882_(lean_object* x_1) {
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_ReduceJpArity___hyg_883_(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; uint8_t x_3; lean_object* x_4;
|
||||
x_2 = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_ReduceJpArity___hyg_882____closed__2;
|
||||
x_2 = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_ReduceJpArity___hyg_883____closed__2;
|
||||
x_3 = 1;
|
||||
x_4 = l_Lean_registerTraceClass(x_2, x_3, x_1);
|
||||
return x_4;
|
||||
|
|
@ -5048,11 +5050,11 @@ l_Lean_Compiler_LCNF_reduceJpArity___closed__4 = _init_l_Lean_Compiler_LCNF_redu
|
|||
lean_mark_persistent(l_Lean_Compiler_LCNF_reduceJpArity___closed__4);
|
||||
l_Lean_Compiler_LCNF_reduceJpArity = _init_l_Lean_Compiler_LCNF_reduceJpArity();
|
||||
lean_mark_persistent(l_Lean_Compiler_LCNF_reduceJpArity);
|
||||
l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_ReduceJpArity___hyg_882____closed__1 = _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_ReduceJpArity___hyg_882____closed__1();
|
||||
lean_mark_persistent(l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_ReduceJpArity___hyg_882____closed__1);
|
||||
l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_ReduceJpArity___hyg_882____closed__2 = _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_ReduceJpArity___hyg_882____closed__2();
|
||||
lean_mark_persistent(l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_ReduceJpArity___hyg_882____closed__2);
|
||||
res = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_ReduceJpArity___hyg_882_(lean_io_mk_world());
|
||||
l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_ReduceJpArity___hyg_883____closed__1 = _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_ReduceJpArity___hyg_883____closed__1();
|
||||
lean_mark_persistent(l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_ReduceJpArity___hyg_883____closed__1);
|
||||
l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_ReduceJpArity___hyg_883____closed__2 = _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_ReduceJpArity___hyg_883____closed__2();
|
||||
lean_mark_persistent(l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_ReduceJpArity___hyg_883____closed__2);
|
||||
res = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_ReduceJpArity___hyg_883_(lean_io_mk_world());
|
||||
if (lean_io_result_is_error(res)) return res;
|
||||
lean_dec_ref(res);
|
||||
return lean_io_result_mk_ok(lean_box(0));
|
||||
|
|
|
|||
138
stage0/stdlib/Lean/Compiler/LCNF/Renaming.c
generated
138
stage0/stdlib/Lean/Compiler/LCNF/Renaming.c
generated
|
|
@ -2269,13 +2269,14 @@ return x_32;
|
|||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; uint8_t x_38; lean_object* x_39; lean_object* x_40;
|
||||
lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; uint8_t x_38; uint8_t x_39; lean_object* x_40; lean_object* x_41;
|
||||
x_33 = lean_ctor_get(x_1, 0);
|
||||
x_34 = lean_ctor_get(x_1, 1);
|
||||
x_35 = lean_ctor_get(x_1, 2);
|
||||
x_36 = lean_ctor_get(x_1, 3);
|
||||
x_37 = lean_ctor_get(x_1, 4);
|
||||
x_38 = lean_ctor_get_uint8(x_1, sizeof(void*)*5);
|
||||
x_39 = lean_ctor_get_uint8(x_1, sizeof(void*)*5 + 1);
|
||||
lean_inc(x_37);
|
||||
lean_inc(x_36);
|
||||
lean_inc(x_35);
|
||||
|
|
@ -2283,85 +2284,86 @@ lean_inc(x_34);
|
|||
lean_inc(x_33);
|
||||
lean_dec(x_1);
|
||||
lean_inc(x_2);
|
||||
x_39 = lean_alloc_closure((void*)(l_Lean_Compiler_LCNF_Code_applyRenaming___lambda__1___boxed), 7, 1);
|
||||
lean_closure_set(x_39, 0, x_2);
|
||||
x_40 = lean_alloc_closure((void*)(l_Lean_Compiler_LCNF_Code_applyRenaming___lambda__1___boxed), 7, 1);
|
||||
lean_closure_set(x_40, 0, x_2);
|
||||
lean_inc(x_6);
|
||||
lean_inc(x_5);
|
||||
lean_inc(x_4);
|
||||
lean_inc(x_3);
|
||||
x_40 = l___private_Init_Data_Array_BasicAux_0__mapMonoMImp___at_Lean_Compiler_LCNF_Code_applyRenaming___spec__1(x_36, x_39, x_3, x_4, x_5, x_6, x_7);
|
||||
if (lean_obj_tag(x_40) == 0)
|
||||
x_41 = l___private_Init_Data_Array_BasicAux_0__mapMonoMImp___at_Lean_Compiler_LCNF_Code_applyRenaming___spec__1(x_36, x_40, x_3, x_4, x_5, x_6, x_7);
|
||||
if (lean_obj_tag(x_41) == 0)
|
||||
{
|
||||
lean_object* x_41; lean_object* x_42; lean_object* x_43;
|
||||
x_41 = lean_ctor_get(x_40, 0);
|
||||
lean_inc(x_41);
|
||||
x_42 = lean_ctor_get(x_40, 1);
|
||||
lean_object* x_42; lean_object* x_43; lean_object* x_44;
|
||||
x_42 = lean_ctor_get(x_41, 0);
|
||||
lean_inc(x_42);
|
||||
lean_dec(x_40);
|
||||
x_43 = l_Lean_Compiler_LCNF_Code_applyRenaming(x_37, x_2, x_3, x_4, x_5, x_6, x_42);
|
||||
if (lean_obj_tag(x_43) == 0)
|
||||
x_43 = lean_ctor_get(x_41, 1);
|
||||
lean_inc(x_43);
|
||||
lean_dec(x_41);
|
||||
x_44 = l_Lean_Compiler_LCNF_Code_applyRenaming(x_37, x_2, x_3, x_4, x_5, x_6, x_43);
|
||||
if (lean_obj_tag(x_44) == 0)
|
||||
{
|
||||
lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48;
|
||||
x_44 = lean_ctor_get(x_43, 0);
|
||||
lean_inc(x_44);
|
||||
x_45 = lean_ctor_get(x_43, 1);
|
||||
lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49;
|
||||
x_45 = lean_ctor_get(x_44, 0);
|
||||
lean_inc(x_45);
|
||||
if (lean_is_exclusive(x_43)) {
|
||||
lean_ctor_release(x_43, 0);
|
||||
lean_ctor_release(x_43, 1);
|
||||
x_46 = x_43;
|
||||
x_46 = lean_ctor_get(x_44, 1);
|
||||
lean_inc(x_46);
|
||||
if (lean_is_exclusive(x_44)) {
|
||||
lean_ctor_release(x_44, 0);
|
||||
lean_ctor_release(x_44, 1);
|
||||
x_47 = x_44;
|
||||
} else {
|
||||
lean_dec_ref(x_43);
|
||||
x_46 = lean_box(0);
|
||||
lean_dec_ref(x_44);
|
||||
x_47 = lean_box(0);
|
||||
}
|
||||
x_47 = lean_alloc_ctor(0, 5, 1);
|
||||
lean_ctor_set(x_47, 0, x_33);
|
||||
lean_ctor_set(x_47, 1, x_34);
|
||||
lean_ctor_set(x_47, 2, x_35);
|
||||
lean_ctor_set(x_47, 3, x_41);
|
||||
lean_ctor_set(x_47, 4, x_44);
|
||||
lean_ctor_set_uint8(x_47, sizeof(void*)*5, x_38);
|
||||
if (lean_is_scalar(x_46)) {
|
||||
x_48 = lean_alloc_ctor(0, 2, 0);
|
||||
x_48 = lean_alloc_ctor(0, 5, 2);
|
||||
lean_ctor_set(x_48, 0, x_33);
|
||||
lean_ctor_set(x_48, 1, x_34);
|
||||
lean_ctor_set(x_48, 2, x_35);
|
||||
lean_ctor_set(x_48, 3, x_42);
|
||||
lean_ctor_set(x_48, 4, x_45);
|
||||
lean_ctor_set_uint8(x_48, sizeof(void*)*5, x_38);
|
||||
lean_ctor_set_uint8(x_48, sizeof(void*)*5 + 1, x_39);
|
||||
if (lean_is_scalar(x_47)) {
|
||||
x_49 = lean_alloc_ctor(0, 2, 0);
|
||||
} else {
|
||||
x_48 = x_46;
|
||||
x_49 = x_47;
|
||||
}
|
||||
lean_ctor_set(x_48, 0, x_47);
|
||||
lean_ctor_set(x_48, 1, x_45);
|
||||
return x_48;
|
||||
lean_ctor_set(x_49, 0, x_48);
|
||||
lean_ctor_set(x_49, 1, x_46);
|
||||
return x_49;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52;
|
||||
lean_dec(x_41);
|
||||
lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53;
|
||||
lean_dec(x_42);
|
||||
lean_dec(x_35);
|
||||
lean_dec(x_34);
|
||||
lean_dec(x_33);
|
||||
x_49 = lean_ctor_get(x_43, 0);
|
||||
lean_inc(x_49);
|
||||
x_50 = lean_ctor_get(x_43, 1);
|
||||
x_50 = lean_ctor_get(x_44, 0);
|
||||
lean_inc(x_50);
|
||||
if (lean_is_exclusive(x_43)) {
|
||||
lean_ctor_release(x_43, 0);
|
||||
lean_ctor_release(x_43, 1);
|
||||
x_51 = x_43;
|
||||
x_51 = lean_ctor_get(x_44, 1);
|
||||
lean_inc(x_51);
|
||||
if (lean_is_exclusive(x_44)) {
|
||||
lean_ctor_release(x_44, 0);
|
||||
lean_ctor_release(x_44, 1);
|
||||
x_52 = x_44;
|
||||
} else {
|
||||
lean_dec_ref(x_43);
|
||||
x_51 = lean_box(0);
|
||||
lean_dec_ref(x_44);
|
||||
x_52 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_51)) {
|
||||
x_52 = lean_alloc_ctor(1, 2, 0);
|
||||
if (lean_is_scalar(x_52)) {
|
||||
x_53 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_52 = x_51;
|
||||
x_53 = x_52;
|
||||
}
|
||||
lean_ctor_set(x_52, 0, x_49);
|
||||
lean_ctor_set(x_52, 1, x_50);
|
||||
return x_52;
|
||||
lean_ctor_set(x_53, 0, x_50);
|
||||
lean_ctor_set(x_53, 1, x_51);
|
||||
return x_53;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56;
|
||||
lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57;
|
||||
lean_dec(x_37);
|
||||
lean_dec(x_35);
|
||||
lean_dec(x_34);
|
||||
|
|
@ -2371,26 +2373,26 @@ lean_dec(x_5);
|
|||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
x_53 = lean_ctor_get(x_40, 0);
|
||||
lean_inc(x_53);
|
||||
x_54 = lean_ctor_get(x_40, 1);
|
||||
x_54 = lean_ctor_get(x_41, 0);
|
||||
lean_inc(x_54);
|
||||
if (lean_is_exclusive(x_40)) {
|
||||
lean_ctor_release(x_40, 0);
|
||||
lean_ctor_release(x_40, 1);
|
||||
x_55 = x_40;
|
||||
x_55 = lean_ctor_get(x_41, 1);
|
||||
lean_inc(x_55);
|
||||
if (lean_is_exclusive(x_41)) {
|
||||
lean_ctor_release(x_41, 0);
|
||||
lean_ctor_release(x_41, 1);
|
||||
x_56 = x_41;
|
||||
} else {
|
||||
lean_dec_ref(x_40);
|
||||
x_55 = lean_box(0);
|
||||
lean_dec_ref(x_41);
|
||||
x_56 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_55)) {
|
||||
x_56 = lean_alloc_ctor(1, 2, 0);
|
||||
if (lean_is_scalar(x_56)) {
|
||||
x_57 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_56 = x_55;
|
||||
x_57 = x_56;
|
||||
}
|
||||
lean_ctor_set(x_56, 0, x_53);
|
||||
lean_ctor_set(x_56, 1, x_54);
|
||||
return x_56;
|
||||
lean_ctor_set(x_57, 0, x_54);
|
||||
lean_ctor_set(x_57, 1, x_55);
|
||||
return x_57;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
1297
stage0/stdlib/Lean/Compiler/LCNF/Simp.c
generated
1297
stage0/stdlib/Lean/Compiler/LCNF/Simp.c
generated
File diff suppressed because it is too large
Load diff
868
stage0/stdlib/Lean/Compiler/LCNF/Simp/InlineCandidate.c
generated
868
stage0/stdlib/Lean/Compiler/LCNF/Simp/InlineCandidate.c
generated
File diff suppressed because it is too large
Load diff
928
stage0/stdlib/Lean/Compiler/LCNF/Simp/SimpM.c
generated
928
stage0/stdlib/Lean/Compiler/LCNF/Simp/SimpM.c
generated
File diff suppressed because it is too large
Load diff
1107
stage0/stdlib/Lean/Compiler/LCNF/Specialize.c
generated
1107
stage0/stdlib/Lean/Compiler/LCNF/Specialize.c
generated
File diff suppressed because it is too large
Load diff
4
stage0/stdlib/Lean/Compiler/LCNF/Testing.c
generated
4
stage0/stdlib/Lean/Compiler/LCNF/Testing.c
generated
|
|
@ -58,7 +58,7 @@ lean_object* l_Lean_Name_mkStr2(lean_object*, lean_object*);
|
|||
lean_object* lean_array_get_size(lean_object*);
|
||||
lean_object* lean_string_append(lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Compiler_LCNF_Code_containsConst_goExpr___closed__2;
|
||||
uint8_t l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_3636_(lean_object*, lean_object*);
|
||||
uint8_t l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_3646_(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_Testing_assertNoFun___spec__3(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Testing_0__Lean_Compiler_LCNF_Testing_assertAfterTest___elambda__1___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Testing_InOutAssertionM_run___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -2822,7 +2822,7 @@ else
|
|||
lean_object* x_10; lean_object* x_11; uint8_t x_12;
|
||||
x_10 = lean_array_fget(x_4, x_6);
|
||||
x_11 = lean_array_fget(x_5, x_6);
|
||||
x_12 = l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_3636_(x_10, x_11);
|
||||
x_12 = l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_3646_(x_10, x_11);
|
||||
lean_dec(x_11);
|
||||
if (x_12 == 0)
|
||||
{
|
||||
|
|
|
|||
578
stage0/stdlib/Lean/Compiler/LCNF/ToDecl.c
generated
578
stage0/stdlib/Lean/Compiler/LCNF/ToDecl.c
generated
|
|
@ -34,6 +34,7 @@ LEAN_EXPORT lean_object* l_Lean_Meta_getMatcherInfo_x3f___at_Lean_Compiler_LCNF_
|
|||
static lean_object* l_Lean_Compiler_LCNF_inlineMatchers___closed__1;
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_lambdaTelescope___at___private_Lean_Compiler_LCNF_ToDecl_0__Lean_Compiler_LCNF_normalizeAlt___spec__2(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_inlineMatchers___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
uint8_t l_Lean_ConstantInfo_isUnsafe(lean_object*);
|
||||
static lean_object* l_Lean_Compiler_LCNF_inlineMatchers___closed__9;
|
||||
LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Compiler_LCNF_toDecl___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Array_toSubarray___rarg(lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -150,6 +151,7 @@ static lean_object* l_Lean_Compiler_LCNF_toDecl___closed__4;
|
|||
LEAN_EXPORT lean_object* l_Lean_Meta_withLetDecl___at___private_Lean_Compiler_LCNF_ToDecl_0__Lean_Compiler_LCNF_normalizeAlt___spec__1(lean_object*);
|
||||
lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_lambdaTelescopeImp___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_withLetDeclImp___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
uint8_t l_Lean_ConstantInfo_isPartial(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_inlineMatchers(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_Match_Extension_getMatcherInfo_x3f(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_inlineMatchers___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -2867,19 +2869,19 @@ x_7 = lean_is_unsafe_rec_name(x_1);
|
|||
if (lean_obj_tag(x_7) == 0)
|
||||
{
|
||||
x_8 = x_1;
|
||||
goto block_114;
|
||||
goto block_138;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_115;
|
||||
lean_object* x_139;
|
||||
lean_dec(x_1);
|
||||
x_115 = lean_ctor_get(x_7, 0);
|
||||
lean_inc(x_115);
|
||||
x_139 = lean_ctor_get(x_7, 0);
|
||||
lean_inc(x_139);
|
||||
lean_dec(x_7);
|
||||
x_8 = x_115;
|
||||
goto block_114;
|
||||
x_8 = x_139;
|
||||
goto block_138;
|
||||
}
|
||||
block_114:
|
||||
block_138:
|
||||
{
|
||||
lean_object* x_9; lean_object* x_10;
|
||||
lean_inc(x_8);
|
||||
|
|
@ -3047,273 +3049,363 @@ lean_inc(x_2);
|
|||
x_62 = l_Lean_Compiler_LCNF_ToLCNF_toLCNF(x_56, x_2, x_3, x_4, x_5, x_61);
|
||||
if (lean_obj_tag(x_62) == 0)
|
||||
{
|
||||
lean_object* x_63; lean_object* x_64; lean_object* x_65;
|
||||
lean_object* x_63; lean_object* x_64; uint8_t x_65; lean_object* x_66; uint8_t x_67; lean_object* x_68; lean_object* x_69;
|
||||
x_63 = lean_ctor_get(x_62, 0);
|
||||
lean_inc(x_63);
|
||||
x_64 = lean_ctor_get(x_62, 1);
|
||||
lean_inc(x_64);
|
||||
lean_dec(x_62);
|
||||
x_65 = l_Lean_Compiler_LCNF_toDecl___closed__8;
|
||||
x_65 = l_Lean_ConstantInfo_isPartial(x_19);
|
||||
x_66 = l_Lean_Compiler_LCNF_toDecl___closed__8;
|
||||
if (x_65 == 0)
|
||||
{
|
||||
uint8_t x_84;
|
||||
x_84 = l_Lean_ConstantInfo_isUnsafe(x_19);
|
||||
if (x_84 == 0)
|
||||
{
|
||||
if (lean_obj_tag(x_63) == 1)
|
||||
{
|
||||
lean_object* x_66;
|
||||
x_66 = lean_ctor_get(x_63, 1);
|
||||
lean_inc(x_66);
|
||||
if (lean_obj_tag(x_66) == 5)
|
||||
lean_object* x_85; lean_object* x_86; uint8_t x_87;
|
||||
x_85 = lean_ctor_get(x_63, 0);
|
||||
lean_inc(x_85);
|
||||
x_86 = lean_ctor_get(x_63, 1);
|
||||
lean_inc(x_86);
|
||||
x_87 = 1;
|
||||
x_67 = x_87;
|
||||
x_68 = x_85;
|
||||
x_69 = x_86;
|
||||
goto block_83;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_67; uint8_t x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75;
|
||||
lean_dec(x_66);
|
||||
x_67 = lean_ctor_get(x_63, 0);
|
||||
lean_inc(x_67);
|
||||
lean_dec(x_63);
|
||||
x_68 = 0;
|
||||
lean_inc(x_67);
|
||||
x_69 = l_Lean_Compiler_LCNF_eraseFunDecl(x_67, x_68, x_2, x_3, x_4, x_5, x_64);
|
||||
x_70 = lean_ctor_get(x_69, 1);
|
||||
lean_inc(x_70);
|
||||
lean_dec(x_69);
|
||||
x_71 = l_Lean_ConstantInfo_levelParams(x_19);
|
||||
lean_object* x_88; lean_object* x_89; uint8_t x_90; uint8_t x_91; lean_object* x_92; lean_object* x_93;
|
||||
x_88 = l_Lean_ConstantInfo_levelParams(x_19);
|
||||
lean_dec(x_19);
|
||||
x_72 = lean_ctor_get(x_67, 2);
|
||||
lean_inc(x_72);
|
||||
x_73 = lean_ctor_get(x_67, 4);
|
||||
lean_inc(x_73);
|
||||
lean_dec(x_67);
|
||||
x_74 = lean_alloc_ctor(0, 5, 1);
|
||||
lean_ctor_set(x_74, 0, x_8);
|
||||
lean_ctor_set(x_74, 1, x_71);
|
||||
lean_ctor_set(x_74, 2, x_37);
|
||||
lean_ctor_set(x_74, 3, x_72);
|
||||
lean_ctor_set(x_74, 4, x_73);
|
||||
lean_ctor_set_uint8(x_74, sizeof(void*)*5, x_68);
|
||||
x_75 = lean_apply_6(x_65, x_74, x_2, x_3, x_4, x_5, x_70);
|
||||
return x_75;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_76; lean_object* x_77; uint8_t x_78; lean_object* x_79; lean_object* x_80;
|
||||
lean_dec(x_66);
|
||||
x_76 = l_Lean_ConstantInfo_levelParams(x_19);
|
||||
lean_dec(x_19);
|
||||
x_77 = l_Lean_Compiler_LCNF_inlineMatchers___lambda__2___closed__1;
|
||||
x_78 = 0;
|
||||
x_79 = lean_alloc_ctor(0, 5, 1);
|
||||
lean_ctor_set(x_79, 0, x_8);
|
||||
lean_ctor_set(x_79, 1, x_76);
|
||||
lean_ctor_set(x_79, 2, x_37);
|
||||
lean_ctor_set(x_79, 3, x_77);
|
||||
lean_ctor_set(x_79, 4, x_63);
|
||||
lean_ctor_set_uint8(x_79, sizeof(void*)*5, x_78);
|
||||
x_80 = lean_apply_6(x_65, x_79, x_2, x_3, x_4, x_5, x_64);
|
||||
return x_80;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_81; lean_object* x_82; uint8_t x_83; lean_object* x_84; lean_object* x_85;
|
||||
x_81 = l_Lean_ConstantInfo_levelParams(x_19);
|
||||
lean_dec(x_19);
|
||||
x_82 = l_Lean_Compiler_LCNF_inlineMatchers___lambda__2___closed__1;
|
||||
x_83 = 0;
|
||||
x_84 = lean_alloc_ctor(0, 5, 1);
|
||||
lean_ctor_set(x_84, 0, x_8);
|
||||
lean_ctor_set(x_84, 1, x_81);
|
||||
lean_ctor_set(x_84, 2, x_37);
|
||||
lean_ctor_set(x_84, 3, x_82);
|
||||
lean_ctor_set(x_84, 4, x_63);
|
||||
lean_ctor_set_uint8(x_84, sizeof(void*)*5, x_83);
|
||||
x_85 = lean_apply_6(x_65, x_84, x_2, x_3, x_4, x_5, x_64);
|
||||
return x_85;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_86;
|
||||
lean_dec(x_37);
|
||||
lean_dec(x_19);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
x_86 = !lean_is_exclusive(x_62);
|
||||
if (x_86 == 0)
|
||||
{
|
||||
return x_62;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_87; lean_object* x_88; lean_object* x_89;
|
||||
x_87 = lean_ctor_get(x_62, 0);
|
||||
x_88 = lean_ctor_get(x_62, 1);
|
||||
lean_inc(x_88);
|
||||
lean_inc(x_87);
|
||||
lean_dec(x_62);
|
||||
x_89 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_89, 0, x_87);
|
||||
lean_ctor_set(x_89, 1, x_88);
|
||||
return x_89;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_90;
|
||||
lean_dec(x_37);
|
||||
lean_dec(x_33);
|
||||
lean_dec(x_19);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
x_90 = !lean_is_exclusive(x_55);
|
||||
if (x_90 == 0)
|
||||
{
|
||||
return x_55;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_91; lean_object* x_92; lean_object* x_93;
|
||||
x_91 = lean_ctor_get(x_55, 0);
|
||||
x_92 = lean_ctor_get(x_55, 1);
|
||||
lean_inc(x_92);
|
||||
lean_inc(x_91);
|
||||
lean_dec(x_55);
|
||||
x_93 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_93, 0, x_91);
|
||||
lean_ctor_set(x_93, 1, x_92);
|
||||
x_89 = l_Lean_Compiler_LCNF_inlineMatchers___lambda__2___closed__1;
|
||||
x_90 = 0;
|
||||
x_91 = 1;
|
||||
x_92 = lean_alloc_ctor(0, 5, 2);
|
||||
lean_ctor_set(x_92, 0, x_8);
|
||||
lean_ctor_set(x_92, 1, x_88);
|
||||
lean_ctor_set(x_92, 2, x_37);
|
||||
lean_ctor_set(x_92, 3, x_89);
|
||||
lean_ctor_set(x_92, 4, x_63);
|
||||
lean_ctor_set_uint8(x_92, sizeof(void*)*5, x_90);
|
||||
lean_ctor_set_uint8(x_92, sizeof(void*)*5 + 1, x_91);
|
||||
x_93 = lean_apply_6(x_66, x_92, x_2, x_3, x_4, x_5, x_64);
|
||||
return x_93;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_94;
|
||||
lean_dec(x_37);
|
||||
lean_dec(x_33);
|
||||
lean_dec(x_19);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
x_94 = !lean_is_exclusive(x_52);
|
||||
if (x_94 == 0)
|
||||
if (lean_obj_tag(x_63) == 1)
|
||||
{
|
||||
return x_52;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_95; lean_object* x_96; lean_object* x_97;
|
||||
x_95 = lean_ctor_get(x_52, 0);
|
||||
x_96 = lean_ctor_get(x_52, 1);
|
||||
lean_inc(x_96);
|
||||
lean_object* x_94; lean_object* x_95; uint8_t x_96;
|
||||
x_94 = lean_ctor_get(x_63, 0);
|
||||
lean_inc(x_94);
|
||||
x_95 = lean_ctor_get(x_63, 1);
|
||||
lean_inc(x_95);
|
||||
lean_dec(x_52);
|
||||
x_97 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_97, 0, x_95);
|
||||
lean_ctor_set(x_97, 1, x_96);
|
||||
return x_97;
|
||||
}
|
||||
}
|
||||
x_96 = 0;
|
||||
x_67 = x_96;
|
||||
x_68 = x_94;
|
||||
x_69 = x_95;
|
||||
goto block_83;
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_98;
|
||||
lean_dec(x_37);
|
||||
lean_dec(x_33);
|
||||
lean_object* x_97; lean_object* x_98; uint8_t x_99; lean_object* x_100; lean_object* x_101;
|
||||
x_97 = l_Lean_ConstantInfo_levelParams(x_19);
|
||||
lean_dec(x_19);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
x_98 = !lean_is_exclusive(x_49);
|
||||
if (x_98 == 0)
|
||||
{
|
||||
return x_49;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_99; lean_object* x_100; lean_object* x_101;
|
||||
x_99 = lean_ctor_get(x_49, 0);
|
||||
x_100 = lean_ctor_get(x_49, 1);
|
||||
lean_inc(x_100);
|
||||
lean_inc(x_99);
|
||||
lean_dec(x_49);
|
||||
x_101 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_101, 0, x_99);
|
||||
lean_ctor_set(x_101, 1, x_100);
|
||||
x_98 = l_Lean_Compiler_LCNF_inlineMatchers___lambda__2___closed__1;
|
||||
x_99 = 0;
|
||||
x_100 = lean_alloc_ctor(0, 5, 2);
|
||||
lean_ctor_set(x_100, 0, x_8);
|
||||
lean_ctor_set(x_100, 1, x_97);
|
||||
lean_ctor_set(x_100, 2, x_37);
|
||||
lean_ctor_set(x_100, 3, x_98);
|
||||
lean_ctor_set(x_100, 4, x_63);
|
||||
lean_ctor_set_uint8(x_100, sizeof(void*)*5, x_99);
|
||||
lean_ctor_set_uint8(x_100, sizeof(void*)*5 + 1, x_99);
|
||||
x_101 = lean_apply_6(x_66, x_100, x_2, x_3, x_4, x_5, x_64);
|
||||
return x_101;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_102;
|
||||
lean_dec(x_37);
|
||||
lean_dec(x_33);
|
||||
lean_dec(x_19);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
x_102 = !lean_is_exclusive(x_45);
|
||||
if (x_102 == 0)
|
||||
if (lean_obj_tag(x_63) == 1)
|
||||
{
|
||||
return x_45;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_103; lean_object* x_104; lean_object* x_105;
|
||||
x_103 = lean_ctor_get(x_45, 0);
|
||||
x_104 = lean_ctor_get(x_45, 1);
|
||||
lean_inc(x_104);
|
||||
lean_object* x_102; lean_object* x_103; uint8_t x_104;
|
||||
x_102 = lean_ctor_get(x_63, 0);
|
||||
lean_inc(x_102);
|
||||
x_103 = lean_ctor_get(x_63, 1);
|
||||
lean_inc(x_103);
|
||||
lean_dec(x_45);
|
||||
x_105 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_105, 0, x_103);
|
||||
lean_ctor_set(x_105, 1, x_104);
|
||||
return x_105;
|
||||
}
|
||||
}
|
||||
x_104 = 0;
|
||||
x_67 = x_104;
|
||||
x_68 = x_102;
|
||||
x_69 = x_103;
|
||||
goto block_83;
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_106;
|
||||
lean_dec(x_37);
|
||||
lean_dec(x_33);
|
||||
lean_object* x_105; lean_object* x_106; uint8_t x_107; lean_object* x_108; lean_object* x_109;
|
||||
x_105 = l_Lean_ConstantInfo_levelParams(x_19);
|
||||
lean_dec(x_19);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
x_106 = !lean_is_exclusive(x_40);
|
||||
if (x_106 == 0)
|
||||
x_106 = l_Lean_Compiler_LCNF_inlineMatchers___lambda__2___closed__1;
|
||||
x_107 = 0;
|
||||
x_108 = lean_alloc_ctor(0, 5, 2);
|
||||
lean_ctor_set(x_108, 0, x_8);
|
||||
lean_ctor_set(x_108, 1, x_105);
|
||||
lean_ctor_set(x_108, 2, x_37);
|
||||
lean_ctor_set(x_108, 3, x_106);
|
||||
lean_ctor_set(x_108, 4, x_63);
|
||||
lean_ctor_set_uint8(x_108, sizeof(void*)*5, x_107);
|
||||
lean_ctor_set_uint8(x_108, sizeof(void*)*5 + 1, x_107);
|
||||
x_109 = lean_apply_6(x_66, x_108, x_2, x_3, x_4, x_5, x_64);
|
||||
return x_109;
|
||||
}
|
||||
}
|
||||
block_83:
|
||||
{
|
||||
return x_40;
|
||||
if (lean_obj_tag(x_69) == 5)
|
||||
{
|
||||
uint8_t x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77;
|
||||
lean_dec(x_69);
|
||||
lean_dec(x_63);
|
||||
x_70 = 0;
|
||||
lean_inc(x_68);
|
||||
x_71 = l_Lean_Compiler_LCNF_eraseFunDecl(x_68, x_70, x_2, x_3, x_4, x_5, x_64);
|
||||
x_72 = lean_ctor_get(x_71, 1);
|
||||
lean_inc(x_72);
|
||||
lean_dec(x_71);
|
||||
x_73 = l_Lean_ConstantInfo_levelParams(x_19);
|
||||
lean_dec(x_19);
|
||||
x_74 = lean_ctor_get(x_68, 2);
|
||||
lean_inc(x_74);
|
||||
x_75 = lean_ctor_get(x_68, 4);
|
||||
lean_inc(x_75);
|
||||
lean_dec(x_68);
|
||||
x_76 = lean_alloc_ctor(0, 5, 2);
|
||||
lean_ctor_set(x_76, 0, x_8);
|
||||
lean_ctor_set(x_76, 1, x_73);
|
||||
lean_ctor_set(x_76, 2, x_37);
|
||||
lean_ctor_set(x_76, 3, x_74);
|
||||
lean_ctor_set(x_76, 4, x_75);
|
||||
lean_ctor_set_uint8(x_76, sizeof(void*)*5, x_70);
|
||||
lean_ctor_set_uint8(x_76, sizeof(void*)*5 + 1, x_67);
|
||||
x_77 = lean_apply_6(x_66, x_76, x_2, x_3, x_4, x_5, x_72);
|
||||
return x_77;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_107; lean_object* x_108; lean_object* x_109;
|
||||
x_107 = lean_ctor_get(x_40, 0);
|
||||
x_108 = lean_ctor_get(x_40, 1);
|
||||
lean_inc(x_108);
|
||||
lean_inc(x_107);
|
||||
lean_dec(x_40);
|
||||
x_109 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_109, 0, x_107);
|
||||
lean_ctor_set(x_109, 1, x_108);
|
||||
return x_109;
|
||||
lean_object* x_78; lean_object* x_79; uint8_t x_80; lean_object* x_81; lean_object* x_82;
|
||||
lean_dec(x_69);
|
||||
lean_dec(x_68);
|
||||
x_78 = l_Lean_ConstantInfo_levelParams(x_19);
|
||||
lean_dec(x_19);
|
||||
x_79 = l_Lean_Compiler_LCNF_inlineMatchers___lambda__2___closed__1;
|
||||
x_80 = 0;
|
||||
x_81 = lean_alloc_ctor(0, 5, 2);
|
||||
lean_ctor_set(x_81, 0, x_8);
|
||||
lean_ctor_set(x_81, 1, x_78);
|
||||
lean_ctor_set(x_81, 2, x_37);
|
||||
lean_ctor_set(x_81, 3, x_79);
|
||||
lean_ctor_set(x_81, 4, x_63);
|
||||
lean_ctor_set_uint8(x_81, sizeof(void*)*5, x_80);
|
||||
lean_ctor_set_uint8(x_81, sizeof(void*)*5 + 1, x_67);
|
||||
x_82 = lean_apply_6(x_66, x_81, x_2, x_3, x_4, x_5, x_64);
|
||||
return x_82;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_110;
|
||||
lean_dec(x_37);
|
||||
lean_dec(x_19);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
x_110 = !lean_is_exclusive(x_62);
|
||||
if (x_110 == 0)
|
||||
{
|
||||
return x_62;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_111; lean_object* x_112; lean_object* x_113;
|
||||
x_111 = lean_ctor_get(x_62, 0);
|
||||
x_112 = lean_ctor_get(x_62, 1);
|
||||
lean_inc(x_112);
|
||||
lean_inc(x_111);
|
||||
lean_dec(x_62);
|
||||
x_113 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_113, 0, x_111);
|
||||
lean_ctor_set(x_113, 1, x_112);
|
||||
return x_113;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_114;
|
||||
lean_dec(x_37);
|
||||
lean_dec(x_33);
|
||||
lean_dec(x_19);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
x_114 = !lean_is_exclusive(x_55);
|
||||
if (x_114 == 0)
|
||||
{
|
||||
return x_55;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_115; lean_object* x_116; lean_object* x_117;
|
||||
x_115 = lean_ctor_get(x_55, 0);
|
||||
x_116 = lean_ctor_get(x_55, 1);
|
||||
lean_inc(x_116);
|
||||
lean_inc(x_115);
|
||||
lean_dec(x_55);
|
||||
x_117 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_117, 0, x_115);
|
||||
lean_ctor_set(x_117, 1, x_116);
|
||||
return x_117;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_118;
|
||||
lean_dec(x_37);
|
||||
lean_dec(x_33);
|
||||
lean_dec(x_19);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
x_118 = !lean_is_exclusive(x_52);
|
||||
if (x_118 == 0)
|
||||
{
|
||||
return x_52;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_119; lean_object* x_120; lean_object* x_121;
|
||||
x_119 = lean_ctor_get(x_52, 0);
|
||||
x_120 = lean_ctor_get(x_52, 1);
|
||||
lean_inc(x_120);
|
||||
lean_inc(x_119);
|
||||
lean_dec(x_52);
|
||||
x_121 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_121, 0, x_119);
|
||||
lean_ctor_set(x_121, 1, x_120);
|
||||
return x_121;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_122;
|
||||
lean_dec(x_37);
|
||||
lean_dec(x_33);
|
||||
lean_dec(x_19);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
x_122 = !lean_is_exclusive(x_49);
|
||||
if (x_122 == 0)
|
||||
{
|
||||
return x_49;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_123; lean_object* x_124; lean_object* x_125;
|
||||
x_123 = lean_ctor_get(x_49, 0);
|
||||
x_124 = lean_ctor_get(x_49, 1);
|
||||
lean_inc(x_124);
|
||||
lean_inc(x_123);
|
||||
lean_dec(x_49);
|
||||
x_125 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_125, 0, x_123);
|
||||
lean_ctor_set(x_125, 1, x_124);
|
||||
return x_125;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_126;
|
||||
lean_dec(x_37);
|
||||
lean_dec(x_33);
|
||||
lean_dec(x_19);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
x_126 = !lean_is_exclusive(x_45);
|
||||
if (x_126 == 0)
|
||||
{
|
||||
return x_45;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_127; lean_object* x_128; lean_object* x_129;
|
||||
x_127 = lean_ctor_get(x_45, 0);
|
||||
x_128 = lean_ctor_get(x_45, 1);
|
||||
lean_inc(x_128);
|
||||
lean_inc(x_127);
|
||||
lean_dec(x_45);
|
||||
x_129 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_129, 0, x_127);
|
||||
lean_ctor_set(x_129, 1, x_128);
|
||||
return x_129;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_130;
|
||||
lean_dec(x_37);
|
||||
lean_dec(x_33);
|
||||
lean_dec(x_19);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
x_130 = !lean_is_exclusive(x_40);
|
||||
if (x_130 == 0)
|
||||
{
|
||||
return x_40;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_131; lean_object* x_132; lean_object* x_133;
|
||||
x_131 = lean_ctor_get(x_40, 0);
|
||||
x_132 = lean_ctor_get(x_40, 1);
|
||||
lean_inc(x_132);
|
||||
lean_inc(x_131);
|
||||
lean_dec(x_40);
|
||||
x_133 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_133, 0, x_131);
|
||||
lean_ctor_set(x_133, 1, x_132);
|
||||
return x_133;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_134;
|
||||
lean_dec(x_33);
|
||||
lean_dec(x_27);
|
||||
lean_dec(x_19);
|
||||
|
|
@ -3322,23 +3414,23 @@ lean_dec(x_5);
|
|||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
x_110 = !lean_is_exclusive(x_36);
|
||||
if (x_110 == 0)
|
||||
x_134 = !lean_is_exclusive(x_36);
|
||||
if (x_134 == 0)
|
||||
{
|
||||
return x_36;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_111; lean_object* x_112; lean_object* x_113;
|
||||
x_111 = lean_ctor_get(x_36, 0);
|
||||
x_112 = lean_ctor_get(x_36, 1);
|
||||
lean_inc(x_112);
|
||||
lean_inc(x_111);
|
||||
lean_object* x_135; lean_object* x_136; lean_object* x_137;
|
||||
x_135 = lean_ctor_get(x_36, 0);
|
||||
x_136 = lean_ctor_get(x_36, 1);
|
||||
lean_inc(x_136);
|
||||
lean_inc(x_135);
|
||||
lean_dec(x_36);
|
||||
x_113 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_113, 0, x_111);
|
||||
lean_ctor_set(x_113, 1, x_112);
|
||||
return x_113;
|
||||
x_137 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_137, 0, x_135);
|
||||
lean_ctor_set(x_137, 1, x_136);
|
||||
return x_137;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
34
stage0/stdlib/Lean/Declaration.c
generated
34
stage0/stdlib/Lean/Declaration.c
generated
|
|
@ -19,6 +19,7 @@ LEAN_EXPORT lean_object* l_Lean_Declaration_foldExprM(lean_object*, lean_object*
|
|||
LEAN_EXPORT lean_object* l_List_foldlM___at_Lean_Declaration_forExprM___spec__2___rarg___lambda__1(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_ReducibilityHints_lt___boxed(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Name_str___override(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_ConstantInfo_isPartial___boxed(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_QuotKind_noConfusion___rarg___boxed(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_RecursorVal_getFirstIndexIdx(lean_object*);
|
||||
LEAN_EXPORT uint8_t l_Lean_ReducibilityHints_isAbbrev(lean_object*);
|
||||
|
|
@ -207,6 +208,7 @@ LEAN_EXPORT lean_object* l_Lean_DefinitionVal_getSafetyEx___boxed(lean_object*);
|
|||
LEAN_EXPORT lean_object* l_Lean_OpaqueVal_all___default___boxed(lean_object*);
|
||||
static lean_object* l_Lean_instReprDefinitionSafety___closed__1;
|
||||
LEAN_EXPORT lean_object* l_Lean_OpaqueVal_all___default(lean_object*);
|
||||
LEAN_EXPORT uint8_t l_Lean_ConstantInfo_isPartial(lean_object*);
|
||||
LEAN_EXPORT uint8_t lean_axiom_val_is_unsafe(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Declaration_foldExprM___at_Lean_Declaration_forExprM___spec__1___rarg___lambda__1(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_QuotKind_toCtorIdx___boxed(lean_object*);
|
||||
|
|
@ -2470,6 +2472,36 @@ x_3 = lean_box(x_2);
|
|||
return x_3;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT uint8_t l_Lean_ConstantInfo_isPartial(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
if (lean_obj_tag(x_1) == 1)
|
||||
{
|
||||
lean_object* x_2; uint8_t x_3; uint8_t x_4; uint8_t x_5;
|
||||
x_2 = lean_ctor_get(x_1, 0);
|
||||
x_3 = lean_ctor_get_uint8(x_2, sizeof(void*)*4);
|
||||
x_4 = 2;
|
||||
x_5 = l___private_Lean_Declaration_0__Lean_beqDefinitionSafety____x40_Lean_Declaration___hyg_278_(x_3, x_4);
|
||||
return x_5;
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_6;
|
||||
x_6 = 0;
|
||||
return x_6;
|
||||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_ConstantInfo_isPartial___boxed(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
uint8_t x_2; lean_object* x_3;
|
||||
x_2 = l_Lean_ConstantInfo_isPartial(x_1);
|
||||
lean_dec(x_1);
|
||||
x_3 = lean_box(x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_ConstantInfo_name(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
|
|
@ -2657,7 +2689,7 @@ _start:
|
|||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_1 = l_Lean_ConstantInfo_value_x21___closed__1;
|
||||
x_2 = l_Lean_ConstantInfo_value_x21___closed__2;
|
||||
x_3 = lean_unsigned_to_nat(426u);
|
||||
x_3 = lean_unsigned_to_nat(430u);
|
||||
x_4 = lean_unsigned_to_nat(33u);
|
||||
x_5 = l_Lean_ConstantInfo_value_x21___closed__3;
|
||||
x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
|
||||
|
|
|
|||
5131
stage0/stdlib/Lean/Elab/App.c
generated
5131
stage0/stdlib/Lean/Elab/App.c
generated
File diff suppressed because it is too large
Load diff
4
stage0/stdlib/Lean/Elab/Match.c
generated
4
stage0/stdlib/Lean/Elab/Match.c
generated
|
|
@ -782,7 +782,7 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatch
|
|||
LEAN_EXPORT lean_object* l_Lean_AssocList_foldlM___at___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_mkPatternRefMap_go___spec__6(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_ToDepElimPattern_savePatternInfo_go___lambda__2(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_findDiscrRefinementPath_goType___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_addTermInfo(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_addTermInfo(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_withLetDecl___at_Lean_Elab_Term_ToDepElimPattern_savePatternInfo_go___spec__2___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabPatterns___spec__2___closed__1;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -1820,7 +1820,7 @@ lean_dec(x_20);
|
|||
x_24 = lean_box(0);
|
||||
x_25 = lean_box(0);
|
||||
x_26 = 0;
|
||||
x_27 = l_Lean_Elab_Term_addTermInfo(x_10, x_16, x_24, x_24, x_25, x_26, x_2, x_3, x_4, x_5, x_6, x_7, x_21);
|
||||
x_27 = l_Lean_Elab_Term_addTermInfo(x_10, x_16, x_24, x_24, x_25, x_26, x_26, x_2, x_3, x_4, x_5, x_6, x_7, x_21);
|
||||
return x_27;
|
||||
}
|
||||
else
|
||||
|
|
|
|||
6
stage0/stdlib/Lean/Elab/Tactic/Rewrite.c
generated
6
stage0/stdlib/Lean/Elab/Tactic/Rewrite.c
generated
|
|
@ -170,7 +170,7 @@ static lean_object* l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_withRWRulesS
|
|||
lean_object* l_Lean_Syntax_getArgs(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_rewriteLocalDecl___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Tactic_withRWRulesSeq___spec__10___lambda__2(lean_object*, uint8_t, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_addTermInfo(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_addTermInfo(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1072____closed__3;
|
||||
lean_object* l___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_withSynthesizeImp___rarg(lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Tactic_withRWRulesSeq___spec__10___lambda__2___closed__5;
|
||||
|
|
@ -1859,7 +1859,7 @@ x_31 = lean_box(0);
|
|||
lean_ctor_set(x_17, 0, x_30);
|
||||
x_32 = lean_box(0);
|
||||
x_33 = 0;
|
||||
x_34 = l_Lean_Elab_Term_addTermInfo(x_4, x_28, x_31, x_17, x_32, x_33, x_8, x_9, x_10, x_11, x_12, x_13, x_29);
|
||||
x_34 = l_Lean_Elab_Term_addTermInfo(x_4, x_28, x_31, x_17, x_32, x_33, x_33, x_8, x_9, x_10, x_11, x_12, x_13, x_29);
|
||||
if (lean_obj_tag(x_34) == 0)
|
||||
{
|
||||
uint8_t x_35;
|
||||
|
|
@ -2014,7 +2014,7 @@ x_62 = lean_alloc_ctor(1, 1, 0);
|
|||
lean_ctor_set(x_62, 0, x_60);
|
||||
x_63 = lean_box(0);
|
||||
x_64 = 0;
|
||||
x_65 = l_Lean_Elab_Term_addTermInfo(x_4, x_58, x_61, x_62, x_63, x_64, x_8, x_9, x_10, x_11, x_12, x_13, x_59);
|
||||
x_65 = l_Lean_Elab_Term_addTermInfo(x_4, x_58, x_61, x_62, x_63, x_64, x_64, x_8, x_9, x_10, x_11, x_12, x_13, x_59);
|
||||
if (lean_obj_tag(x_65) == 0)
|
||||
{
|
||||
lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69;
|
||||
|
|
|
|||
301
stage0/stdlib/Lean/Elab/Term.c
generated
301
stage0/stdlib/Lean/Elab/Term.c
generated
|
|
@ -65,7 +65,6 @@ lean_object* l_Lean_registerTraceClass(lean_object*, uint8_t, lean_object*);
|
|||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_addTermInfo_x27(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_Term_addAutoBoundImplicits_go___spec__15___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_isExplicitApp___boxed(lean_object*);
|
||||
static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_16991____closed__1;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_commitIfNoErrors_x3f(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_withoutModifyingElabMetaStateWithInfo___spec__9___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_Term_tryCoeThunk_x3f___closed__3;
|
||||
|
|
@ -85,7 +84,6 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Term_MVarErrorInfo_logError(lean_object*, l
|
|||
static lean_object* l_Lean_Elab_throwAutoBoundImplicitLocal___at_Lean_Elab_Term_resolveName_process___spec__1___closed__2;
|
||||
lean_object* l_Lean_Name_str___override(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_PersistentArray_mapM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_withoutModifyingStateWithInfoAndMessagesImpl___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_16991____closed__2;
|
||||
lean_object* l_Lean_Meta_mkForallFVars(lean_object*, lean_object*, uint8_t, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_getLetRecsToLift___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_instMonadMacroAdapterTermElabM___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -181,7 +179,7 @@ static lean_object* l_Lean_Elab_checkNotAlreadyDeclared___at_Lean_Elab_Term_expa
|
|||
LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_Term_addAutoBoundImplicits_go___spec__48___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Elab_Term_resolveName_x27___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_RBNode_insert___at_Lean_Elab_Term_registerSyntheticMVar___spec__1(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_addTermInfo___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_addTermInfo___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_logException___at___private_Lean_Elab_Term_0__Lean_Elab_Term_applyAttributesCore___spec__3___closed__1;
|
||||
static lean_object* l_Lean_Elab_Term_instInhabitedLetRecToLift___closed__7;
|
||||
static lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___lambda__3___closed__1;
|
||||
|
|
@ -335,6 +333,7 @@ static lean_object* l_Lean_Elab_Tactic_instInhabitedSnapshot___closed__1;
|
|||
static lean_object* l_Lean_Elab_Term_isLetRecAuxMVar___lambda__2___closed__2;
|
||||
static lean_object* l_Lean_Elab_Term_mkTermElabAttributeUnsafe___closed__7;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_getLevelNames___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_17003____closed__2;
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_elabUsingElabFnsAux(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_Term_synthesizeInstMVarCore___lambda__3___closed__6;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_throwMVarError___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -413,6 +412,7 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_tryLiftAnd
|
|||
static lean_object* l_Lean_Elab_Term_instInhabitedMVarErrorKind___closed__2;
|
||||
static lean_object* l_Lean_Elab_Term_MVarErrorInfo_logError___closed__7;
|
||||
static lean_object* l_Lean_Elab_Term_mkTermElabAttributeUnsafe___closed__3;
|
||||
static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_14058____closed__1;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_observing___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_throwAbortCommand___at_Lean_Elab_Term_ensureNoUnassignedMVars___spec__1___rarg___closed__1;
|
||||
static lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___lambda__1___closed__3;
|
||||
|
|
@ -422,6 +422,7 @@ LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Term_throwErrorIfError
|
|||
static lean_object* l_Lean_Elab_Term_isLetRecAuxMVar___closed__4;
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Term_addAutoBoundImplicits_go___spec__51___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_Tactic_instInhabitedSnapshot___closed__16;
|
||||
static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_14058____closed__2;
|
||||
extern lean_object* l_Lean_maxRecDepth;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_isTacticOrPostponedHole_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Term_expandDeclId___spec__4___closed__2;
|
||||
|
|
@ -500,7 +501,6 @@ lean_object* l_Lean_MapDeclarationExtension_insert___rarg(lean_object*, lean_obj
|
|||
LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_Term_logUnassignedUsingErrorInfos___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visitMain___at_Lean_Elab_Term_addAutoBoundImplicits_go___spec__11(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PersistentArray_toList___rarg(lean_object*);
|
||||
static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_14046____closed__2;
|
||||
static lean_object* l_Lean_Elab_Tactic_instInhabitedSnapshot___closed__6;
|
||||
static lean_object* l_Lean_Elab_checkNotAlreadyDeclared___at_Lean_Elab_Term_expandDeclId___spec__6___lambda__1___closed__3;
|
||||
uint8_t lean_nat_dec_eq(lean_object*, lean_object*);
|
||||
|
|
@ -646,7 +646,6 @@ static lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_tryCoe___closed
|
|||
static lean_object* l_Lean_Elab_Term_instMetaEvalTermElabM___rarg___closed__7;
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___lambda__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Term_0__Lean_Elab_Term_applyAttributesCore___spec__6(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_14046____closed__1;
|
||||
LEAN_EXPORT lean_object* l_Array_findSomeRevM_x3f_find___at_Lean_Elab_Term_resolveLocalName___spec__10(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visitMain___at_Lean_Elab_Term_addAutoBoundImplicits_go___spec__3(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT uint8_t l_Lean_Elab_Term_blockImplicitLambda(lean_object*);
|
||||
|
|
@ -688,7 +687,7 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Term_commitIfDidNotPostpone(lean_object*);
|
|||
lean_object* lean_st_mk_ref(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_5870_(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_5842_(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_14046_(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_14058_(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_mkAuxName___at_Lean_Elab_Term_mkAuxName___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_setElabConfig(lean_object*);
|
||||
static lean_object* l_Lean_Elab_Term_mkExplicitBinder___closed__14;
|
||||
|
|
@ -928,6 +927,7 @@ LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_withoutModif
|
|||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_resolveId_x3f___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_PersistentArray_mapM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_withoutModifyingStateWithInfoAndMessagesImpl___spec__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_Term_addAutoBoundImplicits_go___spec__39___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_17003____closed__1;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_instInhabitedCacheKey;
|
||||
LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_Term_instMetaEvalTermElabM___spec__6(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_logException___at___private_Lean_Elab_Term_0__Lean_Elab_Term_applyAttributesCore___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -1067,7 +1067,7 @@ LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Term_addAutoBou
|
|||
LEAN_EXPORT lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_elabImplicitLambda___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_applyAttributes(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_resolveId_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_addTermInfo(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_addTermInfo(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_Term_addAutoBoundImplicits_go___spec__41___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_State_syntheticMVars___default;
|
||||
static lean_object* l_Lean_Elab_Term_instInhabitedSavedState___closed__1;
|
||||
|
|
@ -1292,7 +1292,7 @@ static lean_object* l_Lean_Elab_Tactic_instInhabitedSnapshot___closed__17;
|
|||
LEAN_EXPORT lean_object* l_ReaderT_pure___at_Lean_Elab_Term_addTermInfo___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_throwErrorIfErrors(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_getDelayedMVarAssignment_x3f___at_Lean_Elab_Term_isLetRecAuxMVar___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_16991_(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_17003_(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_addAutoBoundImplicits(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_Term_addAutoBoundImplicits_go___spec__9___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_tryLiftAndCoe___closed__11;
|
||||
|
|
@ -35221,92 +35221,110 @@ x_15 = l_Lean_Elab_Term_mkTermInfo(x_1, x_2, x_3, x_4, x_5, x_6, x_8, x_9, x_10,
|
|||
return x_15;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_addTermInfo(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, uint8_t x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) {
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_addTermInfo(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, uint8_t x_6, uint8_t x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) {
|
||||
_start:
|
||||
{
|
||||
uint8_t x_14;
|
||||
x_14 = lean_ctor_get_uint8(x_7, sizeof(void*)*8 + 6);
|
||||
if (x_14 == 0)
|
||||
lean_object* x_15; uint8_t x_30;
|
||||
x_30 = lean_ctor_get_uint8(x_8, sizeof(void*)*8 + 6);
|
||||
if (x_30 == 0)
|
||||
{
|
||||
lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19;
|
||||
x_15 = lean_box(0);
|
||||
x_16 = lean_alloc_closure((void*)(l_ReaderT_pure___at_Lean_Elab_Term_addTermInfo___spec__1___rarg___boxed), 8, 1);
|
||||
lean_closure_set(x_16, 0, x_15);
|
||||
x_17 = lean_box(x_6);
|
||||
lean_inc(x_2);
|
||||
x_18 = lean_alloc_closure((void*)(l_Lean_Elab_Term_addTermInfo___lambda__1___boxed), 14, 6);
|
||||
lean_closure_set(x_18, 0, x_5);
|
||||
lean_closure_set(x_18, 1, x_1);
|
||||
lean_closure_set(x_18, 2, x_2);
|
||||
lean_closure_set(x_18, 3, x_3);
|
||||
lean_closure_set(x_18, 4, x_4);
|
||||
lean_closure_set(x_18, 5, x_17);
|
||||
x_19 = l_Lean_Elab_withInfoContext_x27___at_Lean_Elab_Term_addTermInfo___spec__2(x_16, x_18, x_7, x_8, x_9, x_10, x_11, x_12, x_13);
|
||||
if (lean_obj_tag(x_19) == 0)
|
||||
{
|
||||
uint8_t x_20;
|
||||
x_20 = !lean_is_exclusive(x_19);
|
||||
if (x_20 == 0)
|
||||
{
|
||||
lean_object* x_21;
|
||||
x_21 = lean_ctor_get(x_19, 0);
|
||||
lean_dec(x_21);
|
||||
lean_ctor_set(x_19, 0, x_2);
|
||||
return x_19;
|
||||
lean_object* x_31;
|
||||
x_31 = lean_box(0);
|
||||
x_15 = x_31;
|
||||
goto block_29;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_22; lean_object* x_23;
|
||||
x_22 = lean_ctor_get(x_19, 1);
|
||||
lean_inc(x_22);
|
||||
lean_dec(x_19);
|
||||
x_23 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_23, 0, x_2);
|
||||
lean_ctor_set(x_23, 1, x_22);
|
||||
return x_23;
|
||||
}
|
||||
}
|
||||
else
|
||||
if (x_7 == 0)
|
||||
{
|
||||
uint8_t x_24;
|
||||
lean_dec(x_2);
|
||||
x_24 = !lean_is_exclusive(x_19);
|
||||
if (x_24 == 0)
|
||||
{
|
||||
return x_19;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_25; lean_object* x_26; lean_object* x_27;
|
||||
x_25 = lean_ctor_get(x_19, 0);
|
||||
x_26 = lean_ctor_get(x_19, 1);
|
||||
lean_inc(x_26);
|
||||
lean_inc(x_25);
|
||||
lean_dec(x_19);
|
||||
x_27 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_27, 0, x_25);
|
||||
lean_ctor_set(x_27, 1, x_26);
|
||||
return x_27;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_28; lean_object* x_29;
|
||||
lean_object* x_32; lean_object* x_33;
|
||||
lean_dec(x_13);
|
||||
lean_dec(x_12);
|
||||
lean_dec(x_11);
|
||||
lean_dec(x_10);
|
||||
lean_dec(x_9);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
x_28 = l_Lean_mkPatternWithRef(x_2, x_1);
|
||||
x_29 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_29, 0, x_28);
|
||||
lean_ctor_set(x_29, 1, x_13);
|
||||
return x_29;
|
||||
x_32 = l_Lean_mkPatternWithRef(x_2, x_1);
|
||||
x_33 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_33, 0, x_32);
|
||||
lean_ctor_set(x_33, 1, x_14);
|
||||
return x_33;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_34;
|
||||
x_34 = lean_box(0);
|
||||
x_15 = x_34;
|
||||
goto block_29;
|
||||
}
|
||||
}
|
||||
block_29:
|
||||
{
|
||||
lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20;
|
||||
lean_dec(x_15);
|
||||
x_16 = lean_box(0);
|
||||
x_17 = lean_alloc_closure((void*)(l_ReaderT_pure___at_Lean_Elab_Term_addTermInfo___spec__1___rarg___boxed), 8, 1);
|
||||
lean_closure_set(x_17, 0, x_16);
|
||||
x_18 = lean_box(x_6);
|
||||
lean_inc(x_2);
|
||||
x_19 = lean_alloc_closure((void*)(l_Lean_Elab_Term_addTermInfo___lambda__1___boxed), 14, 6);
|
||||
lean_closure_set(x_19, 0, x_5);
|
||||
lean_closure_set(x_19, 1, x_1);
|
||||
lean_closure_set(x_19, 2, x_2);
|
||||
lean_closure_set(x_19, 3, x_3);
|
||||
lean_closure_set(x_19, 4, x_4);
|
||||
lean_closure_set(x_19, 5, x_18);
|
||||
x_20 = l_Lean_Elab_withInfoContext_x27___at_Lean_Elab_Term_addTermInfo___spec__2(x_17, x_19, x_8, x_9, x_10, x_11, x_12, x_13, x_14);
|
||||
if (lean_obj_tag(x_20) == 0)
|
||||
{
|
||||
uint8_t x_21;
|
||||
x_21 = !lean_is_exclusive(x_20);
|
||||
if (x_21 == 0)
|
||||
{
|
||||
lean_object* x_22;
|
||||
x_22 = lean_ctor_get(x_20, 0);
|
||||
lean_dec(x_22);
|
||||
lean_ctor_set(x_20, 0, x_2);
|
||||
return x_20;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_23; lean_object* x_24;
|
||||
x_23 = lean_ctor_get(x_20, 1);
|
||||
lean_inc(x_23);
|
||||
lean_dec(x_20);
|
||||
x_24 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_24, 0, x_2);
|
||||
lean_ctor_set(x_24, 1, x_23);
|
||||
return x_24;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_25;
|
||||
lean_dec(x_2);
|
||||
x_25 = !lean_is_exclusive(x_20);
|
||||
if (x_25 == 0)
|
||||
{
|
||||
return x_20;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_26; lean_object* x_27; lean_object* x_28;
|
||||
x_26 = lean_ctor_get(x_20, 0);
|
||||
x_27 = lean_ctor_get(x_20, 1);
|
||||
lean_inc(x_27);
|
||||
lean_inc(x_26);
|
||||
lean_dec(x_20);
|
||||
x_28 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_28, 0, x_26);
|
||||
lean_ctor_set(x_28, 1, x_27);
|
||||
return x_28;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -35342,67 +35360,70 @@ lean_dec(x_5);
|
|||
return x_16;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_addTermInfo___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) {
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_addTermInfo___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) {
|
||||
_start:
|
||||
{
|
||||
uint8_t x_14; lean_object* x_15;
|
||||
x_14 = lean_unbox(x_6);
|
||||
uint8_t x_15; uint8_t x_16; lean_object* x_17;
|
||||
x_15 = lean_unbox(x_6);
|
||||
lean_dec(x_6);
|
||||
x_15 = l_Lean_Elab_Term_addTermInfo(x_1, x_2, x_3, x_4, x_5, x_14, x_7, x_8, x_9, x_10, x_11, x_12, x_13);
|
||||
return x_15;
|
||||
x_16 = lean_unbox(x_7);
|
||||
lean_dec(x_7);
|
||||
x_17 = l_Lean_Elab_Term_addTermInfo(x_1, x_2, x_3, x_4, x_5, x_15, x_16, x_8, x_9, x_10, x_11, x_12, x_13, x_14);
|
||||
return x_17;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_addTermInfo_x27(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, uint8_t x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_14;
|
||||
x_14 = l_Lean_Elab_Term_addTermInfo(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13);
|
||||
if (lean_obj_tag(x_14) == 0)
|
||||
uint8_t x_14; lean_object* x_15;
|
||||
x_14 = 0;
|
||||
x_15 = l_Lean_Elab_Term_addTermInfo(x_1, x_2, x_3, x_4, x_5, x_6, x_14, x_7, x_8, x_9, x_10, x_11, x_12, x_13);
|
||||
if (lean_obj_tag(x_15) == 0)
|
||||
{
|
||||
uint8_t x_15;
|
||||
x_15 = !lean_is_exclusive(x_14);
|
||||
if (x_15 == 0)
|
||||
uint8_t x_16;
|
||||
x_16 = !lean_is_exclusive(x_15);
|
||||
if (x_16 == 0)
|
||||
{
|
||||
lean_object* x_16; lean_object* x_17;
|
||||
x_16 = lean_ctor_get(x_14, 0);
|
||||
lean_dec(x_16);
|
||||
x_17 = lean_box(0);
|
||||
lean_ctor_set(x_14, 0, x_17);
|
||||
return x_14;
|
||||
lean_object* x_17; lean_object* x_18;
|
||||
x_17 = lean_ctor_get(x_15, 0);
|
||||
lean_dec(x_17);
|
||||
x_18 = lean_box(0);
|
||||
lean_ctor_set(x_15, 0, x_18);
|
||||
return x_15;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_18; lean_object* x_19; lean_object* x_20;
|
||||
x_18 = lean_ctor_get(x_14, 1);
|
||||
lean_inc(x_18);
|
||||
lean_dec(x_14);
|
||||
x_19 = lean_box(0);
|
||||
x_20 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_20, 0, x_19);
|
||||
lean_ctor_set(x_20, 1, x_18);
|
||||
return x_20;
|
||||
lean_object* x_19; lean_object* x_20; lean_object* x_21;
|
||||
x_19 = lean_ctor_get(x_15, 1);
|
||||
lean_inc(x_19);
|
||||
lean_dec(x_15);
|
||||
x_20 = lean_box(0);
|
||||
x_21 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_21, 0, x_20);
|
||||
lean_ctor_set(x_21, 1, x_19);
|
||||
return x_21;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_21;
|
||||
x_21 = !lean_is_exclusive(x_14);
|
||||
if (x_21 == 0)
|
||||
uint8_t x_22;
|
||||
x_22 = !lean_is_exclusive(x_15);
|
||||
if (x_22 == 0)
|
||||
{
|
||||
return x_14;
|
||||
return x_15;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_22; lean_object* x_23; lean_object* x_24;
|
||||
x_22 = lean_ctor_get(x_14, 0);
|
||||
x_23 = lean_ctor_get(x_14, 1);
|
||||
lean_object* x_23; lean_object* x_24; lean_object* x_25;
|
||||
x_23 = lean_ctor_get(x_15, 0);
|
||||
x_24 = lean_ctor_get(x_15, 1);
|
||||
lean_inc(x_24);
|
||||
lean_inc(x_23);
|
||||
lean_inc(x_22);
|
||||
lean_dec(x_14);
|
||||
x_24 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_24, 0, x_22);
|
||||
lean_ctor_set(x_24, 1, x_23);
|
||||
return x_24;
|
||||
lean_dec(x_15);
|
||||
x_25 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_25, 0, x_23);
|
||||
lean_ctor_set(x_25, 1, x_24);
|
||||
return x_25;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -51712,7 +51733,7 @@ lean_dec(x_3);
|
|||
return x_10;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_14046____closed__1() {
|
||||
static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_14058____closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
|
|
@ -51720,21 +51741,21 @@ x_1 = lean_mk_string_from_bytes("letrec", 6);
|
|||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_14046____closed__2() {
|
||||
static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_14058____closed__2() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Elab_Term_mkTermElabAttributeUnsafe___closed__2;
|
||||
x_2 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_14046____closed__1;
|
||||
x_2 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_14058____closed__1;
|
||||
x_3 = l_Lean_Name_mkStr2(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_14046_(lean_object* x_1) {
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_14058_(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; uint8_t x_3; lean_object* x_4;
|
||||
x_2 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_14046____closed__2;
|
||||
x_2 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_14058____closed__2;
|
||||
x_3 = 0;
|
||||
x_4 = l_Lean_registerTraceClass(x_2, x_3, x_1);
|
||||
return x_4;
|
||||
|
|
@ -52092,7 +52113,7 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Term_isLetRecAuxMVar(lean_object* x_1, lean
|
|||
_start:
|
||||
{
|
||||
lean_object* x_9; lean_object* x_10; lean_object* x_11; uint8_t x_12;
|
||||
x_9 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_14046____closed__2;
|
||||
x_9 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_14058____closed__2;
|
||||
x_10 = l_Lean_isTracingEnabledFor___at_Lean_Elab_Term_traceAtCmdPos___spec__1(x_9, x_2, x_3, x_4, x_5, x_6, x_7, x_8);
|
||||
x_11 = lean_ctor_get(x_10, 0);
|
||||
lean_inc(x_11);
|
||||
|
|
@ -57953,7 +57974,7 @@ lean_inc(x_8);
|
|||
lean_inc(x_7);
|
||||
lean_inc(x_6);
|
||||
lean_inc(x_5);
|
||||
x_24 = l_Lean_Elab_Term_addTermInfo(x_2, x_18, x_21, x_21, x_22, x_23, x_5, x_6, x_7, x_8, x_9, x_10, x_11);
|
||||
x_24 = l_Lean_Elab_Term_addTermInfo(x_2, x_18, x_21, x_21, x_22, x_23, x_23, x_5, x_6, x_7, x_8, x_9, x_10, x_11);
|
||||
if (lean_obj_tag(x_24) == 0)
|
||||
{
|
||||
lean_object* x_25; lean_object* x_26; lean_object* x_27;
|
||||
|
|
@ -63813,7 +63834,7 @@ x_3 = lean_alloc_closure((void*)(l_Lean_Elab_withoutModifyingStateWithInfoAndMes
|
|||
return x_3;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_16991____closed__1() {
|
||||
static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_17003____closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
|
|
@ -63821,17 +63842,17 @@ x_1 = lean_mk_string_from_bytes("debug", 5);
|
|||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_16991____closed__2() {
|
||||
static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_17003____closed__2() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Elab_Term_mkTermElabAttributeUnsafe___closed__2;
|
||||
x_2 = l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_16991____closed__1;
|
||||
x_2 = l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_17003____closed__1;
|
||||
x_3 = l_Lean_Name_mkStr2(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_16991_(lean_object* x_1) {
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_17003_(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; uint8_t x_3; lean_object* x_4;
|
||||
|
|
@ -63852,7 +63873,7 @@ lean_object* x_8; lean_object* x_9; lean_object* x_10;
|
|||
x_8 = lean_ctor_get(x_7, 1);
|
||||
lean_inc(x_8);
|
||||
lean_dec(x_7);
|
||||
x_9 = l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_16991____closed__2;
|
||||
x_9 = l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_17003____closed__2;
|
||||
x_10 = l_Lean_registerTraceClass(x_9, x_3, x_8);
|
||||
return x_10;
|
||||
}
|
||||
|
|
@ -64640,11 +64661,11 @@ l_Lean_Elab_Term_mkAuxName___closed__1 = _init_l_Lean_Elab_Term_mkAuxName___clos
|
|||
lean_mark_persistent(l_Lean_Elab_Term_mkAuxName___closed__1);
|
||||
l_Lean_Elab_Term_mkAuxName___closed__2 = _init_l_Lean_Elab_Term_mkAuxName___closed__2();
|
||||
lean_mark_persistent(l_Lean_Elab_Term_mkAuxName___closed__2);
|
||||
l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_14046____closed__1 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_14046____closed__1();
|
||||
lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_14046____closed__1);
|
||||
l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_14046____closed__2 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_14046____closed__2();
|
||||
lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_14046____closed__2);
|
||||
res = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_14046_(lean_io_mk_world());
|
||||
l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_14058____closed__1 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_14058____closed__1();
|
||||
lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_14058____closed__1);
|
||||
l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_14058____closed__2 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_14058____closed__2();
|
||||
lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_14058____closed__2);
|
||||
res = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_14058_(lean_io_mk_world());
|
||||
if (lean_io_result_is_error(res)) return res;
|
||||
lean_dec_ref(res);
|
||||
l_Lean_Elab_Term_isLetRecAuxMVar___lambda__2___closed__1 = _init_l_Lean_Elab_Term_isLetRecAuxMVar___lambda__2___closed__1();
|
||||
|
|
@ -64815,11 +64836,11 @@ l_Lean_Elab_Term_exprToSyntax___lambda__1___closed__3 = _init_l_Lean_Elab_Term_e
|
|||
lean_mark_persistent(l_Lean_Elab_Term_exprToSyntax___lambda__1___closed__3);
|
||||
l_Lean_Elab_Term_exprToSyntax___lambda__1___closed__4 = _init_l_Lean_Elab_Term_exprToSyntax___lambda__1___closed__4();
|
||||
lean_mark_persistent(l_Lean_Elab_Term_exprToSyntax___lambda__1___closed__4);
|
||||
l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_16991____closed__1 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_16991____closed__1();
|
||||
lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_16991____closed__1);
|
||||
l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_16991____closed__2 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_16991____closed__2();
|
||||
lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_16991____closed__2);
|
||||
res = l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_16991_(lean_io_mk_world());
|
||||
l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_17003____closed__1 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_17003____closed__1();
|
||||
lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_17003____closed__1);
|
||||
l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_17003____closed__2 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_17003____closed__2();
|
||||
lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_17003____closed__2);
|
||||
res = l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_17003_(lean_io_mk_world());
|
||||
if (lean_io_result_is_error(res)) return res;
|
||||
lean_dec_ref(res);
|
||||
return lean_io_result_mk_ok(lean_box(0));
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue