В настоящее время я работаю над запуском нескольких проходов llvm и хотел бы проверить их полезность с помощью набора тестов процессора SPEC 2006. Однако я не понял, как изменить настройку SPEC, чтобы делать что-либо, кроме использования llvm-gcc для вывода битового кода llvm. Вот что я хотел бы изменить в рабочем процессе SPEC:
скомпилируйте файлы .o с помощью llvm в llvm-bytecode
llvm-gcc -emit-llvm *.c
Для каждого файла .o запустите opt (llvm ' s этап оптимизации):
opt -adce -mem2reg cfline.o
Ссылка на llvm-link:
llvm-link *.o -o out.o.linked
Превратить байт-код llvm в сборку
llc out.o.linked
И, наконец, превратить его в исполняемый код:
gcc out.o.linked -o out.executable
Можно ли это сделать? Я знаю, что могу редактировать файлы .cfg, чтобы испускать llvm, но тогда я не знаю, как выбрать другую процедуру связывания / предварительного связывания.
Спасибо!