×

签到

分享到微信

打开微信,使用扫一扫进入页面后,点击右上角菜单,

点击“发送给朋友”或“分享到朋友圈”完成分享

llvm新手指南系列1之常用的调试命令 嘻嘻嘻嘻嘻嘻2019-07-13 15:34:51 回复 7 查看 经验交流 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

版权所有 © 2022 寒武纪 Cambricon.com 备案/许可证号:京ICP备17003415号-1
关闭