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