fix(library/init/lean/compiler/ir/livevars): bug at updateLiveVars
This commit is contained in:
parent
874dd1d55c
commit
45d664ff25
4 changed files with 66 additions and 240 deletions
|
|
@ -132,9 +132,9 @@ def collectExpr : Expr → Collector
|
|||
| Expr.isTaggedPtr x => collectVar x
|
||||
|
||||
partial def collectFnBody : FnBody → JPLiveVarMap → Collector
|
||||
| FnBody.vdecl x _ v b, m => collectExpr v ∘ collectFnBody b m ∘ bindVar x
|
||||
| FnBody.vdecl x _ v b, m => collectExpr v ∘ bindVar x ∘ collectFnBody b m
|
||||
| FnBody.jdecl j ys v b, m =>
|
||||
let jLiveVars := (collectFnBody v m ∘ bindParams ys) {};
|
||||
let jLiveVars := (bindParams ys ∘ collectFnBody v m) {};
|
||||
let m := m.insert j jLiveVars;
|
||||
collectFnBody b m
|
||||
| FnBody.set x _ y b, m => collectVar x ∘ collectArg y ∘ collectFnBody b m
|
||||
|
|
@ -151,7 +151,7 @@ partial def collectFnBody : FnBody → JPLiveVarMap → Collector
|
|||
| FnBody.jmp j xs, m => collectJP m j ∘ collectArgs xs
|
||||
|
||||
def updateJPLiveVarMap (j : JoinPointId) (ys : Array Param) (v : FnBody) (m : JPLiveVarMap) : JPLiveVarMap :=
|
||||
let jLiveVars := (collectFnBody v m ∘ bindParams ys) {};
|
||||
let jLiveVars := (bindParams ys ∘ collectFnBody v m) {};
|
||||
m.insert j jLiveVars
|
||||
|
||||
end LiveVars
|
||||
|
|
|
|||
|
|
@ -16,10 +16,8 @@ extern "C" {
|
|||
lean_object* l_RBNode_del___main___at_Lean_IR_LocalContext_eraseJoinPointDecl___spec__2(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_IR_FnBody_beq___boxed(lean_object*, lean_object*);
|
||||
lean_object* l_unsafeCast(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_IR_IRType_HasToString;
|
||||
lean_object* l_Lean_IR_LocalContext_addParams___boxed(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_IR_LocalContext_isJP___boxed(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_IR_IRType_toString___closed__5;
|
||||
lean_object* l_Lean_IR_FnBody_setBody(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_IR_AltCore_mmodifyBody___boxed(lean_object*);
|
||||
lean_object* lean_ir_mk_sset(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*);
|
||||
|
|
@ -50,14 +48,12 @@ lean_object* l_Lean_IR_AltCore_mmodifyBody(lean_object*);
|
|||
lean_object* l_Lean_IR_LocalContext_getJPBody(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_IR_LocalContext_isLocalVar___boxed(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_IR_addParamsRename___boxed(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_IR_IRType_toString___closed__7;
|
||||
lean_object* l_Lean_IR_LocalContext_addLocal(lean_object*, lean_object*, uint8_t, lean_object*);
|
||||
lean_object* lean_ir_mk_fapp_expr(lean_object*, lean_object*);
|
||||
uint8_t l_Lean_IR_LocalContext_isParam(lean_object*, lean_object*);
|
||||
uint8_t l_Lean_IR_LocalContext_contains(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_IR_addParamRename(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* lean_ir_mk_alt(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_IR_IRType_toString___boxed(lean_object*);
|
||||
uint8_t l_Lean_IR_IRType_isIrrelevant(uint8_t);
|
||||
lean_object* l_Lean_IR_modifyJPs(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_IR_mmodifyJPs___boxed(lean_object*);
|
||||
|
|
@ -98,7 +94,6 @@ lean_object* l_Lean_IR_CtorInfo_isScalar___boxed(lean_object*);
|
|||
uint8_t l_Lean_IR_LitVal_beq(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_IR_mkSSet___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_RBNode_insert___at_Lean_IR_mkIndexSet___spec__1(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_IR_IRType_toString___closed__4;
|
||||
lean_object* l_Nat_repr(lean_object*);
|
||||
lean_object* l_Lean_IR_FnBody_alphaEqv___main___boxed(lean_object*, lean_object*, lean_object*);
|
||||
uint8_t l_Lean_IR_FnBody_alphaEqv___main(lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -153,12 +148,10 @@ lean_object* l_Lean_IR_mkIf(lean_object*, lean_object*, lean_object*);
|
|||
lean_object* l_Array_isEqv___at_Lean_IR_args_alphaEqv___spec__1___boxed(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_IR_mkIf___closed__4;
|
||||
lean_object* l_Lean_IR_mkIf___closed__3;
|
||||
lean_object* l_Lean_IR_IRType_toString___closed__3;
|
||||
uint8_t l_Lean_IR_CtorInfo_isScalar(lean_object*);
|
||||
lean_object* lean_ir_mk_extern_decl(lean_object*, lean_object*, uint8_t, lean_object*);
|
||||
lean_object* l_Array_isEqv___at_Lean_IR_FnBody_alphaEqv___main___spec__1___lambda__1___boxed(lean_object*, lean_object*, lean_object*);
|
||||
uint8_t lean_nat_dec_eq(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_IR_IRType_toString___closed__1;
|
||||
lean_object* lean_ir_mk_param(lean_object*, uint8_t, uint8_t);
|
||||
lean_object* l_Lean_IR_AltCore_body___boxed(lean_object*);
|
||||
lean_object* l_Lean_IR_paramInh;
|
||||
|
|
@ -170,14 +163,12 @@ lean_object* l_Lean_IR_LocalContext_addParams(lean_object*, lean_object*);
|
|||
lean_object* l_panicWithPos___at_Lean_IR_reshapeAux___main___spec__2(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_panicWithPos___rarg___closed__1;
|
||||
lean_object* lean_ir_mk_uset(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_IR_IRType_toString___closed__2;
|
||||
lean_object* l_Lean_IR_LocalContext_getType(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_IR_FnBody_body___boxed(lean_object*);
|
||||
lean_object* l_Lean_IR_VarId_Hashable___boxed(lean_object*);
|
||||
lean_object* l_Lean_IR_IRType_HasBeq;
|
||||
lean_object* l_Lean_IR_altInh;
|
||||
lean_object* l_Lean_IR_FnBody_HasBeq___closed__1;
|
||||
lean_object* l_Lean_IR_IRType_HasToString___closed__1;
|
||||
lean_object* l_Lean_IR_VarId_HasBeq___boxed(lean_object*, lean_object*);
|
||||
lean_object* l_RBNode_erase___at_Lean_IR_LocalContext_eraseJoinPointDecl___spec__1(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_IR_LocalContext_getJPBody___boxed(lean_object*, lean_object*);
|
||||
|
|
@ -189,7 +180,6 @@ lean_object* l_RBNode_find___main___at_Lean_IR_LocalContext_isJP___spec__1(lean_
|
|||
uint8_t l_RBNode_isBlack___rarg(lean_object*);
|
||||
lean_object* l_Lean_IR_Decl_params(lean_object*);
|
||||
lean_object* lean_ir_mk_app_expr(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_IR_IRType_toString___closed__8;
|
||||
lean_object* l_Lean_IR_VarId_HasToString(lean_object*);
|
||||
lean_object* lean_ir_mk_unreachable(lean_object*);
|
||||
uint8_t l_Lean_IR_FnBody_isTerminal(lean_object*);
|
||||
|
|
@ -200,11 +190,9 @@ extern lean_object* l___private_init_data_array_basic_1__swapAtPanic_x21___rarg_
|
|||
lean_object* l_Array_ummapAux___main___at_Lean_IR_mmodifyJPs___spec__1___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_panic(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_IR_Decl_name(lean_object*);
|
||||
lean_object* l_Lean_IR_IRType_toString___closed__9;
|
||||
lean_object* l_Lean_IR_VarId_alphaEqv___boxed(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_IR_mkIf___closed__6;
|
||||
lean_object* l_Lean_IR_mkIf___closed__5;
|
||||
lean_object* l_Lean_IR_IRType_toString(uint8_t);
|
||||
lean_object* l_Lean_IR_mkDecl___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
uint8_t l_Lean_IR_FnBody_beq(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_IR_LocalContext_getValue___boxed(lean_object*, lean_object*);
|
||||
|
|
@ -272,7 +260,6 @@ lean_object* l_Lean_IR_Inhabited;
|
|||
uint8_t l_Array_isEqv___at_Lean_IR_FnBody_alphaEqv___main___spec__1___lambda__1(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_IR_LocalContext_getType___boxed(lean_object*, lean_object*);
|
||||
lean_object* l_RBNode_ins___main___at_Lean_IR_addVarRename___spec__2(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_IR_IRType_toString___closed__6;
|
||||
lean_object* l_RBNode_find___main___at_Lean_IR_VarId_alphaEqv___spec__1(lean_object*, lean_object*);
|
||||
uint8_t l_Lean_IR_Index_lt(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
|
|
@ -447,165 +434,6 @@ x_1 = lean_box(0);
|
|||
return x_1;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_IR_IRType_toString___closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("float");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_IR_IRType_toString___closed__2() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("uint8");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_IR_IRType_toString___closed__3() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("uint16");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_IR_IRType_toString___closed__4() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("uint32");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_IR_IRType_toString___closed__5() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("uint64");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_IR_IRType_toString___closed__6() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("usize");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_IR_IRType_toString___closed__7() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("irrelevant");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_IR_IRType_toString___closed__8() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("object");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_IR_IRType_toString___closed__9() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("tobject");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_IR_IRType_toString(uint8_t x_1) {
|
||||
_start:
|
||||
{
|
||||
switch (x_1) {
|
||||
case 0:
|
||||
{
|
||||
lean_object* x_2;
|
||||
x_2 = l_Lean_IR_IRType_toString___closed__1;
|
||||
return x_2;
|
||||
}
|
||||
case 1:
|
||||
{
|
||||
lean_object* x_3;
|
||||
x_3 = l_Lean_IR_IRType_toString___closed__2;
|
||||
return x_3;
|
||||
}
|
||||
case 2:
|
||||
{
|
||||
lean_object* x_4;
|
||||
x_4 = l_Lean_IR_IRType_toString___closed__3;
|
||||
return x_4;
|
||||
}
|
||||
case 3:
|
||||
{
|
||||
lean_object* x_5;
|
||||
x_5 = l_Lean_IR_IRType_toString___closed__4;
|
||||
return x_5;
|
||||
}
|
||||
case 4:
|
||||
{
|
||||
lean_object* x_6;
|
||||
x_6 = l_Lean_IR_IRType_toString___closed__5;
|
||||
return x_6;
|
||||
}
|
||||
case 5:
|
||||
{
|
||||
lean_object* x_7;
|
||||
x_7 = l_Lean_IR_IRType_toString___closed__6;
|
||||
return x_7;
|
||||
}
|
||||
case 6:
|
||||
{
|
||||
lean_object* x_8;
|
||||
x_8 = l_Lean_IR_IRType_toString___closed__7;
|
||||
return x_8;
|
||||
}
|
||||
case 7:
|
||||
{
|
||||
lean_object* x_9;
|
||||
x_9 = l_Lean_IR_IRType_toString___closed__8;
|
||||
return x_9;
|
||||
}
|
||||
default:
|
||||
{
|
||||
lean_object* x_10;
|
||||
x_10 = l_Lean_IR_IRType_toString___closed__9;
|
||||
return x_10;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
lean_object* l_Lean_IR_IRType_toString___boxed(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
uint8_t x_2; lean_object* x_3;
|
||||
x_2 = lean_unbox(x_1);
|
||||
lean_dec(x_1);
|
||||
x_3 = l_Lean_IR_IRType_toString(x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_IR_IRType_HasToString___closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_alloc_closure((void*)(l_Lean_IR_IRType_toString___boxed), 1, 0);
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l_Lean_IR_IRType_HasToString() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = l_Lean_IR_IRType_HasToString___closed__1;
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
uint8_t l_Lean_IR_IRType_beq(uint8_t x_1, uint8_t x_2) {
|
||||
_start:
|
||||
{
|
||||
|
|
@ -13360,28 +13188,6 @@ l_Lean_IR_MData_empty = _init_l_Lean_IR_MData_empty();
|
|||
lean_mark_persistent(l_Lean_IR_MData_empty);
|
||||
l_Lean_IR_MData_HasEmptyc = _init_l_Lean_IR_MData_HasEmptyc();
|
||||
lean_mark_persistent(l_Lean_IR_MData_HasEmptyc);
|
||||
l_Lean_IR_IRType_toString___closed__1 = _init_l_Lean_IR_IRType_toString___closed__1();
|
||||
lean_mark_persistent(l_Lean_IR_IRType_toString___closed__1);
|
||||
l_Lean_IR_IRType_toString___closed__2 = _init_l_Lean_IR_IRType_toString___closed__2();
|
||||
lean_mark_persistent(l_Lean_IR_IRType_toString___closed__2);
|
||||
l_Lean_IR_IRType_toString___closed__3 = _init_l_Lean_IR_IRType_toString___closed__3();
|
||||
lean_mark_persistent(l_Lean_IR_IRType_toString___closed__3);
|
||||
l_Lean_IR_IRType_toString___closed__4 = _init_l_Lean_IR_IRType_toString___closed__4();
|
||||
lean_mark_persistent(l_Lean_IR_IRType_toString___closed__4);
|
||||
l_Lean_IR_IRType_toString___closed__5 = _init_l_Lean_IR_IRType_toString___closed__5();
|
||||
lean_mark_persistent(l_Lean_IR_IRType_toString___closed__5);
|
||||
l_Lean_IR_IRType_toString___closed__6 = _init_l_Lean_IR_IRType_toString___closed__6();
|
||||
lean_mark_persistent(l_Lean_IR_IRType_toString___closed__6);
|
||||
l_Lean_IR_IRType_toString___closed__7 = _init_l_Lean_IR_IRType_toString___closed__7();
|
||||
lean_mark_persistent(l_Lean_IR_IRType_toString___closed__7);
|
||||
l_Lean_IR_IRType_toString___closed__8 = _init_l_Lean_IR_IRType_toString___closed__8();
|
||||
lean_mark_persistent(l_Lean_IR_IRType_toString___closed__8);
|
||||
l_Lean_IR_IRType_toString___closed__9 = _init_l_Lean_IR_IRType_toString___closed__9();
|
||||
lean_mark_persistent(l_Lean_IR_IRType_toString___closed__9);
|
||||
l_Lean_IR_IRType_HasToString___closed__1 = _init_l_Lean_IR_IRType_HasToString___closed__1();
|
||||
lean_mark_persistent(l_Lean_IR_IRType_HasToString___closed__1);
|
||||
l_Lean_IR_IRType_HasToString = _init_l_Lean_IR_IRType_HasToString();
|
||||
lean_mark_persistent(l_Lean_IR_IRType_HasToString);
|
||||
l_Lean_IR_IRType_HasBeq___closed__1 = _init_l_Lean_IR_IRType_HasBeq___closed__1();
|
||||
lean_mark_persistent(l_Lean_IR_IRType_HasBeq___closed__1);
|
||||
l_Lean_IR_IRType_HasBeq = _init_l_Lean_IR_IRType_HasBeq();
|
||||
|
|
|
|||
|
|
@ -117,6 +117,7 @@ lean_object* l_Lean_IR_litValHasFormat___closed__1;
|
|||
lean_object* l_Array_miterateAux___main___at_Lean_IR_formatParams___spec__2(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Array_miterateAux___main___at___private_init_lean_compiler_ir_format_2__formatArray___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_IR_formatFnBodyHead___closed__10;
|
||||
lean_object* l___private_init_lean_compiler_ir_format_6__formatIRType___closed__16;
|
||||
lean_object* l___private_init_lean_compiler_ir_format_5__formatExpr___closed__17;
|
||||
lean_object* l___private_init_lean_compiler_ir_format_5__formatExpr___closed__12;
|
||||
lean_object* lean_nat_add(lean_object*, lean_object*);
|
||||
|
|
@ -126,7 +127,6 @@ lean_object* l___private_init_lean_compiler_ir_format_6__formatIRType___closed__
|
|||
lean_object* l_Array_miterateAux___main___at___private_init_lean_compiler_ir_format_5__formatExpr___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
uint8_t lean_nat_dec_eq(lean_object*, lean_object*);
|
||||
lean_object* l___private_init_lean_compiler_ir_format_5__formatExpr___closed__28;
|
||||
extern lean_object* l_Lean_IR_IRType_toString___closed__1;
|
||||
lean_object* l_Lean_IR_formatFnBodyHead___closed__23;
|
||||
lean_object* l_Lean_IR_declHasToString___closed__1;
|
||||
lean_object* l_Lean_IR_formatFnBodyHead___closed__26;
|
||||
|
|
@ -153,6 +153,7 @@ lean_object* l_Lean_IR_ctorInfoHasFormat;
|
|||
extern lean_object* l_Lean_formatKVMap___closed__1;
|
||||
lean_object* l___private_init_lean_compiler_ir_format_1__formatArg___closed__1;
|
||||
lean_object* lean_format_group(lean_object*);
|
||||
lean_object* l___private_init_lean_compiler_ir_format_6__formatIRType___closed__15;
|
||||
lean_object* l___private_init_lean_compiler_ir_format_2__formatArray___at_Lean_IR_formatParams___spec__1___boxed(lean_object*);
|
||||
lean_object* l___private_init_lean_compiler_ir_format_5__formatExpr___closed__3;
|
||||
lean_object* l___private_init_lean_compiler_ir_format_5__formatExpr___closed__31;
|
||||
|
|
@ -195,7 +196,6 @@ lean_object* l_Lean_IR_formatFnBodyHead___closed__31;
|
|||
lean_object* l___private_init_lean_compiler_ir_format_5__formatExpr___closed__8;
|
||||
lean_object* l_Lean_IR_formatFnBody___main___closed__4;
|
||||
lean_object* l_Lean_IR_formatFnBodyHead___closed__17;
|
||||
extern lean_object* l_Lean_IR_IRType_toString___closed__6;
|
||||
lean_object* l_Lean_IR_formatFnBodyHead___closed__33;
|
||||
lean_object* l_Lean_IR_formatFnBodyHead___closed__28;
|
||||
lean_object* l_Lean_IR_formatFnBody___main(lean_object*, lean_object*);
|
||||
|
|
@ -1424,14 +1424,22 @@ return x_4;
|
|||
lean_object* _init_l___private_init_lean_compiler_ir_format_6__formatIRType___closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("float");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l___private_init_lean_compiler_ir_format_6__formatIRType___closed__2() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2;
|
||||
x_1 = l_Lean_IR_IRType_toString___closed__1;
|
||||
x_1 = l___private_init_lean_compiler_ir_format_6__formatIRType___closed__1;
|
||||
x_2 = lean_alloc_ctor(2, 1, 0);
|
||||
lean_ctor_set(x_2, 0, x_1);
|
||||
return x_2;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l___private_init_lean_compiler_ir_format_6__formatIRType___closed__2() {
|
||||
lean_object* _init_l___private_init_lean_compiler_ir_format_6__formatIRType___closed__3() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
|
|
@ -1439,17 +1447,17 @@ x_1 = lean_mk_string("u8");
|
|||
return x_1;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l___private_init_lean_compiler_ir_format_6__formatIRType___closed__3() {
|
||||
lean_object* _init_l___private_init_lean_compiler_ir_format_6__formatIRType___closed__4() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2;
|
||||
x_1 = l___private_init_lean_compiler_ir_format_6__formatIRType___closed__2;
|
||||
x_1 = l___private_init_lean_compiler_ir_format_6__formatIRType___closed__3;
|
||||
x_2 = lean_alloc_ctor(2, 1, 0);
|
||||
lean_ctor_set(x_2, 0, x_1);
|
||||
return x_2;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l___private_init_lean_compiler_ir_format_6__formatIRType___closed__4() {
|
||||
lean_object* _init_l___private_init_lean_compiler_ir_format_6__formatIRType___closed__5() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
|
|
@ -1457,17 +1465,17 @@ x_1 = lean_mk_string("u16");
|
|||
return x_1;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l___private_init_lean_compiler_ir_format_6__formatIRType___closed__5() {
|
||||
lean_object* _init_l___private_init_lean_compiler_ir_format_6__formatIRType___closed__6() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2;
|
||||
x_1 = l___private_init_lean_compiler_ir_format_6__formatIRType___closed__4;
|
||||
x_1 = l___private_init_lean_compiler_ir_format_6__formatIRType___closed__5;
|
||||
x_2 = lean_alloc_ctor(2, 1, 0);
|
||||
lean_ctor_set(x_2, 0, x_1);
|
||||
return x_2;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l___private_init_lean_compiler_ir_format_6__formatIRType___closed__6() {
|
||||
lean_object* _init_l___private_init_lean_compiler_ir_format_6__formatIRType___closed__7() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
|
|
@ -1475,17 +1483,17 @@ x_1 = lean_mk_string("u32");
|
|||
return x_1;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l___private_init_lean_compiler_ir_format_6__formatIRType___closed__7() {
|
||||
lean_object* _init_l___private_init_lean_compiler_ir_format_6__formatIRType___closed__8() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2;
|
||||
x_1 = l___private_init_lean_compiler_ir_format_6__formatIRType___closed__6;
|
||||
x_1 = l___private_init_lean_compiler_ir_format_6__formatIRType___closed__7;
|
||||
x_2 = lean_alloc_ctor(2, 1, 0);
|
||||
lean_ctor_set(x_2, 0, x_1);
|
||||
return x_2;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l___private_init_lean_compiler_ir_format_6__formatIRType___closed__8() {
|
||||
lean_object* _init_l___private_init_lean_compiler_ir_format_6__formatIRType___closed__9() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
|
|
@ -1493,21 +1501,11 @@ x_1 = lean_mk_string("u64");
|
|||
return x_1;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l___private_init_lean_compiler_ir_format_6__formatIRType___closed__9() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2;
|
||||
x_1 = l___private_init_lean_compiler_ir_format_6__formatIRType___closed__8;
|
||||
x_2 = lean_alloc_ctor(2, 1, 0);
|
||||
lean_ctor_set(x_2, 0, x_1);
|
||||
return x_2;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l___private_init_lean_compiler_ir_format_6__formatIRType___closed__10() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2;
|
||||
x_1 = l_Lean_IR_IRType_toString___closed__6;
|
||||
x_1 = l___private_init_lean_compiler_ir_format_6__formatIRType___closed__9;
|
||||
x_2 = lean_alloc_ctor(2, 1, 0);
|
||||
lean_ctor_set(x_2, 0, x_1);
|
||||
return x_2;
|
||||
|
|
@ -1517,7 +1515,7 @@ lean_object* _init_l___private_init_lean_compiler_ir_format_6__formatIRType___cl
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("obj");
|
||||
x_1 = lean_mk_string("usize");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
|
|
@ -1535,7 +1533,7 @@ lean_object* _init_l___private_init_lean_compiler_ir_format_6__formatIRType___cl
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("tobj");
|
||||
x_1 = lean_mk_string("obj");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
|
|
@ -1549,6 +1547,24 @@ lean_ctor_set(x_2, 0, x_1);
|
|||
return x_2;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l___private_init_lean_compiler_ir_format_6__formatIRType___closed__15() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("tobj");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
lean_object* _init_l___private_init_lean_compiler_ir_format_6__formatIRType___closed__16() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2;
|
||||
x_1 = l___private_init_lean_compiler_ir_format_6__formatIRType___closed__15;
|
||||
x_2 = lean_alloc_ctor(2, 1, 0);
|
||||
lean_ctor_set(x_2, 0, x_1);
|
||||
return x_2;
|
||||
}
|
||||
}
|
||||
lean_object* l___private_init_lean_compiler_ir_format_6__formatIRType(uint8_t x_1) {
|
||||
_start:
|
||||
{
|
||||
|
|
@ -1556,37 +1572,37 @@ switch (x_1) {
|
|||
case 0:
|
||||
{
|
||||
lean_object* x_2;
|
||||
x_2 = l___private_init_lean_compiler_ir_format_6__formatIRType___closed__1;
|
||||
x_2 = l___private_init_lean_compiler_ir_format_6__formatIRType___closed__2;
|
||||
return x_2;
|
||||
}
|
||||
case 1:
|
||||
{
|
||||
lean_object* x_3;
|
||||
x_3 = l___private_init_lean_compiler_ir_format_6__formatIRType___closed__3;
|
||||
x_3 = l___private_init_lean_compiler_ir_format_6__formatIRType___closed__4;
|
||||
return x_3;
|
||||
}
|
||||
case 2:
|
||||
{
|
||||
lean_object* x_4;
|
||||
x_4 = l___private_init_lean_compiler_ir_format_6__formatIRType___closed__5;
|
||||
x_4 = l___private_init_lean_compiler_ir_format_6__formatIRType___closed__6;
|
||||
return x_4;
|
||||
}
|
||||
case 3:
|
||||
{
|
||||
lean_object* x_5;
|
||||
x_5 = l___private_init_lean_compiler_ir_format_6__formatIRType___closed__7;
|
||||
x_5 = l___private_init_lean_compiler_ir_format_6__formatIRType___closed__8;
|
||||
return x_5;
|
||||
}
|
||||
case 4:
|
||||
{
|
||||
lean_object* x_6;
|
||||
x_6 = l___private_init_lean_compiler_ir_format_6__formatIRType___closed__9;
|
||||
x_6 = l___private_init_lean_compiler_ir_format_6__formatIRType___closed__10;
|
||||
return x_6;
|
||||
}
|
||||
case 5:
|
||||
{
|
||||
lean_object* x_7;
|
||||
x_7 = l___private_init_lean_compiler_ir_format_6__formatIRType___closed__10;
|
||||
x_7 = l___private_init_lean_compiler_ir_format_6__formatIRType___closed__12;
|
||||
return x_7;
|
||||
}
|
||||
case 6:
|
||||
|
|
@ -1598,13 +1614,13 @@ return x_8;
|
|||
case 7:
|
||||
{
|
||||
lean_object* x_9;
|
||||
x_9 = l___private_init_lean_compiler_ir_format_6__formatIRType___closed__12;
|
||||
x_9 = l___private_init_lean_compiler_ir_format_6__formatIRType___closed__14;
|
||||
return x_9;
|
||||
}
|
||||
default:
|
||||
{
|
||||
lean_object* x_10;
|
||||
x_10 = l___private_init_lean_compiler_ir_format_6__formatIRType___closed__14;
|
||||
x_10 = l___private_init_lean_compiler_ir_format_6__formatIRType___closed__16;
|
||||
return x_10;
|
||||
}
|
||||
}
|
||||
|
|
@ -4056,6 +4072,10 @@ l___private_init_lean_compiler_ir_format_6__formatIRType___closed__13 = _init_l_
|
|||
lean_mark_persistent(l___private_init_lean_compiler_ir_format_6__formatIRType___closed__13);
|
||||
l___private_init_lean_compiler_ir_format_6__formatIRType___closed__14 = _init_l___private_init_lean_compiler_ir_format_6__formatIRType___closed__14();
|
||||
lean_mark_persistent(l___private_init_lean_compiler_ir_format_6__formatIRType___closed__14);
|
||||
l___private_init_lean_compiler_ir_format_6__formatIRType___closed__15 = _init_l___private_init_lean_compiler_ir_format_6__formatIRType___closed__15();
|
||||
lean_mark_persistent(l___private_init_lean_compiler_ir_format_6__formatIRType___closed__15);
|
||||
l___private_init_lean_compiler_ir_format_6__formatIRType___closed__16 = _init_l___private_init_lean_compiler_ir_format_6__formatIRType___closed__16();
|
||||
lean_mark_persistent(l___private_init_lean_compiler_ir_format_6__formatIRType___closed__16);
|
||||
l_Lean_IR_typeHasFormat___closed__1 = _init_l_Lean_IR_typeHasFormat___closed__1();
|
||||
lean_mark_persistent(l_Lean_IR_typeHasFormat___closed__1);
|
||||
l_Lean_IR_typeHasFormat = _init_l_Lean_IR_typeHasFormat();
|
||||
|
|
|
|||
|
|
@ -6337,9 +6337,9 @@ lean_inc(x_5);
|
|||
x_6 = lean_ctor_get(x_1, 2);
|
||||
lean_inc(x_6);
|
||||
lean_dec(x_1);
|
||||
x_7 = l_RBNode_erase___at___private_init_lean_compiler_ir_livevars_8__bindVar___spec__1(x_4, x_3);
|
||||
x_7 = l_Lean_IR_LiveVars_collectFnBody___main(x_6, x_2, x_3);
|
||||
x_8 = l_RBNode_erase___at___private_init_lean_compiler_ir_livevars_8__bindVar___spec__1(x_4, x_7);
|
||||
lean_dec(x_4);
|
||||
x_8 = l_Lean_IR_LiveVars_collectFnBody___main(x_6, x_2, x_7);
|
||||
x_9 = l_Lean_IR_LiveVars_collectExpr(x_5, x_8);
|
||||
return x_9;
|
||||
}
|
||||
|
|
@ -6356,11 +6356,11 @@ x_13 = lean_ctor_get(x_1, 3);
|
|||
lean_inc(x_13);
|
||||
lean_dec(x_1);
|
||||
x_14 = lean_box(0);
|
||||
x_15 = lean_unsigned_to_nat(0u);
|
||||
x_16 = l_Array_miterateAux___main___at___private_init_lean_compiler_ir_livevars_9__bindParams___spec__1(x_11, x_11, x_15, x_14);
|
||||
lean_dec(x_11);
|
||||
lean_inc(x_2);
|
||||
x_17 = l_Lean_IR_LiveVars_collectFnBody___main(x_12, x_2, x_16);
|
||||
x_15 = l_Lean_IR_LiveVars_collectFnBody___main(x_12, x_2, x_14);
|
||||
x_16 = lean_unsigned_to_nat(0u);
|
||||
x_17 = l_Array_miterateAux___main___at___private_init_lean_compiler_ir_livevars_9__bindParams___spec__1(x_11, x_11, x_16, x_15);
|
||||
lean_dec(x_11);
|
||||
x_18 = l_RBNode_insert___at_Lean_IR_LiveVars_collectFnBody___main___spec__1(x_2, x_10, x_17);
|
||||
x_1 = x_13;
|
||||
x_2 = x_18;
|
||||
|
|
@ -6530,10 +6530,10 @@ _start:
|
|||
{
|
||||
lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9;
|
||||
x_5 = lean_box(0);
|
||||
x_6 = lean_unsigned_to_nat(0u);
|
||||
x_7 = l_Array_miterateAux___main___at___private_init_lean_compiler_ir_livevars_9__bindParams___spec__1(x_2, x_2, x_6, x_5);
|
||||
lean_inc(x_4);
|
||||
x_8 = l_Lean_IR_LiveVars_collectFnBody___main(x_3, x_4, x_7);
|
||||
x_6 = l_Lean_IR_LiveVars_collectFnBody___main(x_3, x_4, x_5);
|
||||
x_7 = lean_unsigned_to_nat(0u);
|
||||
x_8 = l_Array_miterateAux___main___at___private_init_lean_compiler_ir_livevars_9__bindParams___spec__1(x_2, x_2, x_7, x_6);
|
||||
x_9 = l_RBNode_insert___at_Lean_IR_LiveVars_collectFnBody___main___spec__1(x_4, x_1, x_8);
|
||||
return x_9;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue