0

ソース ファイルに 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;
}

5 + 5 を 10 に変換する for ループを削除するなど、多くの最適化を適用できます。

を使用してASTをダンプするclang -O3 -Xclang -ast-dump -fsyntax-only a.cと、最適化フラグなしで同じASTが得られます。

私の目標は、フラグの最適化が渡された TranslationUnit を作成することです。

4

1 に答える 1

2

最適化によって別の AST が生成されない可能性はありますか? 各 llvm の最適化後に、探しているものが IR ダンプであるかどうかを確認します。

于 2018-03-15T13:31:19.477 に答える