Заставьте LLVM встроить функцию из библиотеки

Я пытаюсь сделать LLVM встройте функцию из библиотеки.

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

10
задан compor 14 December 2017 в 18:19
поделиться

1 ответ

После того, как вы свяжете файлы битового кода вместе с библиотекой, выполняете ли вы проход Internalize для связанного битового кода? Проход интернализации делает все функции (кроме main () ) статическими и сообщает оптимизатору / генератору кода, что функции могут быть безопасно встроены без сохранения копии доступной для некоторой (несуществующей) внешней ссылки.

Я вручную связываю свои файлы битового кода и библиотеки битового кода вместе, используя код, заимствованный из llvm-ld , и я выполняю этап интернализации, но я не уверен, что llvm-link делает проход интернализации или нет.

8
ответ дан 4 December 2019 в 02:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: