Как я могу добавить свой пропуск до X86 AT&T-Style Assembly Printer?

Как я могу добавить свой пропуск до X86 AT&T-Style Assembly Printer? Мне нужно изменить MachineFunction и сохранить изменения в ASM-файл. Проблема в том, что мой пропуск срабатывает в конце концов.

Пройдите отладку:

  • 0x202a430 Проход освобождения "Исправление зависимости выполнения" для функции "I nterlockedBitTestAndSet"... 0x202a430 Выполнение прохода "Принтер сборки в стиле X86 AT & T" для функции "I nterlockedBitTestAndSet'... 0x2094f80 Требуемые анализы: Неинициализированный проход, модуль модуля Информация о сборщике, Создать сборщик Метаданные

    -*- "Принтер сборки в стиле X86 AT & T" является последним пользователем следующих пропусков. Освободите эти экземпляры 0x202a430 Проход освобождения "Принтер сборки в стиле X86 AT & T" при включении функции "I nterlockedBitTestAndSet"... 0x202a430 Выполнение этапа "Удаление информации сборщика мусора" над функцией "I nterlockedBitTestAndSet'... 0x2095268 Обязательные анализы: создание модуля сборщика мусора Meta

    -*- "Удалить информацию сборщика мусора" является последним пользователем следующих экземпляров прохода. Освободите эти экземпляры 0x202a430 Проход освобождения "Удалить информацию сборщика мусора" для функции "I nterlockedBitTestAndSet"... 0x202a430 Выполнение прохода "Простой распределитель регистров" для функции "InterlockedBitTestAndSet'... 0x20955b8 Необходимые анализы: проход неинициализирован

полный источник: http://www1.datafilehost.com/d/7f544b4b

1 ответ

Взгляни на LLVMTargetMachine::addPassesToEmitFile который реализован в LLVMTargetMachine.cpp.

Это может быть разумным местом для добавления любого прохода, который вы хотите выполнить, до того, как будет вызван проход AsmPrinter.

Другие вопросы по тегам