Возможно ли прочитать файл бит-кода LLVM в llvm:: Module?
Я пишу компилятор с LLVM. Каждый исходный файл скомпилирован в файл битового кода LLVM. В конечном итоге компоновщик связывает и оптимизирует все файлы битового кода в один окончательный двоичный файл.
Мне нужен способ прочитать файлы биткода в компиляторе, чтобы получить доступ к информации о типе. В документации LLVM показан класс с именем BitcodeReader
, но он кажется внутренним для LLVM.
Есть ли общедоступный способ чтения файла с битами в llvm::Module
?
Ответы
Ответ 1
Я просмотрел источник с помощью инструмента llvm-dis
и нашел функцию, которую я искал:
Module *ParseBitcodeFile(MemoryBuffer *Buffer, LLVMContext& Context,
std::string *ErrMsg = 0);
из llvm/Bitcode/ReaderWriter.h
.