1234567asm volatile ( "asm template" : output_operands // ← 第一个冒号后 : input_operands // ← 第二个冒号后 : clobbers // ← 第三个冒号后);
example:
1234567891011121314151617181920212223#include <stdint.
...
2026.05.23
内联,重要性不必多说。
基本思路不是很难,
module层面构建call graph
根据call graph根据SCC(强连通分量
遍历SCC尝试内联(注意递归函数) 在同一个SCC里面就是一个递归链
决定内联时候:
clone被内联函数,用valuemap[old] = new记录映射情况。
被clone内容加入caller中
更新下ssa的def use chain。
主要是各种cost和gain的评估,各种启发式。
...
2026.05.23
步骤如下:
本地安装zola
运行zola init <your blog dir>, like zola init myblog
目录如下:
1234567myblog/├── config.toml # 配置文件├── content/ # 内容文件(Markdown)├── sass/ # Sass 样式文件(可选)├── static/ # 静态资源(图片
...
2026.05.23
wsl2 NCU 错误
Failed to initialize the profiler
1234==ERROR== An error was reported by the counter measurement library:==ERROR== Failed to initialize the profiler: LibraryNotLoaded. Check that a compatible driver library is loaded.==PROF== T
...
2026.05.23
打开win10相关功能。控制面板 -》 程序 -〉启用或关闭windwos功能-》windwos虚拟机健康
安装wsl
安装对应linux发行版。下载appx解压,解压x64,运行exe
...
2026.05.22
记录下这一年半编译器开发的经验。
编译通过,但是运行结果错误。
如何检查?
先减小问题规模,整出一个最小可复现用例
检查pipeline,parser结果,ir pass结果,isel结果,reg alloc,stack frame等。
verify的重要性,每个不同格式的中间表示转换处需要有verify,保证其流入和流出结果的合法性。
重复上述步骤,直到问题解决。
既然是pipeline模型,那么衔接需要处理好。需重点注意。
编译器挂掉了,没其他信息。一般是各种空
...
2026.05.20
参考:https://datawhalechina.github.io/thorough-pytorch/index.html
第一章介绍下ai,ml(垃圾邮件拦截),dl(猫狗识别)。现在则是llm。指标介绍:如何评估结果
比如对一个二分类来说。 实际 阳性 阴性预测:阳性 TP FP 阴性 FN TN
overall-accuracy = (TP+TN)/(TP+FP+FN+TN)average-
...
2026.05.15
项目管理必看。
没有银弹
乐观主义vs悲观主义。计划需求比计划生产更简单
流程图/文档/实现
文档能和实际同步就不错了。
...
2026.05.14
最近在看一个开源的agent项目。有一个问题当输入”find files with ABCD name”时候,agent开始进行web search。由此,我不太确定agent是如何理解输入意图的。
其实是把输入提示词发给llm,让llm决定使用不使用工具调用。然后agent执行工具调用,然后拼接结果再给llm发过去。
终端打印颜色注意背景残留,先恢复默认背景再换行解决printf("%-*s", width, text); /*用空格填充整行*/
...
2026.05.09
众所周知c/cpp的parser是上下文相关,边语义边语法。cpp11之前经典parser笑话A<A<int>> a.
123456template<typename T>struct Container {};int main() { Container<Container<int>> obj; // 错误!}
看下clang的输出clang++ test-
...
2026.05.09