1)是否可以关闭clang中的任何优化?
2)有没有办法从生成的llvm代码中删除任何phi指令?
我使用clang选项: clang test.c -Wimplicit -emit-llvm -g -O0 -c -o result.bc
对于某些源文件,clang使用phi-instructions发出llvm代码。 我找到任何一个没有phi-instructions的llvm文件。
答案 0 :(得分:6)
您可以使用LLVM的reg2mem传递来删除任何phi。只需将.bc从clang中提取到opt -reg2mem就可以了。