Можно ли прочитать файл битового кода LLVM в llvm :: Module? - PullRequest
11 голосов
/ 30 августа 2010

Я пишу компилятор с LLVM.Каждый исходный файл компилируется в файл битового кода LLVM.В конечном итоге компоновщик связывает и оптимизирует все файлы битовых кодов в один конечный двоичный файл.

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

Существует ли какой-либо общедоступный способ считывания файла битового кода в llvm::Module?

1 Ответ

15 голосов
/ 30 августа 2010

Я просмотрел источник в инструменте llvm-dis и нашел нужную функцию:

Module *ParseBitcodeFile(MemoryBuffer *Buffer, LLVMContext& Context,
                         std::string *ErrMsg = 0);

из llvm/Bitcode/ReaderWriter.h.

...