Я знаю, что вы можете сделать вывод clang LLVM IR, используя опцию -emit-llvm
, однако это делает его единственным выходом.
Мне было интересно, есть ли какая-то комбинация опций компилятора, которая бы заставляла clang функционировать точно так же, как и раньше, но также создавала .ll
файлы как побочный продукт?
Проблема, с которой я сталкиваюсь сейчас, - это проект с очень сложной сборкой на основе cmake, для которой я могу изменить только параметры компиляции clang. Я хочу сгенерировать для него IR-файлы llvm, но, к сожалению, если я просто передам -emit-llvm
, CMake завершится неудачно, поскольку его тесты компилятора / проверки работоспособности не пройдут (поскольку вместо действительного исполняемого файла создается файл .ll).
Есть ли способ заставить clang генерировать файлы exe / object и .ll? Или как-то обойти эту проблему другими способами?