使用clang和libclang生成优化的AST

时间:2018-03-15 10:37:13

标签: clang compiler-optimization libclang

我想将clang优化应用于源文件,然后生成其AST。 我尝试传递-O3标志,但它似乎被忽略了。

例如,我假设为此剪辑了程序:

#include <stdio.h>
int main(void) {
  int a = 5 + 5;
  for (int i = 0; i < 10; i++) { }
  printf("%i\n", a);
  return 0;
}

可以应用许多优化,例如删除for循环将5 + 5转换为10。

当我使用clang -O3 -Xclang -ast-dump -fsyntax-only a.c转储AST时,我得到了没有优化标志的相同AST。

我的目标是创建一个通过标志优化的TranslationUnit。

1 个答案:

答案 0 :(得分:1)

也许优化不会导致另一个AST?看看您要找的是IR dumps after each llvm optimization