我正在做 llvm 项目。最近,我尝试使用 clang 命令行将我的一个 .c 文件编译为 .s 文件,方法是使用下一个命令:
clang --target=arch -S -O0 select.c -o select.s
它在函数 ARCHInstrInfo::storeRegToStackSlot 的后端崩溃,并带有堆栈的回溯。但是,当我尝试分步执行时:
clang -O0 -emit-llvm select.c -c -o select.bc
llc -filetype=asm -march=arch ./select.bc -o ./select.s -print-after-all -debug-only isel
它成功了!(?)我怎样才能看到clang如何调用后端(llc)?我尝试使用 -v 标志运行 clang,但它没有打印出它是如何调用后端的……