Как добавить бэкенд-проход X86 в LLVM без пересборки всевозможных разделяемых библиотек, включая clang?
Изучив некоторое время (IR
/opt
) "средний конец" LLVM, я решил перейти к бэкенду.
Здесь я создал очень простой MachineFunctionPass
в .../lib/Target/X86/
, который прекрасно компилируется.
Теперь, насколько я понимаю, я не могу просто загрузить бэкенд-проход LLVM, используя llc
, как это было возможно для opt
w.r.t. ИК-проходы. Вместо этого мне нужно создать новый проход в инфраструктуру LLVM, поэтому я запускаю команду cmake . --build
из моего каталога llvm/build
.
Это приводит к повторной сборке всех видов разделяемых библиотек, включая все виды clang
специфичных файлов .so.
Проблема в том, что это занимает более 30 минут, поэтому это не может быть правильным способом создания простого бэкенд-прохода. Как мне быстро настроить и встроить проход в LLVM, чтобы я мог использовать его с llc
?