如何按名称过滤LLVM测试?check-llvm-codegen-aarch64测试筛选方法
在LLVM Ninja构建环境中仅运行指定的AArch64 CodeGen测试
下面是几种快速只跑目标测试的实用方法,不用等全部3000+测试跑完:
直接调用lit工具指定测试文件
check-llvm-codegen-aarch64本质是调用LLVM的lit测试框架跑对应目录的用例,你可以跳过Ninja直接用lit指定单个/多个测试:
- 找到AArch64 CodeGen测试的目录(通常是LLVM源码下的
llvm/test/CodeGen/AArch64/) - 跑单个测试:
lit -v llvm/test/CodeGen/AArch64/your-failing-test.ll - 跑多个测试,直接列文件名:
lit -v llvm/test/CodeGen/AArch64/test1.ll llvm/test/CodeGen/AArch64/test2.ll - 用通配符匹配一组测试(比如某类前缀的用例):
lit -v llvm/test/CodeGen/AArch64/vector-*.ll
通过Ninja传递lit过滤参数
Ninja的check目标支持通过--把参数传递给底层的lit,用--filter就能匹配测试名称(测试名是路径+文件名,不带后缀):
- 单个测试:
ninja check-llvm-codegen-aarch64 -- --filter="CodeGen/AArch64/your-failing-test" - 多个测试,用正则分组匹配:
ninja check-llvm-codegen-aarch64 -- --filter="CodeGen/AArch64/(test1|test2)" - 如果你不确定测试的准确名称,可以先列出所有可用测试:
lit --show-tests llvm/test/CodeGen/AArch64/
按测试标签过滤(可选)
如果你的失败测试有共同的标签(比如依赖特定指令集),可以用标签筛选:
lit -v --filter="requires-aarch64-neon" llvm/test/CodeGen/AArch64/
注意:所有命令建议在LLVM的构建目录下运行,或者指定测试文件/目录的绝对路径;
-v参数用来显示详细输出,方便调试问题。
内容的提问来源于stack exchange,提问作者A. K.
相关产品推荐
相关产品推荐

