Я пытаюсь сделать LLVM
встройте функцию из библиотеки.
У меня есть LLVM bitcode файлы (вручную сгенерированный), что я связался вместе с llvm-link
, и у меня также есть библиотека (записанный в C) скомпилированный в bitcode clang
и заархивированный с llvm-ar
. Мне удается соединить все и выполниться, но мне не может удаться добраться LLVM
встраивать функцию из библиотеки. Какая-либо подсказка о том, как это должно быть сделано?
После того, как вы свяжете файлы битового кода вместе с библиотекой, выполняете ли вы проход Internalize для связанного битового кода? Проход интернализации делает все функции (кроме main ()
) статическими и сообщает оптимизатору / генератору кода, что функции могут быть безопасно встроены без сохранения копии доступной для некоторой (несуществующей) внешней ссылки.
Я вручную связываю свои файлы битового кода и библиотеки битового кода вместе, используя код, заимствованный из llvm-ld
, и я выполняю этап интернализации, но я не уверен, что llvm-link
делает проход интернализации или нет.