Точка файла не генерируется для опции -view-isel-dags - PullRequest
0 голосов
/ 28 августа 2018

При попытке увидеть узлы SelectionDag, сгенерированные на этапе выбора инструкций с использованием LLVM (созданный из источников с включенным режимом отладки), я использую приведенную ниже команду, которая не создает файл Graphviz DOT.

llc -view-isel-dags sum.bc

Вместо этого он создает sum.s файл. Я что-то упускаю здесь?

sum.c

int sum(int x, int y) {
  return x+y;
}

sum.bc

$ clang -emit-llvm sum.c -c -o sum.bc

Информация LLVM

$ llc -help-hidden | grep 'view-isel' -view-isel-dags - Pop up a window to show isel dags as they are selected

$ llvm-config --build-mode
Debug

1 Ответ

0 голосов
/ 30 августа 2018

Думаю, проблема в быстром выборе команд, который включен по умолчанию.

$ llc -debug sum.ll

Пропуск пропуска 'X86 DAG-> Выбор инструкции DAG' на сумму функции

Изменение уровня оптимизации для суммы функций До: -O2; После: -O0

FastISel включен

Отключение fastIsel решило эту проблему.

$ llc -fast-isel=false -view-dag-combine1-dags sum.ll

...