В чем разница между «ModulePassManager», «FunctionPassManager» и «BasicBlockPassManagers» в LLVM? - PullRequest
0 голосов
/ 09 мая 2018

В чем разница между "ModulePassManager", "FunctionPassManager" и "BasicBlockPassManagers" в LLVM?

И «FunctionPassManager» можно использовать только для типа «функция» в LLVM-IR?

1 Ответ

0 голосов
/ 24 мая 2018

LLVM IR подразделяется на разные единицы. Различными единицами LLVM IR являются следующие

  • Модули
  • Функции
  • Основные блоки
  • Инструкции

Модуль состоит из функций, которые в свою очередь состоят из различных базовых блоков, которые содержат последовательность инструкций. Различные менеджеры пропусков работают на разных уровнях LLVM-IR. Например, разница между ними заключается в том, на каком уровне абстракции они работают.

Несколько полезных ссылок, обсуждающих этот вопрос более подробно.

проходит в LLVM

О диспетчере пропусков LLVM

...