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