我正在做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,但它没有打印出它是如何调用后端的……
发布于 2015-11-18 03:55:28
因此,第一个突出的是,llc默认是O2而不是O0,所以你可能想先看看那里。
https://stackoverflow.com/questions/33752699
复制相似问题