LLVM4.0与3.5编译phase对比
说是LLVM4.0和3.5的对比,其实是Clang的4和3.5的对比。在调试Clang编译源码的过程中,发现-S选项在4.0和3.5中的处理不一样,后来使用命令验证了这个事情
jourluohua@jour:~/work/cpp$ clang++ -ccc-print-phases 31.cpp
0: input, "31.cpp", c++
1: preprocessor, {0}, c++-cpp-output
2: compiler, {1}, ir
3: backend, {2}, assembler
4: assembler, {3}, object
5: linker, {4}, image
在处理-S选项的时候,4.0是将其专门作为一个backend步骤来处理,而3.5则直接合并到了compiler中,这个特别需要注意,具体的影响,还没来得及评估,待补充。