llvm新手指南系列1之常用的调试命令 嘻嘻嘻嘻嘻嘻2019-07-13 15:34:51 回复 4 查看 经验交流 CNML
llvm新手指南系列1之常用的调试命令

(1) 生成.ll文件(bitcode文件),判断问题出现在clang前端还是llvm后端

clang -S hello.mlu -emit-llvm -o hello.ll

(2) 如果.ll文件生成错误,打印AST,查看问题出现在哪一步

clang -cc1 -ast-dump hello.mlu

(3) 如果.ll文件生成正确,生成.s文件(汇编文件),查看汇编指令是否生成正确

clang -S hello.mlu -o hello.s

(4) 如果生成的汇编指令有问题,打印所有pass的输出,查看在哪一步pass之后出现问题

clang -S hello.cu-mllvm -print-after-all

(5) 当遇到指令选择的问题时,在debug模式下,打印指令的选择过程

clang -S hello.cu -mllvm -debug-only=isel 
// dump log info
clang -S hello.cu -mllvm -debug-only=isel 2>&1 | tee isel.log

热门帖子

精华帖子

官方微博 官方微信
版权所有 © 2019 寒武纪 Cambricon 备案/许可证号:京ICP备17003415
关闭