禁用LLVM基本块上的所有优化

时间:2017-05-11 07:57:25

标签: optimization compilation clang llvm llvm-c++-api

  

禁用LLVM基本块上的所有优化

有没有办法在LLVM基本块上禁用所有优化和/或修改,以便在汇编/二进制级别为基本块生成的代码将完全对应于基本块中的指令。原始订单?

我知道optnone函数属性,它会在函数级别禁用优化。但是,在这里我想优化所有基本块,除了少数。

如何实现基本块禁用优化的目标?

1 个答案:

答案 0 :(得分:-3)

假设默认调用gcc。

gcc module.c -O0 -o module.o
gcc myprogram.c module.o -o myprogram

模块未经过优化。 Dash大写字母O是优化级别,0是无,2或3更常见。请注意其他注释,特别是跨模块优化。