Нужно ли полностью перестраивать LLVM после редактирования файла? - PullRequest
0 голосов
/ 17 июня 2019

Я настраиваю файлы LLVM и выполняю «make» в моем директоре сборки, чтобы перестроить LLVM с настроенными файлами, что занимает некоторое время, даже если мои изменения были довольно небольшими (я понимаю, что мой единственный файл повлияет на другие файлы) ). Должен ли я использовать 'cmake --build.' сгенерировать новый файл make в каталоге build или просто вызвать 'make'. И обычно ли перестройки занимают время?

Ответы [ 2 ]

2 голосов
/ 18 июня 2019

Я думаю, что большинство времени тратится на перекомпоновку двоичных файлов, которых LLVM имеет много (opt, llc и т. Д.).Один из способов ускорить сборку - включить LLVM_BUILD_LLVM_DYLIB и LLVM_LINK_LLVM_DYLIB, а другой - выдать make opt вместо make, если вы в основном работаете с opt.

. Эти параметрысистема сборки создаст одну гигантскую динамическую библиотеку (.so или .dll), содержащую все компоненты LLVM (LLVMSupport, LLVMCodegen и т. д.), и сделает инструменты связанными с ней.Связывание с динамической библиотекой происходит намного быстрее, потому что вам не нужно повторно связывать весь статический код для каждого исполняемого файла инструмента.

1 голос
/ 02 июля 2019

Также, если вы, например, просто измените цель бэкэнда, то этого достаточно, чтобы выдать make в tools / llc dir. Таким образом будет связан только необходимый инструмент, что ускорит процесс сборки.

...