TermiNexus
|
785e825518
|
清理了 t.CVoid
|
2026-09-16 16:07:35 +08:00 |
|
TermiNexus
|
40f5bf46e3
|
perf(llvmlite): Function 追加 NameLen 字段并新增 function_get_name_len 访问器
在 Function 末尾追加 NameLen(创建时一次算好,恒等于 strlen(Name)),FUNC_SIZE 72 改为 80,既有字段偏移不变(复用原 4 字节对齐填充)。
new_function 统一初始化以覆盖全部创建路径;Name 全仓无二次赋值,故 NameLen 与 strlen(Name) 终生恒等。新增 function_get_name_len 并在 __init__ 导出,供跨模块绕过 stub 取长度,替代对函数名的反复 strlen 热点。
|
2026-09-14 08:26:17 +08:00 |
|
TermiNexus
|
c4fe8bd496
|
perf(llvmlite): 窥孔 alloca 判定加首字符短路并消除逐行 strlen
_peep_is_alloc_of 增加首字符预筛、两个调用点同步加守卫,避免逐行乘逐槽的 strncmp 与函数调用(该点实测约 439 万次 strncmp)。
_peep_replace_token 预扫改为以 NUL 为界单趟扫描,strlen(line_buf) 后移到命中之后,无命中调用不再求长(该点实测约 134 万次 strlen)。均保持逐输入等价。
|
2026-09-14 08:21:37 +08:00 |
|
TermiNexus
|
64194f8b78
|
perf(llvmlite): peephole 循环外提 strlen 并降低 strstr/strchr/strncmp 调用
_peep_last_ref_eq/_peep_replace_token 增加长度入参,由调用方(槽扫描外)预求 strlen(a_name/tok/repl),消除 766 万+182 万次重复求长;最后一个 % 改为单趟扫描(不再逐跳 strchr);strncmp 前先比首字符。
新增 _peep_is_alloc_of:以「先比名字再定位子串」等价替换按行 strcmp(_peep_alloc_name),把 strstr 从 O(槽数x行数) 降为仅命中行调用。语义逐输入等价。
|
2026-09-13 22:14:18 +08:00 |
|
TermiNexus
|
44e0e898d3
|
fix(llvmlite): _append_cstr 缓存一致性校验, 修复多模块轮流写同一 buf/池地址复用导致 FunctionPrint 追加落到 NUL 后(LLvmLiteTest Test5/9 模块函数丢失)
|
2026-09-09 21:10:06 +08:00 |
|
TermiNexus
|
f53c2216aa
|
'基线重置,修复了一些 bug,fix(llvmlite): build_alloca_at_entry 在已终止入口块后在 br 后追加 alloca 致非法 IR嵌套循环(如 LoopTest.test_nested_loop 内层 for)内联新建循环变量 alloca 时,入口块已以 br 终止,block_append_text 把 alloca 追加到终止指令之后,生成不可达指令,llc 报 "instruction expected to be numbered %N or greater"。改用 block_insert_text_before_terminator:未终止等同追加,已终止插到终止指令之前;编号乱序由 RenumberSSA 重排处理。'
|
2026-09-07 15:05:50 +08:00 |
|
TermiNexus
|
62bceb6930
|
debug(chain): Renumber block 野值打印扩展为邻域快照(Params/Blocks/容器指针)
[DBGCHAIN] block 野值时一并输出 func.Params(Head/Tail/Count)、Blocks 容器/Tail/Count、func 指针,便于定位写入源。用后移除。
|
2026-09-05 15:04:46 +08:00 |
|
TermiNexus
|
21b4246ea4
|
debug(chain): RenumberSSA 全链验证 + PrintModule param/Params 野值护栏扩展
[DBGCHAIN] 临时诊断追加:RenumberSSA 前校验 func.Blocks/Lines/line.Buf/Len 指针合理性;PrintModule 增加 Function.Params 与 param 指针护栏(含归属函数名打印)。用后移除。
|
2026-09-05 14:58:32 +08:00 |
|
TermiNexus
|
2992674783
|
feat(types): rowptr/REnum 迁移工作区快照 + GSList/PrintModule 临时 DBGCHAIN 护栏
把此前未提交的 rowptr 迁移整体入库(42 文件,含 ast/llvmlite/hashlib/json/zlib 等签名 rowptr 化)。临时诊断(用后移除):linkedlist.vp GSList[T].append 链完整性四检、__module.vp PrintModule Function.Params/param 指针野值护栏([DBGCHAIN] 前缀 + fflush + exit)。
|
2026-09-05 14:51:40 +08:00 |
|
TermiNexus
|
18642a9c23
|
debug(llvmlite): function_set_attrs 添加调用诊断,确认属性是否写入函数
|
2026-08-26 20:35:14 +08:00 |
|
TermiNexus
|
4ce6095359
|
修正
|
2026-08-22 09:25:46 +08:00 |
|
TermiNexus
|
5e768a9831
|
更新了库
|
2026-08-19 05:11:35 +08:00 |
|
TermiNexus
|
14ff9d109f
|
从 TransPyC 主项目中分离 VRTE
|
2026-08-17 11:01:35 +08:00 |
|