重置上传,新增了多个标准库,开始 TransPyV 自举实验

This commit is contained in:
2026-07-19 11:38:15 +08:00
parent 796222a300
commit 4e66207ba1
1041 changed files with 6597 additions and 27814 deletions

View File

@@ -97,36 +97,50 @@ def test_build_add(pool: memhub.MemPool | t.CPtr):
core: llvmlite.LLVMTypeCore | t.CPtr = llvmlite.LLVMTypeCore(pool)
mcore: llvmlite.LLVMModuleCore | t.CPtr = llvmlite.LLVMModuleCore(pool)
ty_i32: llvmlite.LLVMType | t.CPtr = core.Int32()
testcheck.info("DBG: step1 core/ty_i32 ok")
# 创建模块 + 函数
mod: llvmlite.Module | t.CPtr = mcore.NewModule("test_add")
testcheck.info("DBG: step2 NewModule ok")
func: llvmlite.Function | t.CPtr = mcore.CreateFunction(mod, "add", ty_i32)
testcheck.info("DBG: step3 CreateFunction ok")
# 添加参数
mcore.AddParam(func, ty_i32, "%a")
testcheck.info("DBG: step4 AddParam a ok")
mcore.AddParam(func, ty_i32, "%b")
testcheck.info("DBG: step5 AddParam b ok")
# 创建 entry 块
entry: llvmlite.BasicBlock | t.CPtr = mcore.CreateBlock(func, "entry")
testcheck.info("DBG: step6 CreateBlock ok")
# 创建 builder
builder: llvmlite.IRBuilder | t.CPtr = mcore.NewBuilder(func)
testcheck.info("DBG: step7 NewBuilder ok")
llvmlite.position_at_end(builder, entry)
testcheck.info("DBG: step8 position_at_end ok")
# 为参数创建 Value 包装
v_a: llvmlite.Value | t.CPtr = mcore.SSAValue(ty_i32, "%a")
testcheck.info("DBG: step9 SSAValue a ok")
v_b: llvmlite.Value | t.CPtr = mcore.SSAValue(ty_i32, "%b")
testcheck.info("DBG: step10 SSAValue b ok")
# %0 = add i32 %a, %b
v_c: llvmlite.Value | t.CPtr = llvmlite.build_add(builder, v_a, v_b)
testcheck.info("DBG: step11 build_add ok")
# ret i32 %0
llvmlite.build_ret(builder, v_c)
testcheck.info("DBG: step12 build_ret ok")
# 打印函数
buf: t.CChar | t.CPtr = pool.alloc(4096)
testcheck.info("DBG: step13 pool.alloc buf ok")
buf[0] = 0
mcore.PrintFunction(buf, 4096, func)
testcheck.info("DBG: step14 PrintFunction ok")
testcheck.info(buf)
# 验证关键内容