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中,这个特别需要注意,具体的影响,还没来得及评估,待补充。

原文地址:https://www.cnblogs.com/jourluohua/p/9735881.html